[debian-edu-commits] debian-edu/pkg-team/ 04/32: Imported Upstream version 2.6.11

Mike Gabriel sunweaver at debian.org
Tue Apr 1 16:51:58 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 15d41342e8c2a58b3c12fe6c951ff52b6f2176bf
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Apr 1 15:14:00 2014 +0200

    Imported Upstream version 2.6.11
---
 gosa-core/AUTHORS                                  |    3 +
 gosa-core/Changelog                                |   10 +
 gosa-core/contrib/openldap/samba.schema            |  152 --
 gosa-core/debian/changelog                         |   27 +-
 gosa-core/debian/control                           |  537 +++-
 gosa-core/debian/copyright                         |  185 +-
 gosa-core/debian/gosa-desktop.install              |   10 +-
 gosa-core/debian/gosa-desktop.manpages             |    2 +-
 gosa-core/debian/gosa-dev.install                  |    6 +-
 gosa-core/debian/gosa-dev.manpages                 |    8 +-
 gosa-core/debian/gosa-help-de.install              |    2 +-
 gosa-core/debian/gosa-help-en.install              |    2 +-
 gosa-core/debian/gosa-help-es.install              |    2 +-
 gosa-core/debian/gosa-help-fr.install              |    2 +-
 gosa-core/debian/gosa-help-nl.install              |    2 +-
 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.install               |   21 +-
 gosa-core/debian/gosa.docs                         |    8 +-
 gosa-core/debian/gosa.install                      |   28 +-
 gosa-core/debian/gosa.lintian-overrides            |    8 +-
 gosa-core/debian/gosa.manpages                     |    6 +-
 gosa-core/debian/patches/00list                    |    5 -
 .../debian/patches/01_fix_smarty_location.dpatch   |   23 -
 .../debian/patches/01_fix_smarty_location.patch    |   17 +
 .../debian/patches/02_fix_template_location.dpatch |   20 -
 .../debian/patches/02_fix_template_location.patch  |   13 +
 ...s_mapping.dpatch => 03_fix_class_mapping.patch} |   30 +-
 ...ocation.dpatch => 04_fix_locale_location.patch} |   19 +-
 .../patches/04_fix_online_help_location.dpatch     |   31 -
 .../patches/05_fix_online_help_location.patch      |   24 +
 gosa-core/debian/patches/series                    |    5 +
 gosa-core/debian/rules                             |   83 +-
 gosa-core/debian/smarty-acl-render.install         |    4 +-
 gosa-core/debian/source/format                     |    1 +
 gosa-core/html/helpviewer.php                      |    4 +-
 gosa-core/html/index.php                           |   16 +-
 gosa-core/html/logout.php                          |    4 +-
 gosa-core/html/main.php                            |   58 +-
 gosa-core/ihtml/themes/default/framework.tpl       |   73 +-
 gosa-core/include/class_SnapshotHandler.inc        |    7 +-
 gosa-core/include/class_ldap.inc                   |   95 +-
 gosa-core/include/class_ldapMultiplexer.inc        |    2 +-
 gosa-core/include/class_management.inc             |   76 +-
 gosa-core/include/class_plugin.inc                 |  144 +-
 gosa-core/include/class_sortableListing.inc        |  169 +-
 gosa-core/include/functions.inc                    |  259 +-
 .../password-methods/class_password-methods.inc    |   35 +-
 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.t.php       |  126 +
 .../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.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.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/locale/core/de/LC_MESSAGES/messages.po   | 1824 ++++++-------
 gosa-core/locale/core/es/LC_MESSAGES/messages.po   | 1850 +++++++-------
 gosa-core/locale/core/fr/LC_MESSAGES/messages.po   | 1938 +++++++-------
 gosa-core/locale/core/it/LC_MESSAGES/messages.po   | 1863 +++++++-------
 gosa-core/locale/core/messages.po                  | 1791 ++++++-------
 gosa-core/locale/core/nl/LC_MESSAGES/messages.po   | 1862 +++++++-------
 gosa-core/locale/core/pl/LC_MESSAGES/messages.po   | 1852 +++++++-------
 gosa-core/locale/core/pt/LC_MESSAGES/messages.po   | 1835 ++++++-------
 gosa-core/locale/core/ru/LC_MESSAGES/messages.po   | 1865 +++++++-------
 gosa-core/locale/core/vi/LC_MESSAGES/messages.po   | 1849 +++++++-------
 gosa-core/locale/core/zh/LC_MESSAGES/messages.po   | 1853 +++++++-------
 gosa-core/plugins/admin/acl/acl-filter.tpl         |    2 +-
 .../plugins/admin/departments/class_department.inc |  168 +-
 gosa-core/plugins/admin/departments/dep-filter.tpl |    2 +-
 gosa-core/plugins/admin/groups/class_group.inc     |   45 +-
 gosa-core/plugins/admin/groups/group-filter.tpl    |    2 +-
 gosa-core/plugins/admin/groups/group-list.xml      |    2 +-
 .../groups/singleUserSelect/singleUser-filter.tpl  |    2 +-
 .../userGroupSelect/selectUserGroup-filter.tpl     |    2 +-
 .../admin/groups/userSelect/user-filter.tpl        |    2 +-
 .../ogroups/objectSelect/selectObject-filter.tpl   |    2 +-
 gosa-core/plugins/admin/ogroups/ogroup-filter.tpl  |    2 +-
 .../plugins/admin/users/class_userManagement.inc   |  221 +-
 gosa-core/plugins/admin/users/password.tpl         |  131 +-
 gosa-core/plugins/admin/users/user-filter.tpl      |    2 +-
 gosa-core/plugins/personal/generic/changed.tpl     |   12 +
 gosa-core/plugins/personal/generic/class_user.inc  |   13 +-
 gosa-core/plugins/personal/generic/main.inc        |  180 +-
 gosa-core/plugins/personal/generic/nochange.tpl    |    8 +
 gosa-core/plugins/personal/generic/password.tpl    |  110 +-
 .../plugins/personal/password/class_password.inc   |   82 +-
 gosa-core/plugins/personal/password/nochange.tpl   |    6 -
 gosa-core/plugins/personal/password/password.tpl   |  143 +-
 .../plugins/personal/posix/class_posixAccount.inc  |   23 +-
 .../personal/posix/groupSelect/group-filter.tpl    |    2 +-
 .../personal/posix/trustSelect/trust-filter.tpl    |    2 +-
 gosa-core/redhat/gosa.spec                         |   14 +-
 gosa-core/redhat/{gosa.spec => gosa_fedora.spec}   |  129 +-
 gosa-core/redhat/rpm-make-gosa                     |    9 +-
 gosa-core/setup/class_setupStep_Checks.inc         |   10 +-
 gosa-core/setup/class_setupStep_Feedback.inc       |    4 +-
 gosa-core/setup/setup_feedback.tpl                 |    8 +
 360 files changed, 31400 insertions(+), 11019 deletions(-)

diff --git a/gosa-core/AUTHORS b/gosa-core/AUTHORS
index 8d2ff59..e63cc85 100644
--- a/gosa-core/AUTHORS
+++ b/gosa-core/AUTHORS
@@ -82,3 +82,6 @@ documentation and additional help.
 
 * 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
diff --git a/gosa-core/Changelog b/gosa-core/Changelog
index d93297e..b536db7 100644
--- a/gosa-core/Changelog
+++ b/gosa-core/Changelog
@@ -1,6 +1,16 @@
 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
diff --git a/gosa-core/contrib/openldap/samba.schema b/gosa-core/contrib/openldap/samba.schema
deleted file mode 100644
index f71c344..0000000
--- a/gosa-core/contrib/openldap/samba.schema
+++ /dev/null
@@ -1,152 +0,0 @@
-##
-## schema file for OpenLDAP 2.0.x
-## Schema for storing Samba's smbpasswd file in LDAP
-## OIDs are owned by the Samba Team
-##
-## Prerequisite schemas - uid (cosine.schema)
-##                      - displayName (inetorgperson.schema)
-##
-## 1.3.6.1.4.1.7165.2.1.x - attributetypes
-## 1.3.6.1.4.1.7165.2.2.x - objectclasses
-##
-
-##
-## Password hashes
-##
-attributetype ( 1.3.6.1.4.1.7165.2.1.1 NAME 'lmPassword'
-	DESC 'LanManager Passwd'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.2 NAME 'ntPassword'
-	DESC 'NT Passwd'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )
-
-##
-## Account flags in string format ([UWDX     ])
-##
-attributetype ( 1.3.6.1.4.1.7165.2.1.4 NAME 'acctFlags'
-	DESC 'Account Flags'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )
-
-## 
-## Password timestamps & policies
-##
-attributetype ( 1.3.6.1.4.1.7165.2.1.3 NAME 'pwdLastSet'
-	DESC 'NT pwdLastSet'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.5 NAME 'logonTime'
-	DESC 'NT logonTime'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.6 NAME 'logoffTime'
-	DESC 'NT logoffTime'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.7 NAME 'kickoffTime'
-	DESC 'NT kickoffTime'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.8 NAME 'pwdCanChange'
-	DESC 'NT pwdCanChange'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.9 NAME 'pwdMustChange'
-	DESC 'NT pwdMustChange'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-##
-## string settings
-##
-attributetype ( 1.3.6.1.4.1.7165.2.1.10 NAME 'homeDrive'
-	DESC 'NT homeDrive'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.11 NAME 'scriptPath'
-	DESC 'NT scriptPath'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.12 NAME 'profilePath'
-	DESC 'NT profilePath'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.13 NAME 'userWorkstations'
-	DESC 'userWorkstations'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255} SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.17 NAME 'smbHome'
-	DESC 'smbHome'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.18 NAME 'domain'
-	DESC 'Windows NT domain to which the user belongs'
-	EQUALITY caseIgnoreIA5Match
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
-
-##
-## user and group RID
-##
-attributetype ( 1.3.6.1.4.1.7165.2.1.14 NAME 'rid'
-	DESC 'NT rid'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-attributetype ( 1.3.6.1.4.1.7165.2.1.15 NAME 'primaryGroupID'
-	DESC 'NT Group RID'
-	EQUALITY integerMatch
-	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-
-##
-## The smbPasswordEntry objectclass has been depreciated in favor of the
-## sambaAccount objectclass
-##
-#objectclass ( 1.3.6.1.4.1.7165.2.2.1 NAME 'smbPasswordEntry' SUP top AUXILIARY
-#        DESC 'Samba smbpasswd entry'
-#        MUST ( uid $ uidNumber )
-#        MAY  ( lmPassword $ ntPassword $ pwdLastSet $ acctFlags ))
-
-#objectclass ( 1.3.6.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
-#	DESC 'Samba Account'
-#	MUST ( uid $ rid ) 
-#	MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
-#               logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $ 
-#               displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
-#               description $ userWorkstations $ primaryGroupID $ domain ))
-
-## The X.500 data model (and therefore LDAPv3) says that each entry can 
-## only have one structural objectclass.  OpenLDAP 2.0 does not enforce 
-## this currently but will in v2.1
-
-objectclass ( 1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' SUP top AUXILIARY
-	DESC 'Samba Auxilary Account'
-	MUST ( uid $ rid ) 
-	MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
-               logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $ 
-               displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
-               description $ userWorkstations $ primaryGroupID $ domain ))
-
-##
-## Used for Winbind experimentation
-##
-#objectclass ( 1.3.6.1.4.1.7165.1.2.2.3 NAME 'uidPool' SUP top AUXILIARY
-#	DESC 'Pool for allocating UNIX uids'
-#	MUST ( uidNumber $ cn ) )
-
-#objectclass ( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' SUP top AUXILIARY
-#	DESC 'Pool for allocating UNIX gids'
-#	MUST ( gidNumber $ cn ) )
-
diff --git a/gosa-core/debian/changelog b/gosa-core/debian/changelog
index 814ecb9..fee0c85 100644
--- a/gosa-core/debian/changelog
+++ b/gosa-core/debian/changelog
@@ -1,8 +1,33 @@
+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
 
- -- Cajus Pollmeier <cajus at debian.org>  Wed, 05 May 2010 08:25:05 +0200
+  [ 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
 
diff --git a/gosa-core/debian/control b/gosa-core/debian/control
index 704bc92..e2465d1 100644
--- a/gosa-core/debian/control
+++ b/gosa-core/debian/control
@@ -3,9 +3,9 @@ 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 (>= 5), dpatch
+Build-Depends: debhelper (>= 7.0.50~)
 Build-Depends-Indep: po-debconf
-Standards-Version: 3.8.4
+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
@@ -13,34 +13,34 @@ DM-Upload-Allowed: yes
 
 Package: gosa
 Architecture: all
-Depends: php5, php5-cli, apache2-mpm-prefork | lighttpd , 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
+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
+ GOsa² is a combination of system-administrator and end-user web
  interface, designed to handle LDAP based setups.
 
 Package: gosa-dev
 Architecture: all
-Depends: gosa, php5-cli, latex2html, lyx, ${misc:Depends}
-Description: GOsa development utiles
+Depends: ${misc:Depends}, gosa, php5-cli, latex2html, lyx
+Description: GOsa² development utilities
  This package contains a couple of tools to generate online
- help, extract localisations and aid developing.
+ help, extract localizations and howto's for developing Gosa² plugins.
  .
- GOsa is a combination of system-administrator and end-user web
+ GOsa² is a combination of system-administrator and end-user web
  interface, designed to handle LDAP based setups.
 
 Package: gosa-desktop
 Architecture: all
-Depends: konqueror | iceweasel | mozilla | firefox, debconf, ${misc:Depends}
-Description: Desktop integration for GOsa
- This package includes a menu definition for your desktop
+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
+ GOsa² is a combination of system-administrator and end-user web
  interface, designed to handle LDAP based setups.
 
 Package: gosa-schema
@@ -48,56 +48,531 @@ Architecture: all
 Depends: ${misc:Depends}
 Recommends: slapd
 Description: LDAP schema for GOsa
- This package includes the LDAP schema needed by GOsa.
+ This package includes the basics LDAP schemas needed by GOsa².
  .
- GOsa is a combination of system-administrator and end-user web
+ 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: gosa, ${misc:Depends}
+Depends: ${misc:Depends}, gosa
 Description: English online help for GOsa
- This package includes the English online documentation for GOsa
+ This package includes the English online documentation for GOsa²
  .
- GOsa is a combination of system-administrator and end-user web
+ 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: gosa, ${misc:Depends}
-Description: German online help for GOsa
- This package includes the German online documentation for GOsa
+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
+ 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: gosa, ${misc:Depends}
-Description: French online help for GOsa
- This package includes the French online documentation for GOsa
+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
+ 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: gosa, ${misc:Depends}
+Depends: ${misc:Depends}, gosa
 Description: Dutch online help for GOsa
- This package includes the Dutch online documentation for GOsa
+ This package includes the Dutch online documentation for GOsa²
  .
- GOsa is a combination of system-administrator and end-user web
+ 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: smarty, ${misc:Depends}
+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.
+ module is mainly used by GOsa².
  .
- GOsa is a combination of system-administrator and end-user web
+ 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
index f96e65a..2a471b3 100644
--- a/gosa-core/debian/copyright
+++ b/gosa-core/debian/copyright
@@ -5,7 +5,20 @@ It was downloaded from http://www.gosa-project.org
 
 Copyright: 
 
-    Copyright (C) 2001-2010 Cajus Pollmeier <pollmeier at gonicus.de>
+	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:
 
@@ -23,9 +36,175 @@ 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, Cajus Pollmeier <cajus at debian.org> and
+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-desktop.install b/gosa-core/debian/gosa-desktop.install
index 0be5511..19a4f65 100644
--- a/gosa-core/debian/gosa-desktop.install
+++ b/gosa-core/debian/gosa-desktop.install
@@ -1,5 +1,5 @@
-contrib/desktoprc           /etc/gosa
-contrib/gosa                /usr/bin
-debian/gosa.xpm             /usr/share/pixmaps
-debian/gosa-16.xpm          /usr/share/pixmaps
-debian/gosa-desktop.desktop /usr/share/applications
+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
index dac6964..601e6cc 100644
--- a/gosa-core/debian/gosa-desktop.manpages
+++ b/gosa-core/debian/gosa-desktop.manpages
@@ -1 +1 @@
-contrib/gosa.1
+gosa-core/contrib/gosa.1
diff --git a/gosa-core/debian/gosa-dev.install b/gosa-core/debian/gosa-dev.install
index 1e2645c..47693d6 100644
--- a/gosa-core/debian/gosa-dev.install
+++ b/gosa-core/debian/gosa-dev.install
@@ -1,3 +1,3 @@
-update-locale       /usr/bin
-update-pdf-help     /usr/bin
-dh-make-gosa        /usr/bin
+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
index cf07bd0..9778cb8 100644
--- a/gosa-core/debian/gosa-dev.manpages
+++ b/gosa-core/debian/gosa-dev.manpages
@@ -1,5 +1,5 @@
-dh-make-gosa.1
-update-locale.1
-update-online-help.1
-update-pdf-help.1
+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.install b/gosa-core/debian/gosa-help-de.install
index fe29d06..191d9ba 100644
--- a/gosa-core/debian/gosa-help-de.install
+++ b/gosa-core/debian/gosa-help-de.install
@@ -1 +1 @@
-doc/core/de/html   /usr/share/gosa/doc/core/de
+gosa-core/doc/core/de/html   /usr/share/gosa/doc/core/de
diff --git a/gosa-core/debian/gosa-help-en.install b/gosa-core/debian/gosa-help-en.install
index 1a90312..187667d 100644
--- a/gosa-core/debian/gosa-help-en.install
+++ b/gosa-core/debian/gosa-help-en.install
@@ -1 +1 @@
-doc/core/en/html   /usr/share/gosa/doc/core/en
+gosa-core/doc/core/en/html   /usr/share/gosa/doc/core/en
diff --git a/gosa-core/debian/gosa-help-es.install b/gosa-core/debian/gosa-help-es.install
index ddc282d..c31ecd7 100644
--- a/gosa-core/debian/gosa-help-es.install
+++ b/gosa-core/debian/gosa-help-es.install
@@ -1 +1 @@
-doc/core/es/html   /usr/share/gosa/doc/core/es
+gosa-core/doc/core/es/html   /usr/share/gosa/doc/core/es
diff --git a/gosa-core/debian/gosa-help-fr.install b/gosa-core/debian/gosa-help-fr.install
index af2c9f6..2dbb852 100644
--- a/gosa-core/debian/gosa-help-fr.install
+++ b/gosa-core/debian/gosa-help-fr.install
@@ -1 +1 @@
-doc/core/fr/html   /usr/share/gosa/doc/core/fr
+gosa-core/doc/core/fr/html   /usr/share/gosa/doc/core/fr
diff --git a/gosa-core/debian/gosa-help-nl.install b/gosa-core/debian/gosa-help-nl.install
index 3614967..d551334 100644
--- a/gosa-core/debian/gosa-help-nl.install
+++ b/gosa-core/debian/gosa-help-nl.install
@@ -1 +1 @@
-doc/core/nl/html   /usr/share/gosa/doc/core/nl
+gosa-core/doc/core/nl/html   /usr/share/gosa/doc/core/nl
diff --git a/gosa-core/debian/gosa-plugin-addressbook.dirs b/gosa-core/debian/gosa-plugin-addressbook.dirs
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-addressbook.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-addressbook.install b/gosa-core/debian/gosa-plugin-addressbook.install
new file mode 100644
index 0000000..30b5dc7
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-addressbook.install
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-connectivity.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-connectivity.install b/gosa-core/debian/gosa-plugin-connectivity.install
new file mode 100644
index 0000000..a70bca5
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-connectivity.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dhcp-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dhcp-schema.install b/gosa-core/debian/gosa-plugin-dhcp-schema.install
new file mode 100644
index 0000000..ff80ca0
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dhcp-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dhcp.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-dhcp.install b/gosa-core/debian/gosa-plugin-dhcp.install
new file mode 100644
index 0000000..db6c188
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dhcp.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dns-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dns-schema.install b/gosa-core/debian/gosa-plugin-dns-schema.install
new file mode 100644
index 0000000..2a363e9
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dns-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dns.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-dns.install b/gosa-core/debian/gosa-plugin-dns.install
new file mode 100644
index 0000000..19756f9
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-dns.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-fai-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-fai-schema.install b/gosa-core/debian/gosa-plugin-fai-schema.install
new file mode 100644
index 0000000..25fd27c
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-fai-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-fai.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-fai.install b/gosa-core/debian/gosa-plugin-fai.install
new file mode 100644
index 0000000..d4d9dbd
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-fai.install
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-gofax.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-gofax.install b/gosa-core/debian/gosa-plugin-gofax.install
new file mode 100644
index 0000000..a3e9ce3
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-gofax.install
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-gofon.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-gofon.install b/gosa-core/debian/gosa-plugin-gofon.install
new file mode 100644
index 0000000..4ca6cdf
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-gofon.install
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-goto.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-goto.install b/gosa-core/debian/gosa-plugin-goto.install
new file mode 100644
index 0000000..9520136
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-goto.install
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-kolab-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-kolab-schema.install b/gosa-core/debian/gosa-plugin-kolab-schema.install
new file mode 100644
index 0000000..e341bd9
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-kolab-schema.install
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-kolab.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-kolab.install b/gosa-core/debian/gosa-plugin-kolab.install
new file mode 100644
index 0000000..9602b42
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-kolab.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ldapmanager.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-ldapmanager.install b/gosa-core/debian/gosa-plugin-ldapmanager.install
new file mode 100644
index 0000000..2b35637
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ldapmanager.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-log-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-log-schema.install b/gosa-core/debian/gosa-plugin-log-schema.install
new file mode 100644
index 0000000..7fd5e05
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-log-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-log.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-log.install b/gosa-core/debian/gosa-plugin-log.install
new file mode 100644
index 0000000..669ea0b
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-log.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mail.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-mail.install b/gosa-core/debian/gosa-plugin-mail.install
new file mode 100644
index 0000000..b95effc
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mail.install
@@ -0,0 +1,8 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mit-krb5-schema.dirs
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..0cca2ae
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mit-krb5-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mit-krb5.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-mit-krb5.install b/gosa-core/debian/gosa-plugin-mit-krb5.install
new file mode 100644
index 0000000..f327c13
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-mit-krb5.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-nagios-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-nagios-schema.install b/gosa-core/debian/gosa-plugin-nagios-schema.install
new file mode 100644
index 0000000..619a181
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-nagios-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-nagios.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-nagios.install b/gosa-core/debian/gosa-plugin-nagios.install
new file mode 100644
index 0000000..b369abb
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-nagios.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-netatalk.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-netatalk.install b/gosa-core/debian/gosa-plugin-netatalk.install
new file mode 100644
index 0000000..922bc2f
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-netatalk.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-opengroupware.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-opengroupware.install b/gosa-core/debian/gosa-plugin-opengroupware.install
new file mode 100644
index 0000000..60f007d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-opengroupware.install
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-openxchange-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-openxchange-schema.install b/gosa-core/debian/gosa-plugin-openxchange-schema.install
new file mode 100644
index 0000000..c69a5ef
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-openxchange-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-openxchange.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-openxchange.install b/gosa-core/debian/gosa-plugin-openxchange.install
new file mode 100644
index 0000000..6d2ddfd
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-openxchange.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-opsi.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-opsi.install b/gosa-core/debian/gosa-plugin-opsi.install
new file mode 100644
index 0000000..b911240
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-opsi.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..985e97d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-opsi.lintian-overrides
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpgw-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpgw-schema.install b/gosa-core/debian/gosa-plugin-phpgw-schema.install
new file mode 100644
index 0000000..873bc20
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpgw-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpgw.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpgw.install b/gosa-core/debian/gosa-plugin-phpgw.install
new file mode 100644
index 0000000..c3d2aab
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpgw.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpscheduleit-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install b/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install
new file mode 100644
index 0000000..c88793d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpscheduleit.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit.install b/gosa-core/debian/gosa-plugin-phpscheduleit.install
new file mode 100644
index 0000000..b2ab670
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-phpscheduleit.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pptp-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pptp-schema.install b/gosa-core/debian/gosa-plugin-pptp-schema.install
new file mode 100644
index 0000000..ce2c782
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pptp-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pptp.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-pptp.install b/gosa-core/debian/gosa-plugin-pptp.install
new file mode 100644
index 0000000..1f08f50
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pptp.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pureftpd-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pureftpd-schema.install b/gosa-core/debian/gosa-plugin-pureftpd-schema.install
new file mode 100644
index 0000000..0b95787
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pureftpd-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pureftpd.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-pureftpd.install b/gosa-core/debian/gosa-plugin-pureftpd.install
new file mode 100644
index 0000000..efbcec6
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-pureftpd.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-rolemanagement.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-rolemanagement.install b/gosa-core/debian/gosa-plugin-rolemanagement.install
new file mode 100644
index 0000000..1adefb0
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-rolemanagement.install
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-rsyslog.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-rsyslog.install b/gosa-core/debian/gosa-plugin-rsyslog.install
new file mode 100644
index 0000000..58c933d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-rsyslog.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-samba.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-samba.install b/gosa-core/debian/gosa-plugin-samba.install
new file mode 100644
index 0000000..7f0a6a4
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-samba.install
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-scalix.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-scalix.install b/gosa-core/debian/gosa-plugin-scalix.install
new file mode 100644
index 0000000..8353bea
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-scalix.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-squid.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-squid.install b/gosa-core/debian/gosa-plugin-squid.install
new file mode 100644
index 0000000..55df972
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-squid.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ssh-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-ssh-schema.install b/gosa-core/debian/gosa-plugin-ssh-schema.install
new file mode 100644
index 0000000..243e66b
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ssh-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ssh.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-ssh.install b/gosa-core/debian/gosa-plugin-ssh.install
new file mode 100644
index 0000000..0df0519
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-ssh.install
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 0000000..44eb13d
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-sudo-schema.dirs
@@ -0,0 +1 @@
+etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-sudo-schema.install b/gosa-core/debian/gosa-plugin-sudo-schema.install
new file mode 100644
index 0000000..a9ef92b
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-sudo-schema.install
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-sudo.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-sudo.install b/gosa-core/debian/gosa-plugin-sudo.install
new file mode 100644
index 0000000..02b1364
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-sudo.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-systems.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-systems.install b/gosa-core/debian/gosa-plugin-systems.install
new file mode 100644
index 0000000..ce431e2
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-systems.install
@@ -0,0 +1,5 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-uw-imap.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-uw-imap.install b/gosa-core/debian/gosa-plugin-uw-imap.install
new file mode 100644
index 0000000..7089413
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-uw-imap.install
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 0000000..4cb5557
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-webdav.dirs
@@ -0,0 +1 @@
+usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-webdav.install b/gosa-core/debian/gosa-plugin-webdav.install
new file mode 100644
index 0000000..56f8bfb
--- /dev/null
+++ b/gosa-core/debian/gosa-plugin-webdav.install
@@ -0,0 +1,3 @@
+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.install b/gosa-core/debian/gosa-schema.install
index 88a5e6d..3a3867f 100644
--- a/gosa-core/debian/gosa-schema.install
+++ b/gosa-core/debian/gosa-schema.install
@@ -1,11 +1,10 @@
-contrib/openldap/gosa-samba3.schema   /etc/ldap/schema/gosa
-contrib/openldap/rfc2307bis.schema    /etc/ldap/schema/gosa
-contrib/openldap/samba3.schema        /etc/ldap/schema/gosa
-contrib/openldap/samba.schema         /etc/ldap/schema/gosa
-contrib/openldap/trust.schema         /etc/ldap/schema/gosa
-contrib/openldap/gofax.schema         /etc/ldap/schema/gosa
-contrib/openldap/goto-mime.schema     /etc/ldap/schema/gosa
-contrib/openldap/gofon.schema         /etc/ldap/schema/gosa
-contrib/openldap/goserver.schema      /etc/ldap/schema/gosa
-contrib/openldap/goto.schema          /etc/ldap/schema/gosa
-contrib/openldap/gosystem.schema      /etc/ldap/schema/gosa
+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.docs b/gosa-core/debian/gosa.docs
index 3c12114..729b658 100644
--- a/gosa-core/debian/gosa.docs
+++ b/gosa-core/debian/gosa.docs
@@ -1,4 +1,4 @@
-FAQ
-AUTHORS
-README
-README.safemode
+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
index f3bc55e..8a3d752 100644
--- a/gosa-core/debian/gosa.install
+++ b/gosa-core/debian/gosa.install
@@ -1,14 +1,14 @@
-update-gosa			/usr/sbin
-bin/gosa-encrypt-passwords	/usr/sbin
-html				/usr/share/gosa
-ihtml				/usr/share/gosa
-include				/usr/share/gosa
-locale				/usr/share/gosa
-plugins				/usr/share/gosa
-setup				/usr/share/gosa
-debian/gosa-apache.conf		/etc/gosa
-debian/gosa-lighttpd.conf	/etc/gosa
-contrib/shells			/etc/gosa
-contrib/encodings		/etc/gosa
-contrib/openldap/slapd.conf	/usr/share/doc/gosa/slapd.conf-example
-contrib/gosa.conf		/usr/share/doc/gosa
+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
index 96d11e4..b74fc84 100644
--- a/gosa-core/debian/gosa.lintian-overrides
+++ b/gosa-core/debian/gosa.lintian-overrides
@@ -1,7 +1,7 @@
 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: package-contains-empty-directory usr/share/gosa/locale/core/en/LC_MESSAGES/
-gosa: package-contains-empty-directory usr/share/gosa/html/plugins/welcome/
-gosa: package-contains-empty-directory usr/share/gosa/bin/
-gosa: package-contains-empty-directory usr/share/gosa/html/plugins/references/
+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
index 742cd4c..bc837b9 100644
--- a/gosa-core/debian/gosa.manpages
+++ b/gosa-core/debian/gosa.manpages
@@ -1,4 +1,4 @@
-contrib/gosa.conf.5
-gosa-encrypt-passwords.1
-update-gosa.1
+gosa-core/contrib/gosa.conf.5
+gosa-core/gosa-encrypt-passwords.1
+gosa-core/update-gosa.1
 
diff --git a/gosa-core/debian/patches/00list b/gosa-core/debian/patches/00list
deleted file mode 100644
index d2a19ff..0000000
--- a/gosa-core/debian/patches/00list
+++ /dev/null
@@ -1,5 +0,0 @@
-01_fix_smarty_location
-02_fix_template_location
-03_fix_class_mapping
-04_fix_locale_location
-04_fix_online_help_location
diff --git a/gosa-core/debian/patches/01_fix_smarty_location.dpatch b/gosa-core/debian/patches/01_fix_smarty_location.dpatch
deleted file mode 100755
index 1e543c2..0000000
--- a/gosa-core/debian/patches/01_fix_smarty_location.dpatch
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_fix_smarty_location.dpatch by  <cajus at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adapt location for debian packaged smarty
-
- at DPATCH@
-diff -urNad gosa-core~/include/php_setup.inc gosa-core/include/php_setup.inc
---- gosa-core~/include/php_setup.inc	2008-12-12 13:31:08.000000000 +0100
-+++ gosa-core/include/php_setup.inc	2009-02-09 17:25:51.000000000 +0100
-@@ -277,7 +277,11 @@
- ini_set("include_path",".:$BASE_DIR/include:$BASE_DIR/include/utils/excel");
- 
- /* 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/01_fix_smarty_location.patch b/gosa-core/debian/patches/01_fix_smarty_location.patch
new file mode 100644
index 0000000..4596ba8
--- /dev/null
+++ b/gosa-core/debian/patches/01_fix_smarty_location.patch
@@ -0,0 +1,17 @@
+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.dpatch b/gosa-core/debian/patches/02_fix_template_location.dpatch
deleted file mode 100755
index 5a79730..0000000
--- a/gosa-core/debian/patches/02_fix_template_location.dpatch
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_fix_template_location.dpatch by  <cajus at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix location of configuration template.
-
- at DPATCH@
-diff -uNr gosa-core/include/functions.inc gosa-core/include/functions.new
---- gosa-core/include/functions.inc       2009-12-03 11:23:55.000000000 +0100
-+++ gosa-core/include/functions.new       2009-12-03 11:26:16.000000000 +0100
-@@ -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/02_fix_template_location.patch b/gosa-core/debian/patches/02_fix_template_location.patch
new file mode 100644
index 0000000..78ba89e
--- /dev/null
+++ b/gosa-core/debian/patches/02_fix_template_location.patch
@@ -0,0 +1,13 @@
+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.dpatch b/gosa-core/debian/patches/03_fix_class_mapping.patch
old mode 100755
new mode 100644
similarity index 59%
rename from gosa-core/debian/patches/03_fix_class_mapping.dpatch
rename to gosa-core/debian/patches/03_fix_class_mapping.patch
index d4ea5b6..e740606
--- a/gosa-core/debian/patches/03_fix_class_mapping.dpatch
+++ b/gosa-core/debian/patches/03_fix_class_mapping.patch
@@ -1,14 +1,8 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 03_fix_class_mapping.dpatch by  <cajus at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix location of auto-generated class mapping file
-
- at DPATCH@
-diff -urNad gosa-2.6.3~/include/class_config.inc gosa-2.6.3/include/class_config.inc
---- gosa-2.6.3~/include/class_config.inc	2008-12-18 15:13:44.000000000 +0100
-+++ gosa-2.6.3/include/class_config.inc	2009-01-15 14:08:54.000000000 +0100
-@@ -76,12 +76,12 @@
+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")){
@@ -22,12 +16,11 @@ diff -urNad gosa-2.6.3~/include/class_config.inc gosa-2.6.3/include/class_config
 +    $tmp = stat("/var/cache/gosa/class.cache");
      session::global_set("class_location.inc:timestamp",$tmp['mtime']);
  
- 
-diff -urNad gosa-2.6.3~/include/functions.inc gosa-2.6.3/include/functions.inc
---- gosa-2.6.3~/include/functions.inc	2009-01-15 14:07:35.000000000 +0100
-+++ gosa-2.6.3/include/functions.inc	2009-01-15 14:07:36.000000000 +0100
+     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: 13322 $';
+ $svn_revision = '$Revision: 19051 $';
  
  /* Include required files */
 -require_once("class_location.inc");
@@ -35,9 +28,8 @@ diff -urNad gosa-2.6.3~/include/functions.inc gosa-2.6.3/include/functions.inc
  require_once ("functions_debug.inc");
  require_once ("accept-to-gettext.inc");
  
-diff -urNad gosa-2.6.3~/update-gosa gosa-2.6.3/update-gosa
---- gosa-2.6.3~/update-gosa	2008-06-10 09:56:22.000000000 +0200
-+++ gosa-2.6.3/update-gosa	2009-01-15 14:07:36.000000000 +0100
+--- a/update-gosa
++++ b/gosa-core/update-gosa
 @@ -21,7 +21,7 @@
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
diff --git a/gosa-core/debian/patches/04_fix_locale_location.dpatch b/gosa-core/debian/patches/04_fix_locale_location.patch
old mode 100755
new mode 100644
similarity index 70%
rename from gosa-core/debian/patches/04_fix_locale_location.dpatch
rename to gosa-core/debian/patches/04_fix_locale_location.patch
index 6ed0165..2a27f18
--- a/gosa-core/debian/patches/04_fix_locale_location.dpatch
+++ b/gosa-core/debian/patches/04_fix_locale_location.patch
@@ -1,13 +1,7 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 04_fix_locale_location.dpatch by  <cajus at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixed location of auto-generated locales
-
- at DPATCH@
-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
+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
   */
@@ -17,9 +11,8 @@ 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
+--- a/update-gosa
++++ b/gosa-core/update-gosa
 @@ -169,20 +169,20 @@
  
  	/* For each language, merge the target .mo to the compiled directory. */
diff --git a/gosa-core/debian/patches/04_fix_online_help_location.dpatch b/gosa-core/debian/patches/04_fix_online_help_location.dpatch
deleted file mode 100755
index f4ec71b..0000000
--- a/gosa-core/debian/patches/04_fix_online_help_location.dpatch
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 04_fix_online_help_location.dpatch by  <cajus at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix location of auto-generated online help.
-
- at DPATCH@
-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')){
- 
-   /* 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();
-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 @@
- 
- 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/05_fix_online_help_location.patch b/gosa-core/debian/patches/05_fix_online_help_location.patch
new file mode 100644
index 0000000..ab29f95
--- /dev/null
+++ b/gosa-core/debian/patches/05_fix_online_help_location.patch
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 0000000..a6c4382
--- /dev/null
+++ b/gosa-core/debian/patches/series
@@ -0,0 +1,5 @@
+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/rules b/gosa-core/debian/rules
index cc4af94..5a9b10e 100755
--- a/gosa-core/debian/rules
+++ b/gosa-core/debian/rules
@@ -1,86 +1,9 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
-# debian/rules file to build GOsa packages.
-#
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+%:
+	dh $@
 
-# This has to be exported to make some magic below work.
-export DH_OPTIONS
-
-configure: configure-stamp
-configure-stamp:
-	dh_testdir
-	touch configure-stamp
-
-build: patch build-indep
-        #*************************************************
-        #* Building GOsa into a Debian/GNU Linux Package *
-        #*                please stand by                *
-        #*************************************************
-
-
-build-indep: build-indep-stamp
-build-indep-stamp: configure-stamp 
-	touch $@
-
-clean: clean-patched unpatch
-clean-patched:
-	dh_testdir
-	dh_testroot
-	rm -f build-indep-stamp configure-stamp
-
-	dh_clean
-
-unpatch:
-	dpatch deapply-all
-	rm -rf patch-stamp debian/patched
-
-install: install-indep
-install-indep:
-	dh_testdir
-	dh_testroot
-	dh_clean -k -i 
-	dh_installdirs -i
-	dh_install -i --exclude COPYING
-
-binary-common:
-	dh_testdir
-	dh_testroot
-	install -D -m 644 debian/gosa.lintian-overrides debian/gosa/usr/share/lintian/overrides/gosa
-	dh_installchangelogs Changelog
-	dh_installdocs
-	dh_installexamples
-	dh_installmenu
-	dh_installdebconf	
-	dh_installman
-	rm -rf debian/gosa/usr/share/gosa/include/smarty
-	dh_strip
-	dh_desktop
+override_dh_compress:
 	dh_compress
-	# This is an ugly workaround to preserve gosa.conf from beeing compressed. Excluding it
-	# above does not work, because the manual page will match the expression, too.
 	gzip -d debian/gosa/usr/share/doc/gosa/gosa.conf.gz
-	dh_fixperms
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-patch: patch-stamp
-patch-stamp:
-	dpatch apply-all
-	dpatch cat-all >patch-stamp
-
-binary-indep: build-indep install-indep
-	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
-
-binary: binary-indep
 
-binary-arch:
-.PHONY: build clean binary-indep binary install install-indep configure
diff --git a/gosa-core/debian/smarty-acl-render.install b/gosa-core/debian/smarty-acl-render.install
index 3132482..7a6650a 100644
--- a/gosa-core/debian/smarty-acl-render.install
+++ b/gosa-core/debian/smarty-acl-render.install
@@ -1,2 +1,2 @@
-include/smarty/plugins/block.render.php     /usr/share/php/smarty/libs/plugins
-include/smarty/plugins/function.msgPool.php /usr/share/php/smarty/libs/plugins
+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
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/gosa-core/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/gosa-core/html/helpviewer.php b/gosa-core/html/helpviewer.php
index af785b2..6d6fdd3 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 15296 2010-01-26 08:27:39Z cajus $$
+ * ID: $$Id: helpviewer.php 18954 2010-07-07 15:32: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
@@ -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("compile", "/var/spool/gosa/");
+$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", "/var/spool/gosa/");
 $smarty->assign("title", "GOsa - "._("Help browser"));
 
 /* HELP management starts here ...
diff --git a/gosa-core/html/index.php b/gosa-core/html/index.php
index fc65b2a..1b5603a 100644
--- a/gosa-core/html/index.php
+++ b/gosa-core/html/index.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  * 
- * ID: $$Id: index.php 15301 2010-01-26 09:40:08Z cajus $$
+ * ID: $$Id: index.php 18931 2010-07-05 14:32: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
@@ -365,20 +365,12 @@ if (($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) || $htacces
       if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
         $expired= ldap_expired_account($config, $ui->dn, $ui->username);
 
-        if ($expired == 1){
+        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") ;
-        } elseif ($expired == 3){
-          $plist= new pluglist($config, $ui);
-          foreach ($plist->dirlist as $key => $value){
-            if (preg_match("/\bpassword\b/i",$value)){
-              $plug=$key;
-              new log("security","login","",array(),"User \"$username\" password forced to change") ;
-              header ("Location: main.php?plug=$plug&reset=1");
-              exit;
-            }
-          }
+          displayLogin();
+          exit();
         }
       }
 
diff --git a/gosa-core/html/logout.php b/gosa-core/html/logout.php
index 693a5cb..c2c4f62 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 14369 2009-09-28 11:22:11Z cajus $$
+ * ID: $$Id: logout.php 18954 2010-07-07 15:32: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
@@ -65,7 +65,7 @@ textdomain($domain);
 /* Create smarty & Set template compile directory */
 $smarty= new smarty();
 if (isset($config)){
-	$smarty->compile_dir= $config->get_cfg_value("compile", '/var/spool/gosa/');
+	$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa/');
 } else {
 	$smarty->compile_dir= '/var/spool/gosa/';
 }
diff --git a/gosa-core/html/main.php b/gosa-core/html/main.php
index fdf40d1..4ab49a0 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 14431 2009-10-01 11:02:22Z cajus $$
+ * ID: $$Id: main.php 18935 2010-07-06 05:55: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
@@ -179,6 +179,46 @@ if (session::global_is_set('plugin_dir')){
 } else {
   $old_plugin_dir= "";
 }
+
+/* reload navigation if language changed*/  
+if($reload_navigation){
+  $plist->menu="";
+}
+$plist->gen_headlines();
+$plist->gen_menu();
+
+/* check if we are using account expiration */
+$smarty->assign("hideMenus", FALSE);
+if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
+    $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.
+
+        // Hide the GOsa menus to avoid leaving the enforced password change dialog.
+        $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;
+            }
+        }
+    }
+}
+
+
 if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){
   $plug= validate($_GET['plug']);
   $plugin_dir= $plist->get_path($plug);
@@ -295,12 +335,6 @@ $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'));
 
-/* reload navigation if language changed*/  
-if($reload_navigation){
-  $plist->menu="";
-}
-$plist->gen_headlines();
-$plist->gen_menu();
 $smarty->assign ("menu", $plist->menu);
 $smarty->assign ("plug", "$plug");
 
@@ -330,16 +364,6 @@ if ($_SERVER["REQUEST_METHOD"] == "POST"){
   }
 }
 
-/* check if we are using account expiration */
-if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
-  $expired= ldap_expired_account($config, $ui->dn, $ui->username);
-
-  if ($expired == 2){
-    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);
-  }
-}
-
 /* Load plugin */
 if (is_file("$plugin_dir/main.inc")){
   $display ="";
diff --git a/gosa-core/ihtml/themes/default/framework.tpl b/gosa-core/ihtml/themes/default/framework.tpl
index c02e265..163f81a 100644
--- a/gosa-core/ihtml/themes/default/framework.tpl
+++ b/gosa-core/ihtml/themes/default/framework.tpl
@@ -32,27 +32,52 @@
   <b>{t}GOsa main menu{/t}</b>
 </div>-->
 
-<table summary="" class="framework" cellspacing="0" cellpadding="0" style='margin-top:7px'>
-  <tr style="vertical-align:top;">
-    <!-- Menu -->
-    <td style="background-color:white; vertical-align:top;" id="menucell">
-      {$menu}
-	  <br />
-	  <div style="height:1px; width:140px;"></div>
-    </td>
-    <!-- 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>{$errors}{$focus}<input type="hidden" name="php_c_check" value="1"></form></body></html>
+{if !$hideMenus}
+
+    <table summary="" class="framework" cellspacing="0" cellpadding="0" style='margin-top:7px'>
+        <tr style="vertical-align:top;">
+
+            <!-- Menu -->
+            <td style="background-color:white; vertical-align:top;" id="menucell">
+                {$menu}
+                <br />
+                <div style="height:1px; width:140px;"></div>
+            </td>
+
+            <!-- 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>
+
+{else}
+
+    <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}
+
+{$errors}{$focus}<input type="hidden" name="php_c_check" value="1"></form></body></html>
diff --git a/gosa-core/include/class_SnapshotHandler.inc b/gosa-core/include/class_SnapshotHandler.inc
index e3221d1..4681487 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 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_SnapshotHandler.inc 19198 2010-07-29 07:51: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
@@ -296,8 +296,9 @@ class SnapshotHandler {
       $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
 
       /* Create object */
-#$data             = preg_replace('/^dn:.*\n/', '', $ldap->gen_ldif($dn,"(!(objectClass=gosaDepartment))"));
-      $data             = $ldap->gen_ldif($dn,"(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))");
+      $data             = $ldap->generateLdif(LDAP::fix($dn),
+              "(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))",array(),'base');
+
       $newName          = str_replace(".", "", $sec."-".$usec);
       $target= array();
       $target['objectClass']            = array("top", "gosaSnapshotObject");
diff --git a/gosa-core/include/class_ldap.inc b/gosa-core/include/class_ldap.inc
index db4a237..60e4fa3 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 16510 2010-03-15 08:45:03Z hickert $$
+ * ID: $$Id: class_ldap.inc 19194 2010-07-29 07:14:40Z 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
@@ -857,27 +857,29 @@ class LDAP{
   }
 
 
-  function gen_ldif ($srp, $dn, $filter= "(objectClass=*)", $attributes= array('*'), $recursive= TRUE)
+ /*! \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)
   {
-    $display= "";
-
-    if ($recursive){
-      $this->cd($dn);
-      $this->ls($srp, $filter,$dn, array('dn','objectClass'));
-      $deps = array();
-
-      $display .= $this->gen_one_entry($dn)."\n";
-
-      while ($attrs= $this->fetch($srp)){
-        $deps[] = $attrs['dn'];
-      }
-      foreach($deps as $dn){
-        $display .= $this->gen_ldif($srp, $dn, $filter,$attributes,$recursive);
-      }
-    } else {
-      $display.= $this->gen_one_entry($dn);
-    }
-    return ($display);
+      $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);
   }
 
 
@@ -902,58 +904,7 @@ class LDAP{
 
     return ($display);
   }
-
-
-  function gen_one_entry($dn, $filter= "(objectClass=*)" , $name= array("*"))
-  {
-    $ret = "";
-    $data = "";
-    if($this->reconnect){
-      $this->connect();
-    }
-
-    /* Searching Ldap Tree */
-    $sr= @ldap_read($this->cid, LDAP::fix($dn), $filter, $name);
-
-    /* Get the first entry */   
-    $entry= @ldap_first_entry($this->cid, $sr);
-
-    /* Get all attributes related to that Objekt */
-    $atts = array();
     
-    /* Assemble dn */
-    $atts[0]['name']  = "dn";
-    $atts[0]['value'] = array('count' => 1, 0 => $dn);
-
-    /* Reset index */
-    $i = 1 ; 
-  $identifier = array();
-    $attribute= @ldap_first_attribute($this->cid,$entry,$identifier);
-    while ($attribute) {
-      $i++;
-      $atts[$i]['name']  = $attribute;
-      $atts[$i]['value'] = @ldap_get_values_len($this->cid, $entry, "$attribute");
-
-      /* Next one */
-      $attribute= @ldap_next_attribute($this->cid,$entry,$identifier);
-    }
-
-    foreach($atts as $at)
-    {
-      for ($i= 0; $i<$at['value']['count']; $i++){
-
-        /* Check if we must encode the data */
-        if(!preg_match('/^[a-z0-9+@#.=, \/ -]+$/i', $at['value'][$i])) {
-          $ret .= $at['name'].":: ".base64_encode($at['value'][$i])."\n";
-        } else {
-          $ret .= $at['name'].": ".$at['value'][$i]."\n";
-        }
-      }
-    }
-
-    return($ret);
-  }
-
 
   function dn_exists($dn)
   {
diff --git a/gosa-core/include/class_ldapMultiplexer.inc b/gosa-core/include/class_ldapMultiplexer.inc
index f201cae..fbd6d91 100644
--- a/gosa-core/include/class_ldapMultiplexer.inc
+++ b/gosa-core/include/class_ldapMultiplexer.inc
@@ -39,7 +39,7 @@ class ldapMultiplexer {
  
   public function __call($methodName, $parameters) {
     /* Add resource pointer if the mentioned methods are used */
-    if (preg_match('/^(search|ls|cat|fetch|clearResult|resetResult|count|getDN|recursive_remove|rmdir_recursive|gen_xls|gen_ldif|create_missing_trees|import_single_entry|import_complete_ldif)$/', $methodName)){
+    if (preg_match('/^(search|ls|cat|fetch|clearResult|resetResult|count|getDN|recursive_remove|rmdir_recursive|gen_xls|create_missing_trees|import_single_entry|import_complete_ldif)$/', $methodName)){
       array_unshift($parameters, $this->sr);
     }
 
diff --git a/gosa-core/include/class_management.inc b/gosa-core/include/class_management.inc
index 30f482e..212cc27 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 15565 2010-02-02 07:01:48Z hickert $$
+ * ID: $$Id: class_management.inc 19178 2010-07-28 09:26:54Z 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
@@ -628,9 +628,10 @@ class management
     if(!empty($altTabType)) $tabType = $altTabType;
     if(!empty($altAclCategory)) $aclCategory = $altAclCategory;
 
+    $this->displayApplyBtn = count($target) == 1;
+
     // Single edit - we only got one object dn.
     if(count($target) == 1){
-      $this->displayApplyBtn = TRUE;
       $this->is_new = FALSE;
       $this->is_single_edit = TRUE;
       $this->is_multiple_edit = FALSE;
@@ -865,62 +866,43 @@ class management
     $this->filter = $str;
   }
 
-
   function postcreate() {
-    $this->_handlePostEvent('POSTCREATE');
+      $this->handle_post_events('add');
   }
   function postmodify(){
-    $this->_handlePostEvent('POSTMODIFY');
+      $this->handle_post_events('modify');
   }
   function postremove(){
-    $this->_handlePostEvent('POSTREMOVE');
+      $this->handle_post_events('remove');
   }
 
-  function _handlePostEvent($type)
+  function is_modal_dialog()
   {
-
-    /* Find postcreate entries for this class */
-    $command= $this->config->search(get_class($this), $type,array('menu', 'tabs'));
-    if ($command != ""){
-
-      /* Walk through attribute list */
-      foreach ($this->attributes as $attr){
-        if (!is_array($this->$attr)){
-          $add_attrs[$attr] = $this->$attr;
-        }
-      }
-      $add_attrs['dn']=$this->dn;
-
-      $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($type, get_class($this));
-        msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-      }
-    }
+      return(is_object($this->tabObject) || is_object($this->dialogObject));
   }
 
-  function is_modal_dialog()
+  /*! \brief    Forward command execution request
+   *             to the correct method.
+   */
+  function handle_post_events($mode, $addAttrs= array())
   {
-    return(is_object($this->tabObject) || is_object($this->dialogObject));
+      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;
+      }
   }
 }
 
diff --git a/gosa-core/include/class_plugin.inc b/gosa-core/include/class_plugin.inc
index fd75541..091662a 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 15705 2010-02-25 08:26:11Z hickert $$
+ * ID: $$Id: class_plugin.inc 19198 2010-07-29 07:51: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
@@ -304,15 +304,15 @@ 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. */
     /*
        $ldap->modify($this->attrs);
      */
+    if($this->initially_was_account){
+        $this->handle_pre_events('remove');
+    }
   }
 
 
@@ -394,6 +394,12 @@ class plugin
 
     /* Handle tagging */
     $this->tag_attrs($this->attrs);
+
+    if($this->is_new){
+        $this->handle_pre_events('add');
+    }else{
+        $this->handle_pre_events('modify');
+    }
   }
 
 
@@ -643,7 +649,10 @@ class plugin
           $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){
@@ -686,7 +695,10 @@ class plugin
           $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){
@@ -727,7 +739,10 @@ class plugin
           $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){
@@ -1138,24 +1153,132 @@ class plugin
   }
 
 
-  function handle_post_events($mode, $add_attrs= array())
+  /*! \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":
-        $this->postcreate($add_attrs);
+        plugin::callHook($this,"POSTCREATE", $addAttrs);
       break;
 
       case "modify":
-        $this->postmodify($add_attrs);
+        plugin::callHook($this,"POSTMODIFY", $addAttrs);
       break;
 
       case "remove":
-        $this->postremove($add_attrs);
+        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(){
   }
 
@@ -1334,8 +1457,9 @@ class plugin
       $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
 
       /* Create object */
-#$data             = preg_replace('/^dn:.*\n/', '', $ldap->gen_ldif($this->dn,"(!(objectClass=gosaDepartment))"));
-      $data             = $ldap->gen_ldif($this->dn,"(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))");
+      $data             = $ldap->generateLdif(LDAP::fix($dn),
+              "(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))",array(),'base');
+
       $newName          = str_replace(".", "", $sec."-".$usec);
       $target= array();
       $target['objectClass']            = array("top", "gosaSnapshotObject");
diff --git a/gosa-core/include/class_sortableListing.inc b/gosa-core/include/class_sortableListing.inc
index 6a82692..c7bd476 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 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_sortableListing.inc 19025 2010-07-20 10:13: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
@@ -60,9 +60,27 @@ class sortableListing {
     // 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
-    $tmp= gettimeofday();
-    $this->id= 'l'.md5($tmp['sec']);
+    $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']);
+    }
+
+    // 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;
@@ -71,6 +89,15 @@ class sortableListing {
     }
   }
 
+  public function setReorderable($bool)
+  {
+    $this->reorderable= $bool;
+  }
+   
+  public function setDefaultSortColumn($id)
+  {
+    $this->sortColumn = $id;
+  }
 
   public function setListData($data, $displayData= null)
   {
@@ -95,12 +122,13 @@ class sortableListing {
   private function setDisplayData($data)
   {
     if (!is_array($data)) {
-      die ("sortableList needs an array as 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'])) {
@@ -110,7 +138,9 @@ class sortableListing {
     $this->keys= array_keys($data);
 
     // Create initial mapping
-    $this->mapping= range(0, abs(count($this->keys)-1));
+    if(count($this->keys)){
+      $this->mapping= range(0, abs(count($this->keys)-1));
+    }
     $this->current_mapping= $this->mapping;
 
     // Find the number of coluns
@@ -124,7 +154,9 @@ class sortableListing {
 
     // Preset sort orders to 'down'
     for ($column= 0; $column<$this->columns; $column++) {
-      $this->sortDirection[]= true;
+        if(!isset($this->sortDirection[$column])){
+            $this->sortDirection[$column]= true;
+        }
     }
   }
 
@@ -185,31 +217,35 @@ class sortableListing {
 
   public function render()
   {
-    $result= "<div class='sortableListContainer' id='scroll_".$this->id."' style='min-width:".$this->width.";height: ".$this->height."'>\n";
-    $result.= "<table border='0' cellpadding='0' cellspacing='0' width='100%' height='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")."'>":"";
-    }
+      $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")."'>":"";
+      }
 
     // Do we need colspecs?
-    $action_width= ($this->editable?20:0) + ($this->deleteable?20:0);
+    $action_width= ($this->editable?30:0) + ($this->deleteable?30:0);
     if ($this->colspecs) {
       $result.= " <colgroup>\n";
       for ($i= 0; $i<$this->columns; $i++) {
-        $result.= "  <col style='width:".(isset($this->colspecs[$i])?$this->colspecs[$i]:"*")."'/>\n";
+        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.= "  <col style='width:".$action_width."px' >\n";
       }
       $result.= " </colgroup>\n";
     }
@@ -217,18 +253,19 @@ class sortableListing {
     // Do we need a header?
     if ($this->header) {
       $result.= " <thead>\n  <tr>\n";
-      $first= " style='border:0'";
+      $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'>";
+            $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>";
         } else {
-          $result.= "   <th$first><a $link>".(isset($this->header[$i])?$this->header[$i]:"")."$sorter</a></th>";
+          $result.= "   <th$first><a $link>".(isset($this->header[$i])?$this->header[$i]:"")."</a>$sorter</th>";
         }
         $first= "";
       }
@@ -243,7 +280,7 @@ class sortableListing {
     $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()'":"";
+        $editable= $this->editable?" onClick='$(\"edit_".$this->id."_$nr\").click()'":"";
 
         $id= "";
         if (isset($this->modes[$row])) {
@@ -262,8 +299,14 @@ class sortableListing {
         $first= " style='border:0'";
 
         foreach ($this->displayData[$row] as $column) {
-          $result.= "   <td$editable$first>".$column."</td>\n";
-          $first= "";
+
+            // 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) {
@@ -284,7 +327,7 @@ class sortableListing {
     $result.= "</tr>\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='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";
 
@@ -310,26 +353,27 @@ class sortableListing {
 
   public function update()
   {
-    // 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;
-    }
 
     // Filter GET with "act" attributes
-    if (!$this->reorderable && 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];
-        }
+    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)) {
+
+          // 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();
     }
   }
 
@@ -337,7 +381,7 @@ class sortableListing {
   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) {
+    if(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->id) {
       return;
     }
 
@@ -365,9 +409,10 @@ class sortableListing {
     }
 
     // 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)) {
+        if (preg_match('/^del_'.$this->id.'_([0-9]+)_x$/', $key, $matches)) {
           $this->active_index= $this->mapping[$matches[1]];
 
           // Ignore request if mode requests it
@@ -390,7 +435,7 @@ class sortableListing {
     // Edit requested?
     if (strpos($this->acl, 'w') !== false){
       foreach ($_POST as $key => $value) {
-        if (preg_match('/^edit_'.$this->id.'_([0-9]+)_x.*$/', $key, $matches)) {
+        if (preg_match('/^edit_'.$this->id.'_([0-9]+)_x$/', $key, $matches)) {
           $this->active_index= $this->mapping[$matches[1]];
 
           // Ignore request if mode requests it
@@ -440,11 +485,10 @@ class sortableListing {
   public function getMaintainedData()
   {
     $tmp= array();
-
     foreach ($this->mapping as $src => $dst) {
-      $tmp[$this->keys[$dst]]= $this->data[$dst];
+      $realKey  = $this->keys[$dst];
+      $tmp[$realKey] = $this->data[$realKey];
     }
-
     return $tmp;
   }
 
@@ -463,6 +507,8 @@ class sortableListing {
 
   public function sortData()
   {
+    if(!count($this->data)) return;
+
     // Extract data
     $tmp= array();
     foreach($this->displayData as $item) {
@@ -518,6 +564,23 @@ class sortableListing {
     $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;
+    }
+
+    // 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();
   }
@@ -527,4 +590,8 @@ class sortableListing {
     return isset($this->keys[$index])?$this->keys[$index]:null;
   }
 
+  public function getData($index) {
+    $realkey = $this->keys[$index];
+    return($this->data[$realkey]);
+  }
 }
diff --git a/gosa-core/include/functions.inc b/gosa-core/include/functions.inc
index 913d2c8..82a01e1 100644
--- a/gosa-core/include/functions.inc
+++ b/gosa-core/include/functions.inc
@@ -69,8 +69,8 @@ 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.10/gosa-core/include/functions.inc $';
-$svn_revision = '$Revision: 17589 $';
+$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");
@@ -90,6 +90,13 @@ 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 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); 
+
 /* Rewrite german 'umlauts' and spanish 'accents'
    to get better results */
 $REWRITE= array( "ä" => "ae",
@@ -645,108 +652,126 @@ function ldap_login_user ($username, $password)
 }
 
 
-/*! \brief Test if account is about to expire
+/*! \brief      Checks the posixAccount status by comparing the shadow attributes.
  *
- * \param string 'userdn' the DN of the user
- * \param string 'username' the username
- * \return int Can be one of the following values:
- *  - 1 the account is locked
- *  - 2 warn the user that the password is about to expire and he should change
- *  his password
- *  - 3 force the user to change his password
- *  - 4 user should not be able to change his password
- * */
-function ldap_expired_account($config, $userdn, $username)
+ * @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 
+ *                  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       
+ *      |
+ *      |---- shadowMin --->    |       <-- shadowMax --
+ *      |                       |       |
+ *      |------- 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);
+
     $ldap= $config->get_ldap_link();
+    $ldap->cd($config->current['BASE']);
     $ldap->cat($userdn);
     $attrs= $ldap->fetch();
-    
-    /* default value no errors */
-    $expired = 0;
-    
-    $sExpire = 0;
-    $sLastChange = 0;
-    $sMax = 0;
-    $sMin = 0;
-    $sInactive = 0;
-    $sWarning = 0;
-    
-    $current= date("U");
-    
-    $current= floor($current /60 /60 /24);
-    
-    /* special case of the admin, should never been locked */
-    /* FIXME should allow any name as user admin */
-    if($username != "admin")
-    {
+    $current= floor(date("U") /60 /60 /24);
 
-      if(isset($attrs['shadowExpire'][0])){
-        $sExpire= $attrs['shadowExpire'][0];
-      } else {
-        $sExpire = 0;
-      }
-      
-      if(isset($attrs['shadowLastChange'][0])){
-        $sLastChange= $attrs['shadowLastChange'][0];
-      } else {
-        $sLastChange = 0;
-      }
-      
-      if(isset($attrs['shadowMax'][0])){
-        $sMax= $attrs['shadowMax'][0];
-      } else {
-        $smax = 0;
-      }
+    // Fetch required attributes 
+    foreach(array('shadowExpire','shadowLastChange','shadowMax','shadowMin',
+                'shadowInactive','shadowWarning') as $attr){
+        $$attr = (isset($attrs[$attr][0]))? $attrs[$attr][0] : null;
+    }
 
-      if(isset($attrs['shadowMin'][0])){
-        $sMin= $attrs['shadowMin'][0];
-      } else {
-        $sMin = 0;
-      }
-      
-      if(isset($attrs['shadowInactive'][0])){
-        $sInactive= $attrs['shadowInactive'][0];
-      } else {
-        $sInactive = 0;
-      }
-      
-      if(isset($attrs['shadowWarning'][0])){
-        $sWarning= $attrs['shadowWarning'][0];
-      } else {
-        $sWarning = 0;
-      }
-      
-      /* is the account locked */
-      /* shadowExpire + shadowInactive (option) */
-      if($sExpire >0){
-        if($current >= ($sExpire+$sInactive)){
-          return(1);
+
+    // 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 
+    //  the account expiration by the amount of days specified in (shadowInactive).
+    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. 
+            return(POSIX_ACCOUNT_EXPIRED);
         }
-      }
-    
-      /* the user should be warned to change is password */
-      if((($sExpire >0) && ($sWarning >0)) && ($sExpire >= $current)){
-        if (($sExpire - $current) < $sWarning){
-          return(2);
+    }
+
+    // The users password is going to expire.
+    // --------------------------------------
+    // 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 
+    //  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. 
+        if($shadowExpire >= $current){
+
+            // 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);
+            }
         }
-      }
-      
-      /* force user to change password */
-      if(($sLastChange >0) && ($sMax) >0){
-        if($current >= ($sLastChange+$sMax)){
-          return(3);
+    }
+
+    // -- 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){
+                return(POSIX_WARN_ABOUT_EXPIRATION);
         }
-      }
-      
-      /* the user should not be able to change is password */
-      if(($sLastChange >0) && ($sMin >0)){
-        if (($sLastChange + $sMin) >= $current){
-          return(4);
+    }
+
+
+
+    // Check if we've to force the user to change his password.
+    // --------------------------------------------------------
+    // 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 
+    //  current timestamp.
+    if($shadowLastChange != null && $shadowMax != null){
+
+        // Check if we've an outdated password.
+        if($current >= ($shadowLastChange + $shadowMax)){
+            return(POSIX_FORCE_PASSWORD_CHANGE);
         }
-      }
     }
-   return($expired);
+
+
+    // Check if we've to freeze the users password. 
+    // --------------------------------------------
+    // 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){
+
+        // Check if we've an outdated password.
+        if(($shadowLastChange + $shadowMin) >= $current){
+            return(POSIX_DISALLOW_PASSWORD_CHANGE);
+        }
+    }    
+
+    return(0);
 }
 
 
@@ -2263,18 +2288,37 @@ function validate($string)
 /*! \brief Evaluate the current GOsa version from the build in revision string */
 function get_gosa_version()
 {
-  global $svn_revision, $svn_path;
+    global $svn_revision, $svn_path;
 
-  /* Extract informations */
-  $revision= preg_replace('/^[^0-9]*([0-9]+)[^0-9]*$/', '\1', $svn_revision);
+    /* Extract informations */
+    $revision= preg_replace('/^[^0-9]*([0-9]+)[^0-9]*$/', '\1', $svn_revision);
+
+    // Extract the relevant part out of the svn url
+    $release= preg_replace('%^.*/gosa/(.*)/include/functions.inc.*$%', '\1', $svn_path);
+
+    // Remove stuff which is not interesting
+    if(preg_match("/gosa-core/i", $release)) $release = preg_replace("/[\/]gosa-core/i","",$release);
+
+    // A Tagged Version
+    if(preg_match("#/tags/#i", $svn_path)){
+        $release = preg_replace("/tags[\/]*/i","",$release);
+        $release = preg_replace("/\//","",$release) ;
+        return (sprintf(_("GOsa %s"),$release));
+    }
+
+    // A Branched 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));
+    }
+
+    // The trunk version
+    if(preg_match("#/trunk/#i", $svn_path)){
+        return (sprintf(_("GOsa development snapshot (Rev %s)"), $revision));
+    }
 
-  /* Release or development? */
-  if (preg_match('%/gosa/trunk/%', $svn_path)){
-    return (sprintf(_("GOsa development snapshot (Rev %s)"), $revision));
-  } else {
-    $release= preg_replace('%^.*/([^/]+)/include/functions.inc.*$%', '\1', $svn_path);
     return (sprintf(_("GOsa $release"), $revision));
-  }
 }
 
 
@@ -2978,12 +3022,15 @@ function change_password ($dn, $password, $mode=0, $hash= "")
 
     // Not for groups
     if ($mode == 0){
-      // Create SMB Password
-      $attrs= generate_smb_nt_hash($password);
 
-      if ($shadow != 0){
-        $attrs['shadowLastChange']= $shadow;
-      }
+        // Create SMB Password
+        if ($config->get_cfg_value('sambaHashHook', NULL)) { 
+            $attrs= generate_smb_nt_hash($password);
+
+            if ($shadow != 0){
+                $attrs['shadowLastChange']= $shadow;
+            }
+        }
     }
 
     $attrs['userPassword']= array();
diff --git a/gosa-core/include/password-methods/class_password-methods.inc b/gosa-core/include/password-methods/class_password-methods.inc
index 30bfe66..d4c551f 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 17590 2010-04-12 12:22:01Z hickert $$
+ * ID: $$Id: class_password-methods.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
@@ -290,6 +290,39 @@ class passwordMethod
   {
     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('');
+  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/smarty/Smarty.class.php b/gosa-core/include/smarty/Smarty.class.php
new file mode 100644
index 0000000..6f28857
--- /dev/null
+++ b/gosa-core/include/smarty/Smarty.class.php
@@ -0,0 +1,545 @@
+<?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
new file mode 100644
index 0000000..9fd46b1
--- /dev/null
+++ b/gosa-core/include/smarty/debug.tpl
@@ -0,0 +1,136 @@
+{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
new file mode 100644
index 0000000..d1de740
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/block.php.php
@@ -0,0 +1,27 @@
+<?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.t.php b/gosa-core/include/smarty/plugins/block.t.php
new file mode 100644
index 0000000..ca7382a
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/block.t.php
@@ -0,0 +1,126 @@
+<?php
+/**
+ * block.t.php - Smarty gettext block plugin
+ *
+ * ------------------------------------------------------------------------- *
+ * 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 *
+ * ------------------------------------------------------------------------- *
+ *
+ * Installation: simply copy this file to the smarty plugins directory.
+ *
+ * @package	smarty-gettext
+ * @version	$Id: block.t.php,v 1.1 2005/07/27 17:58:56 sagi Exp $
+ * @link	http://smarty-gettext.sourceforge.net/
+ * @author	Sagi Bashari <sagi at boom.org.il>
+ * @copyright 2004-2005 Sagi Bashari
+ */
+ 
+/**
+ * Replaces arguments in a string with their values.
+ * Arguments are represented by % followed by their number.
+ *
+ * @param	string	Source string
+ * @param	mixed	Arguments, can be passed in an array or through single variables.
+ * @returns	string	Modified string
+ */
+function smarty_gettext_strarg($str)
+{
+	$tr = array();
+	$p = 0;
+
+	for ($i=1; $i < func_num_args(); $i++) {
+		$arg = func_get_arg($i);
+		
+		if (is_array($arg)) {
+			foreach ($arg as $aarg) {
+				$tr['%'.++$p] = $aarg;
+			}
+		} else {
+			$tr['%'.++$p] = $arg;
+		}
+	}
+	
+	return strtr($str, $tr);
+}
+
+/**
+ * Smarty block function, provides gettext support for smarty.
+ *
+ * The block content is the text that should be translated.
+ *
+ * Any parameter that is sent to the function will be represented as %n in the translation text, 
+ * where n is 1 for the first parameter. The following parameters are reserved:
+ *   - escape - sets escape mode:
+ *       - 'html' for HTML escaping, this is the default.
+ *       - 'js' for javascript escaping.
+ *       - 'url' for url escaping.
+ *       - 'no'/'off'/0 - turns off escaping
+ *   - plural - The plural version of the text (2nd parameter of ngettext())
+ *   - count - The item count for plural mode (3rd parameter of ngettext())
+ */
+function smarty_block_t($params, $text, &$smarty)
+{
+	$text = stripslashes($text);
+	
+	// set escape mode
+	if (isset($params['escape'])) {
+		$escape = $params['escape'];
+		unset($params['escape']);
+	}
+	
+	// set plural version
+	if (isset($params['plural'])) {
+		$plural = $params['plural'];
+		unset($params['plural']);
+		
+		// set count
+		if (isset($params['count'])) {
+			$count = $params['count'];
+			unset($params['count']);
+		}
+	}
+	
+	// use plural if required parameters are set
+	if (isset($count) && isset($plural)) {
+		$text = ngettext($text, $plural, $count);
+	} else { // use normal
+		$text = gettext($text);
+	}
+
+	// run strarg if there are parameters
+	if (count($params)) {
+		$text = smarty_gettext_strarg($text, $params);
+	}
+
+	if (!isset($escape) || $escape == 'html') { // html escape, default
+	   $text = nl2br(htmlspecialchars($text));
+   } elseif (isset($escape)) {
+		switch ($escape) {
+			case 'javascript':
+			case 'js':
+				// javascript escape
+				$text = str_replace('\'', '\\\'', stripslashes($text));
+				break;
+			case 'url':
+				// url escape
+				$text = urlencode($text);
+				break;
+		}
+	}
+	
+	return $text;
+}
+
+?>
diff --git a/gosa-core/include/smarty/plugins/block.textformat.php b/gosa-core/include/smarty/plugins/block.textformat.php
new file mode 100644
index 0000000..f578bfb
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/block.textformat.php
@@ -0,0 +1,103 @@
+<?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
new file mode 100644
index 0000000..88e49d8
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.counter.php
@@ -0,0 +1,78 @@
+<?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
new file mode 100644
index 0000000..f1cb46b
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.cycle.php
@@ -0,0 +1,101 @@
+<?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.fetch.php b/gosa-core/include/smarty/plugins/function.fetch.php
new file mode 100644
index 0000000..391ff1b
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.fetch.php
@@ -0,0 +1,217 @@
+<?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
new file mode 100644
index 0000000..ac72f3f
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_checkboxes.php
@@ -0,0 +1,145 @@
+<?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
new file mode 100644
index 0000000..3f031dc
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_image.php
@@ -0,0 +1,139 @@
+<?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
new file mode 100644
index 0000000..69f56e8
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_options.php
@@ -0,0 +1,122 @@
+<?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
new file mode 100644
index 0000000..c7f72bf
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_radios.php
@@ -0,0 +1,156 @@
+<?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
new file mode 100644
index 0000000..7001f88
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_select_date.php
@@ -0,0 +1,333 @@
+<?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
new file mode 100644
index 0000000..51d307a
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_select_time.php
@@ -0,0 +1,197 @@
+<?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
new file mode 100644
index 0000000..198b03c
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.html_table.php
@@ -0,0 +1,176 @@
+<?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.mailto.php b/gosa-core/include/smarty/plugins/function.mailto.php
new file mode 100644
index 0000000..29a87c6
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.mailto.php
@@ -0,0 +1,157 @@
+<?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
new file mode 100644
index 0000000..d7ac9f8
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.math.php
@@ -0,0 +1,84 @@
+<?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
new file mode 100644
index 0000000..e683556
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.popup.php
@@ -0,0 +1,118 @@
+<?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
new file mode 100644
index 0000000..ae58037
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.popup_init.php
@@ -0,0 +1,41 @@
+<?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
new file mode 100644
index 0000000..acff0bc
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.capitalize.php
@@ -0,0 +1,41 @@
+<?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
new file mode 100644
index 0000000..1b932d0
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.cat.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..6d52465
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.count_characters.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..441da09
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.count_paragraphs.php
@@ -0,0 +1,26 @@
+<?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
new file mode 100644
index 0000000..7783c92
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.count_sentences.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..1079d8f
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.count_words.php
@@ -0,0 +1,25 @@
+<?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
new file mode 100644
index 0000000..950a195
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.date_format.php
@@ -0,0 +1,61 @@
+<?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
new file mode 100644
index 0000000..f0f83d2
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.debug_print_var.php
@@ -0,0 +1,87 @@
+<?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
new file mode 100644
index 0000000..2622d07
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.default.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..0e58d8b
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.escape.php
@@ -0,0 +1,111 @@
+<?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
new file mode 100644
index 0000000..4f2f9d8
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.indent.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..34a609e
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.lower.php
@@ -0,0 +1,30 @@
+<?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
new file mode 100644
index 0000000..3e9df06
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.noprint.php
@@ -0,0 +1,24 @@
+<?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
new file mode 100644
index 0000000..100b58c
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.regex_replace.php
@@ -0,0 +1,48 @@
+<?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
new file mode 100644
index 0000000..5f70979
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.replace.php
@@ -0,0 +1,48 @@
+<?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
new file mode 100644
index 0000000..d2593ec
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.spacify.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..fd96c8b
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.string_format.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..39f0f9f
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.strip.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..6af08b2
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.strip_tags.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..943a8ab
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.truncate.php
@@ -0,0 +1,64 @@
+<?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
new file mode 100644
index 0000000..fefa854
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.upper.php
@@ -0,0 +1,30 @@
+<?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
new file mode 100644
index 0000000..92a79de
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/modifier.wordwrap.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..ce5fde9
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/outputfilter.trimwhitespace.php
@@ -0,0 +1,76 @@
+<?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
new file mode 100644
index 0000000..f7142f9
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/shared.escape_special_chars.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..4e652ad
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/shared.make_timestamp.php
@@ -0,0 +1,43 @@
+<?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
new file mode 100644
index 0000000..08a5783
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/variablefilter.htmlspecialchars.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..c2614c3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php
@@ -0,0 +1,184 @@
+<?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
new file mode 100644
index 0000000..d60d808
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_append.php
@@ -0,0 +1,61 @@
+<?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
new file mode 100644
index 0000000..57c4ce7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_assign.php
@@ -0,0 +1,65 @@
+<?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
new file mode 100644
index 0000000..45bca20
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php
@@ -0,0 +1,108 @@
+<?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
new file mode 100644
index 0000000..6fd8aa8
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_call.php
@@ -0,0 +1,63 @@
+<?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
new file mode 100644
index 0000000..752cb3a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php
@@ -0,0 +1,72 @@
+<?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
new file mode 100644
index 0000000..0dd1ba8
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_config_load.php
@@ -0,0 +1,53 @@
+<?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
new file mode 100644
index 0000000..8ff9671
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_debug.php
@@ -0,0 +1,34 @@
+<?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
new file mode 100644
index 0000000..6f17de7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_eval.php
@@ -0,0 +1,46 @@
+<?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
new file mode 100644
index 0000000..cf4a187
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php
@@ -0,0 +1,86 @@
+<?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
new file mode 100644
index 0000000..7b9889e
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_for.php
@@ -0,0 +1,133 @@
+<?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
new file mode 100644
index 0000000..09801fd
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_foreach.php
@@ -0,0 +1,192 @@
+<?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
new file mode 100644
index 0000000..23fc27d
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_function.php
@@ -0,0 +1,99 @@
+<?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
new file mode 100644
index 0000000..9d05f42
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php
@@ -0,0 +1,114 @@
+<?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
new file mode 100644
index 0000000..f82f038
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php
@@ -0,0 +1,145 @@
+<?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
new file mode 100644
index 0000000..e71f978
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include_php.php
@@ -0,0 +1,68 @@
+<?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
new file mode 100644
index 0000000..189fe6d
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_insert.php
@@ -0,0 +1,83 @@
+<?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
new file mode 100644
index 0000000..c809990
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_ldelim.php
@@ -0,0 +1,32 @@
+<?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
new file mode 100644
index 0000000..ebeef9d
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_nocache.php
@@ -0,0 +1,59 @@
+<?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
new file mode 100644
index 0000000..030f3a2
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_block_plugin.php
@@ -0,0 +1,73 @@
+<?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
new file mode 100644
index 0000000..129b5d7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_function_plugin.php
@@ -0,0 +1,53 @@
+<?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
new file mode 100644
index 0000000..c4fbfa5
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php
@@ -0,0 +1,59 @@
+<?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
new file mode 100644
index 0000000..03c2d34
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_block_function.php
@@ -0,0 +1,59 @@
+<?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
new file mode 100644
index 0000000..573f604
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_function.php
@@ -0,0 +1,54 @@
+<?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
new file mode 100644
index 0000000..7cfe473
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_print_expression.php
@@ -0,0 +1,61 @@
+<?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
new file mode 100644
index 0000000..218ec0e
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php
@@ -0,0 +1,79 @@
+<?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
new file mode 100644
index 0000000..e38ee4b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php
@@ -0,0 +1,51 @@
+<?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
new file mode 100644
index 0000000..1f473bc
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php
@@ -0,0 +1,100 @@
+<?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
new file mode 100644
index 0000000..88c4e1e
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_rdelim.php
@@ -0,0 +1,32 @@
+<?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
new file mode 100644
index 0000000..0de506a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_section.php
@@ -0,0 +1,170 @@
+<?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
new file mode 100644
index 0000000..6dc1804
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php
@@ -0,0 +1,66 @@
+<?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
new file mode 100644
index 0000000..7a398f5
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php
@@ -0,0 +1,103 @@
+<?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
new file mode 100644
index 0000000..31b4108
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_config.php
@@ -0,0 +1,260 @@
+<?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
new file mode 100644
index 0000000..1547911
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_config_file_compiler.php
@@ -0,0 +1,116 @@
+<?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
new file mode 100644
index 0000000..50d9fd6
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php
@@ -0,0 +1,526 @@
+<?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
new file mode 100644
index 0000000..3621a48
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_configfileparser.php
@@ -0,0 +1,864 @@
+<?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
new file mode 100644
index 0000000..61b9b52
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php
@@ -0,0 +1,413 @@
+<?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
new file mode 100644
index 0000000..9df0942
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php
@@ -0,0 +1,129 @@
+<?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
new file mode 100644
index 0000000..1d81636
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_filter_handler.php
@@ -0,0 +1,64 @@
+<?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
new file mode 100644
index 0000000..cdbd3fa
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php
@@ -0,0 +1,47 @@
+<?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
new file mode 100644
index 0000000..b796de7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php
@@ -0,0 +1,186 @@
+<?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
new file mode 100644
index 0000000..b84f580
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_file.php
@@ -0,0 +1,127 @@
+<?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
new file mode 100644
index 0000000..93176c3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_php.php
@@ -0,0 +1,127 @@
+<?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
new file mode 100644
index 0000000..36a09cd
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_registered.php
@@ -0,0 +1,137 @@
+<?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
new file mode 100644
index 0000000..2024a3a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php
@@ -0,0 +1,99 @@
+<?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
new file mode 100644
index 0000000..ad519b3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_string.php
@@ -0,0 +1,90 @@
+<?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
new file mode 100644
index 0000000..f433e9e
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_security_handler.php
@@ -0,0 +1,130 @@
+<?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
new file mode 100644
index 0000000..2246f03
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php
@@ -0,0 +1,73 @@
+<?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
new file mode 100644
index 0000000..fab9d08
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_template.php
@@ -0,0 +1,810 @@
+<?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
new file mode 100644
index 0000000..68e3efd
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php
@@ -0,0 +1,404 @@
+<?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
new file mode 100644
index 0000000..fb25984
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php
@@ -0,0 +1,1831 @@
+<?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
new file mode 100644
index 0000000..3ad0602
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php
@@ -0,0 +1,2684 @@
+<?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
new file mode 100644
index 0000000..5c756f1
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php
@@ -0,0 +1,49 @@
+<?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
new file mode 100644
index 0000000..9bc18fb
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method__get_filter_name.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..24eb113
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_addpluginsdir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..9809f03
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_assign.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..2d26315
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_cache.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..1f1fe0b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_assign.php
@@ -0,0 +1,37 @@
+<?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
new file mode 100644
index 0000000..59b79d7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_cache.php
@@ -0,0 +1,32 @@
+<?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
new file mode 100644
index 0000000..f57f985
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_compiled_tpl.php
@@ -0,0 +1,65 @@
+<?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
new file mode 100644
index 0000000..3c752e0
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_clear_config.php
@@ -0,0 +1,30 @@
+<?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
new file mode 100644
index 0000000..48ffff7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_compile_directory.php
@@ -0,0 +1,72 @@
+<?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
new file mode 100644
index 0000000..aac8fab
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disablecachemodifycheck.php
@@ -0,0 +1,23 @@
+<?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
new file mode 100644
index 0000000..ba5097a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disablecaching.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..f18514f
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disablecompilecheck.php
@@ -0,0 +1,24 @@
+<?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
new file mode 100644
index 0000000..fa7a434
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigbooleanize.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..d37cea4
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigoverwrite.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..e5001d6
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigreadhidden.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..3cfccd7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disabledebugging.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..fa149db
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disabledebuggingurlctrl.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..3aef9cb
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disabledefaulttimezone.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..7dab167
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disableforcecompile.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..173bdfe
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_disablevariablefilter.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..31dbbeb
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enablecachemodifycheck.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..23cd283
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enablecompilecheck.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..ab7bd14
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigbooleanize.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..7f0cc71
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigoverwrite.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..982d0fd
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigreadhidden.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..3f3cc90
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enabledebugging.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..0743270
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enabledebuggingurlctrl.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..e5a7f27
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enabledefaulttimezone.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..f78fc91
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enableforcecompile.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..6abe923
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_enablevariablefilter.php
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..9bbf4b5
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_get_config_vars.php
@@ -0,0 +1,36 @@
+<?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
new file mode 100644
index 0000000..539e082
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_get_global.php
@@ -0,0 +1,37 @@
+<?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
new file mode 100644
index 0000000..147a1f3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_get_registered_object.php
@@ -0,0 +1,34 @@
+<?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
new file mode 100644
index 0000000..9bfdbd8
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_get_template_vars.php
@@ -0,0 +1,56 @@
+<?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
new file mode 100644
index 0000000..47ed877
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getcachedir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..0db4fc7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getcachelifetime.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..929da27
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getcompiledir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..79e55b6
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getconfigdir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..8109169
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getdebugtemplate.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..6fa98a3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getpluginsdir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..2fa1df8
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_gettemplatedir.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..9d7d0c4
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_getvariablefilter.php
@@ -0,0 +1,23 @@
+<?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
new file mode 100644
index 0000000..4e93b17
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_iscachemodifycheck.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..e27bd0a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_iscaching.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..904ad4c
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_iscompilecheck.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..605474b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigbooleanize.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..fb10f0e
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigoverwrite.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..e13c84d
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigreadhidden.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..9d36eb4
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isdebugging.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..5487cd1
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isdebuggingurlctrl.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..dd22117
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isdefaulttimezone.php
@@ -0,0 +1,21 @@
+<?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
new file mode 100644
index 0000000..94c62a0
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_isforcecompile.php
@@ -0,0 +1,23 @@
+<?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
new file mode 100644
index 0000000..cb82ea1
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_load_filter.php
@@ -0,0 +1,35 @@
+<?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
new file mode 100644
index 0000000..466f8c3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_block.php
@@ -0,0 +1,36 @@
+<?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
new file mode 100644
index 0000000..b338504
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_compiler_function.php
@@ -0,0 +1,35 @@
+<?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
new file mode 100644
index 0000000..fbdb781
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_function.php
@@ -0,0 +1,33 @@
+<?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
new file mode 100644
index 0000000..022f4f3
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_modifier.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..a4d0e60
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_object.php
@@ -0,0 +1,46 @@
+<?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
new file mode 100644
index 0000000..4601264
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_outputfilter.php
@@ -0,0 +1,25 @@
+<?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
new file mode 100644
index 0000000..1d8c2e7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_postfilter.php
@@ -0,0 +1,25 @@
+<?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
new file mode 100644
index 0000000..781700d
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_prefilter.php
@@ -0,0 +1,25 @@
+<?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
new file mode 100644
index 0000000..09f5e89
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_resource.php
@@ -0,0 +1,33 @@
+<?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
new file mode 100644
index 0000000..3052d34
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_register_variablefilter.php
@@ -0,0 +1,25 @@
+<?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
new file mode 100644
index 0000000..fe1e25b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaultpluginhandler.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..1b716af
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaulttemplatehandler.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..6e501f6
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_setconfigdir.php
@@ -0,0 +1,26 @@
+<?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
new file mode 100644
index 0000000..4e9cc1f
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_setdebugtemplate.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..57ed8f2
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_setpluginsdir.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..8ece1ae
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_template_exists.php
@@ -0,0 +1,31 @@
+<?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
new file mode 100644
index 0000000..53f8594
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_test.php
@@ -0,0 +1,77 @@
+<?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
new file mode 100644
index 0000000..d1fecb7
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_block.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..049214b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_compiler_function.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..f91b9bb
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_function.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..46191c9
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_modifier.php
@@ -0,0 +1,29 @@
+<?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
new file mode 100644
index 0000000..0be5c25
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_object.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..b71a779
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_outputfilter.php
@@ -0,0 +1,28 @@
+<?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
new file mode 100644
index 0000000..17aa49b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_postfilter.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..b77eaf6
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_prefilter.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..b17875a
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_resource.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..032943b
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_variablefilter.php
@@ -0,0 +1,27 @@
+<?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
new file mode 100644
index 0000000..2c99fbc
--- /dev/null
+++ b/gosa-core/include/smarty/sysplugins/smarty_security.php
@@ -0,0 +1,88 @@
+<?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/locale/core/de/LC_MESSAGES/messages.po b/gosa-core/locale/core/de/LC_MESSAGES/messages.po
index f9b1f7b..ab2635d 100644
--- a/gosa-core/locale/core/de/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/de/LC_MESSAGES/messages.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+0200\n"
 "PO-Revision-Date: 2009-10-05 15:19+0200\n"
 "Last-Translator: Cajus Pollmeier <pollmeier at gonicus.de>\n"
 "Language-Team: de <kde-i18n-de at kde.org>\n"
@@ -26,12 +26,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -39,10 +39,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -72,7 +72,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -155,7 +155,7 @@ msgstr ""
 "erhalten, wenn Sie das Objekt einfügen!"
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Speichern"
@@ -203,7 +203,7 @@ msgstr ""
 "Ignoriere diesen Fehler und zeige alle Einträge, die innerhalb der "
 "Größenbeschränkung liegen"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Setzen"
@@ -227,7 +227,7 @@ msgstr "Wählen Sie einen ACL-Typ"
 
 #: 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -285,11 +285,13 @@ msgstr "Altes Passwort"
 #: 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -356,8 +358,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Objekt"
 
@@ -404,8 +406,8 @@ msgstr "Grund für das Erzeugen dieses Snapshots"
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Fortsetzen"
 
@@ -414,17 +416,19 @@ msgstr "Fortsetzen"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -434,27 +438,26 @@ msgstr "Fortsetzen"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -462,7 +465,7 @@ msgstr "Fehler"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Information"
 
@@ -470,17 +473,17 @@ msgstr "Information"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -498,16 +501,16 @@ msgstr "Erfolg"
 msgid "Your password has been changed successfully."
 msgstr "Ihr Passwort wurde erfolgreich geändert."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -522,7 +525,10 @@ msgstr ""
 "unterhalb ein und drücken Sie den 'Ändern'-Knopf."
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -531,7 +537,10 @@ msgid "New password repeated"
 msgstr "Neues Passwort (Wiederholung)"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
 
@@ -620,7 +629,7 @@ msgstr "Abmelden"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -648,9 +657,9 @@ msgstr "Angemeldet:"
 msgid "GOsa main menu"
 msgstr "GOsa Hauptmenü"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr "Schwerer Fehler"
 
@@ -660,16 +669,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "Die GOsa-Konfigurationsdatei %s/%s ist nicht lesbar. Abgebrochen."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -677,6 +686,7 @@ msgstr "Die GOsa-Konfigurationsdatei %s/%s ist nicht lesbar. Abgebrochen."
 #: 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"
 
@@ -687,7 +697,7 @@ msgstr ""
 "Auf das als Compile-Verzeichnis angegegebene Verzeichnis '%s' kann nicht "
 "zugegriffen werden!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 msgid "Password method"
 msgstr "Passwort-Methode"
 
@@ -695,9 +705,8 @@ msgstr "Passwort-Methode"
 msgid "Error: Password method not available!"
 msgstr "Fehler: Passwort-Methode ist nicht verfügbar!"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
@@ -705,22 +714,23 @@ msgstr ""
 "Die Passwörter, die Sie als 'Neues Passwort' und 'Neues Passwort "
 "(Wiederholung)' eingegeben haben sind nicht identisch."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -738,11 +748,11 @@ msgstr "Sie haben keine Berechtigung ihr Passwort zu ändern."
 msgid "External password changer reported a problem: "
 msgstr "Das externe Passwort-Änderungsprogramm hat einen Fehler gemeldet:"
 
-#: html/password.php:280 html/index.php:414
+#: 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:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "SSL Sitzung"
 
@@ -784,44 +794,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
@@ -854,7 +864,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr "Das Konto ist gesperrt. Bitte benachrichtigen Sie den Administrator!"
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -885,32 +895,32 @@ msgstr ""
 "FATAL: 'Register globals' ist im PHP aktiviert. GOsa läßt keine Anmeldung "
 "zu, bis dies von einem Administrator behoben wurde."
 
-#: html/main.php:228
+#: 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!"
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr "Der verfügbare Arbeitsspeicher wird knapp!"
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr "Prüfung der Benutzer-ACLs deaktiviert"
 
-#: html/main.php:339
-msgid "Your password is about to expire, please change your password!"
-msgstr "Ihr Passwort ist fast abgelaufen, bitte setzen Sie ein neues!"
-
-#: html/main.php:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr "Erweiterung"
 
-#: html/main.php:350
+#: html/main.php:374
 #, 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!"
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr "Konfigurationsfehler"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -957,29 +967,29 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, 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:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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 "Ihnen ist es nicht erlaubt, einen Snapshot für %s wiederherzustellen."
@@ -1043,6 +1053,7 @@ 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"
 
@@ -1076,25 +1087,25 @@ 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:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Gruppen"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1103,7 +1114,7 @@ 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: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
@@ -1122,7 +1133,7 @@ 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1186,11 +1197,11 @@ 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:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1243,7 +1254,7 @@ msgstr ""
 "Der angeforderte Kanal existiert nicht! Bitte benachrichtigen Sie Ihren "
 "Administrator."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1251,87 +1262,88 @@ msgstr ""
 msgid "Select all"
 msgstr "Alle auswählen"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 msgid "created by"
 msgstr "Angelegt von"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Gehe zur Wurzel-Abteilung"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Wurzel"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Eine Abteilung nach oben"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Gehe zur Abteilung des Benutzers"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Heimat"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Liste neu laden"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Übertragen"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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 "Aktionen"
 
-#: include/class_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr "Kopieren"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr "Ausschneiden"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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 "Einfügen"
 
-#: include/class_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Diesen Eintrag ausschneiden"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Diesen Eintrag kopieren"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 msgid "Restore snapshots"
 msgstr "Abzug wiederherstellen"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr "Liste exportieren"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr "Abzug wiederherstellen"
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr "Snapshot erstellen"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 msgid "Create a new snapshot from this object"
 msgstr "Erstelle einen neuen Snapshot dieses Objekts"
 
@@ -1343,14 +1355,14 @@ msgstr "Diesen Eintrag bearbeiten"
 msgid "Delete this entry"
 msgstr "Diesen Eintrag entfernen"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 "Schwerer Fehler: keine Klassenfundorte definiert - bitte führen Sie '%s' "
 "aus, um das Problem zu beheben"
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
@@ -1358,17 +1370,17 @@ msgstr ""
 "Schwerer Fehler: Kann Klasse '%s' nicht instanziieren - bitte führen Sie '%"
 "s' aus um das Problem zu beheben"
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr ""
 "FATAL: Fehler beim Verbinden mit dem LDAP-Server. Die Meldung lautet '%s'."
 
-#: include/functions.inc:519
+#: 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/functions.inc:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
@@ -1376,12 +1388,12 @@ msgstr ""
 "Der Benutzername / die UID ist nicht eindeutig für den LDAP-Baum. Bitte "
 "kontaktieren Sie Ihren Administrator."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 "Fehler beim Setzen einer Sperre. Bitte kontaktieren Sie die Entwickler!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1390,12 +1402,12 @@ msgstr ""
 "Kann Sperrinformation für LDAP-Baum nicht erzeugen. Bitte kontaktieren Sie "
 "Ihren Administrator!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr "Der LDAP-Server meldete: %s"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
@@ -1403,12 +1415,12 @@ msgstr ""
 "Mehrere Sperren für das zu sperrende Objekt gefunden. Dies sollte nicht "
 "passieren - räume mehrere Referenzen auf."
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr "Die Größenbeschränkung von %d Einträgen ist überschritten!"
 
-#: include/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1417,73 +1429,82 @@ msgstr ""
 "Verwende eine neue Größenbeschränkung von %s Einträgen und zeige diese "
 "Meldung bei Überschreitung wieder an"
 
-#: include/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Konfigurieren"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "unvollständig"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Trotzdem Fortsetzen"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Trotzdem bearbeiten"
 
-#: include/functions.inc:1646
+#: 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:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "Einträge pro Seite"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Filter anwenden"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, php-format
+msgid "GOsa %s"
+msgstr "GOsa %s"
+
+#: include/functions.inc:2313
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "GOsa Schnappschuss (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa Entwicklerversion (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr "Die Datei '%s' konnte nicht entfernt werden."
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr "Kann nicht in Revisions-Datei schreiben!"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "'baseIdHook' ist nicht verfügbar. Verwende die Standard-Basis!"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr "LDAP-Warnung"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr ""
 "Kann die Schema-Informationen nicht vom Server beziehen. Keine Schemaprüfung "
 "möglich!"
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr "Verwendet, um kontenbezogene Informationen zu speichern."
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
@@ -1491,27 +1512,27 @@ msgstr ""
 "Verwenden, um die momentan bearbeiteten Einträge für andere zu sperren (um "
 "gleichzeitige Änderungen zu verhindern)."
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Die benötigte Objektklasse '%s' fehlt!"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr "Die optionale Objektklasse '%s' fehlt!"
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr "Falsche·Version·der·benötigten·Objektklasse·'%s'·(!=%s)!"
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr "Verfügbare Klasse(n)"
 
-#: include/functions.inc:2787
+#: 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."
@@ -1519,7 +1540,7 @@ msgstr ""
 "Sie haben die rfc2307bis-Option in der LDAP-Einrichtung aktiviert, aber Ihre "
 "Schema-Konfiguration unterstützt dies nicht."
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
@@ -1527,7 +1548,7 @@ msgstr ""
 "Um rfc2307bis-konforme Gruppen verwenden zu können, muss die Objektklasse "
 "'posixGroup' AUXILIARY sein"
 
-#: include/functions.inc:2792
+#: 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."
@@ -1535,51 +1556,51 @@ msgstr ""
 "Ihre Schemakonfiguration ist für rfc2307bis-Gruppen eingerichtet, aber Sie "
 "haben die Unterstützung im LDAP-Einrichtungsschritt ausgeschaltet."
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr "Die Objektklasse 'posixGroup' muss STRUCTURAL sein"
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Deutsch"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Französisch"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italienisch"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Spanisch"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Englisch"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Niederländisch"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Polnisch"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "Chinesisch"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr "Vietnamesisch"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Russisch"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
@@ -1587,11 +1608,11 @@ msgstr ""
 "Das in POSTMODIFY angegebene Kommando '%s' (Modul '%s') scheint nicht zu "
 "existieren."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr "Kann Samba-Hash nicht erzeugen!"
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
@@ -1599,39 +1620,39 @@ msgstr ""
 "Kann keinen SAMBA-Hash generieren: die Ausführung von '%s' ist "
 "fehlgeschlagen, prüfen Sie den 'sambaHashHook'!"
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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 "Konnte keine freie ID allozieren:"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr "unbekannte idAllocation-Methode!"
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr "%sPoolMin >= %sPoolMax!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "kann sambaUnixIdPool-Eintrag nicht anlegen!"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr "sambaUnixIdPool ist nicht eindeutig!"
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr "keine ID verfügbar!"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr "maximale Anzahl von Versuchen abgelaufen!"
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr "Konnte keine freie ID allozieren!"
 
@@ -1669,31 +1690,31 @@ msgstr "Y-m-d, H:i: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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1805,13 +1826,13 @@ msgstr "Typ"
 msgid "Arguments"
 msgstr "Argumente"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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!"
@@ -1820,29 +1841,29 @@ msgstr ""
 "Sie sicher, dass niemand wichtige Änderungen vorgenommen hat, die verloren "
 "gehen, wenn Sie diesen Eintrag speichern!"
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr "Ändere ACL dn"
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "von"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr "Wiederherstellen"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "Ausschneiden"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "Kopieren"
 
@@ -2119,75 +2140,76 @@ msgstr "Das Pflicht-Feld '%s' ist leer!"
 msgid "Example"
 msgstr "Beispiel"
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "Das Feld '%s' enthält ungültige Zeichen"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr "'%s' ist nicht erlaubt:"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr "'%s' sind nicht erlaubt!"
 
-#: include/utils/class_msgPool.inc:296
+#: 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/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Fehlenden %s PHP-Erweiterung!"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr "%s hinzufügen"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr "%s löschen"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr "%s einstellen"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr "Bearbeiten..."
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr "%s bearbeiten..."
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Zurück"
 
-#: include/utils/class_msgPool.inc:377
+#: include/utils/class_msgPool.inc:380
 #, php-format
 msgid "This account has no valid %s extensions!"
 msgstr "Dieses Konto besitzt keine gültigen %s-Einstellungen."
 
-#: include/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
@@ -2195,7 +2217,7 @@ msgstr ""
 "Dieses Konto besitzt aktivierte %s-Einstellungen. Sie können diese durch "
 "einen Klick auf die untere Schaltfläche deaktivieren."
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2204,7 +2226,7 @@ msgstr ""
 "Dieses Konto besitzt aktivierte %s-Erweiterungen. Um sie zu deaktivieren, "
 "müssen Sie zunächst die %s Einstellungen entfernen!"
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
@@ -2212,7 +2234,7 @@ msgstr ""
 "Dieses Konto hat keine %s-Einstellungen aktiviert. Sie können Sie durch "
 "einen Klick auf die Schaltfläche aktivieren."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, php-format
 msgid ""
 "This account has %s settings disabled. To enable them, you'll need to add "
@@ -2221,184 +2243,184 @@ msgstr ""
 "Dieses Konto besitzt aktuell keine aktivierten %s-Einstellungen. Um sie zu "
 "aktivieren, müssen Sie zunächst die %s Erweiterungen hinzufügen!"
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr "%s Einstellungen hinzufügen"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr "%s Einstellungen entfernen"
 
-#: include/utils/class_msgPool.inc:432
+#: 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/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Januar"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Februar"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "März"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "April"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Mai"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Juni"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Juli"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "August"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "September"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Oktober"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "November"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Dezember"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Sonntag"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Montag"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr "Dienstag"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr "Mittwoch"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr "Donnerstag"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Freitag"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Samstag"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr "MySQL-Operation fehlgeschlagen!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr "Lese-Operation"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr "Hinzufügeoperation"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr "Änderungs-Operation"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr "Lösch-Operation"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr "Such-Operation"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr "Authentifizierung"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr "LDAP %s fehlgeschlagen!"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr "LDAP-Operation fehlgeschlagen"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr "Übertragung fehlgeschlagen!"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr "Übertragung fehlgeschlagen: %s"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst!"
 
-#: include/utils/class_msgPool.inc:494
+#: 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:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, php-format
 msgid "This '%s' is still in use."
 msgstr "Dieses '%s' ist noch in Benutzung."
 
-#: include/utils/class_msgPool.inc:509
+#: 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"
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr "Die Datei '%s' existiert nicht!"
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Kann Datei '%s' nicht zum Lesen öffnen!"
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Kann Datei '%s' nicht zum Schreiben öffnen!"
 
-#: include/utils/class_msgPool.inc:533
+#: include/utils/class_msgPool.inc:536
 #, php-format
 msgid ""
 "The value for '%s' is currently unconfigured or invalid, please check your "
@@ -2407,32 +2429,32 @@ msgstr ""
 "Der Wert für '%s' ist momentan nicht konfiguriert oder ungültig. Bitte "
 "prüfen Sie Ihre Konfigurationsdatei!"
 
-#: include/utils/class_msgPool.inc:539
+#: include/utils/class_msgPool.inc:542
 #, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Kann Datei '%s' nicht löschen!"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Kann den Ordner '%s' nicht anlegen!"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Kann den Ordner '%s' nicht löschen!"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, php-format
 msgid "Checking for %s support"
 msgstr "Prüfe auf %s-Unterstützung"
 
-#: include/utils/class_msgPool.inc:563
+#: 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/utils/class_msgPool.inc:569
+#: include/utils/class_msgPool.inc:572
 #, php-format
 msgid ""
 "Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
@@ -2441,7 +2463,7 @@ msgstr ""
 "Die Klasse '%s' kann nicht initialisiert werden! Vielleicht fehlt ein Modul "
 "in Ihren GOsa-Einstellungen?"
 
-#: include/utils/class_msgPool.inc:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2466,23 +2488,23 @@ msgstr ""
 "Kann Teilbäume mit RDN '%s' nicht automatisch erzeugen: keine Objektklasse "
 "gefunden!"
 
-#: include/class_ldap.inc:741
+#: 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:828
+#: 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:830
+#: 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:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2491,7 +2513,7 @@ msgstr ""
 "Dies ist keine valide DN: '%s'.  Ein Block für den Import sollte mit "
 "'dn:...' beginnen in Zeile %s"
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2561,14 +2583,17 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Keine Objekte dieser Kategorie"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 "Das Konfigurationsformat hat sich geändert. Bitte durchlaufen Sie erneut die "
 "Einrichtung!"
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2599,17 +2624,17 @@ msgstr "'%s' ist kein gültiges LDAP-Objekt"
 msgid "No write permission in '%s'"
 msgstr "Keine Schreibberechtigung in '%s'"
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr "Diese Objekte werden eingefügt: %s"
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr "Dieses Objekt wird eingefügt: %s"
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "Kann nicht einfügen"
 
@@ -2618,12 +2643,12 @@ msgid "Please fix the above error and reload the page."
 msgstr "Bitte beheben Sie obigen Fehler und laden die Seite neu."
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Allgemein"
@@ -2636,7 +2661,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Mail"
@@ -2644,14 +2669,14 @@ msgstr "Mail"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "Fax"
 
@@ -2669,7 +2694,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Gruppe"
@@ -2680,10 +2705,9 @@ msgstr "Gruppe"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Abteilung"
 
@@ -2691,16 +2715,14 @@ msgstr "Abteilung"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2781,6 +2803,7 @@ msgstr "Das GOsa Team"
 
 #: 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
@@ -2796,6 +2819,7 @@ msgstr "Terminal"
 #: 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
@@ -2803,62 +2827,74 @@ msgid "User"
 msgstr "Benutzer"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2866,32 +2902,32 @@ msgstr "Name"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2902,6 +2938,7 @@ msgstr "Basis"
 #: 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
@@ -2954,7 +2991,7 @@ msgstr ""
 "Daten wiederherzustellen."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Objektgruppen"
 
@@ -2964,7 +3001,7 @@ msgstr "Objektgruppen verwalten"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr "Infrastruktur Fehler"
 
@@ -2976,87 +3013,87 @@ msgstr "Vorlagen"
 msgid "Windows Install"
 msgstr "Windows Installation"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 "Sie können Terminals und Arbeitsstationen nicht zu einer Objektgruppe "
 "zusammenfassen!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "zu viele unterschiedliche Objekte!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "Benutzer"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "Gruppen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "Anwendungen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "Abteilungen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "Server"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "Arbeitsstationen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr "Windows-Arbeitsstationen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "Terminals"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "Telefone"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "Drucker"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "Unbekannte dn:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
@@ -3065,20 +3102,20 @@ msgstr ""
 "Die folgenden Systeme sind bereits für die Konfiguration über eine "
 "Objektgruppe vorgeseheb und können nicht hinzugefügt werden:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 "Sie können maximal zwei verschiedene Objekttypen miteinander kombinieren!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr "Objektgruppe (Allgemein)"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 msgid "Sytem trust"
 msgstr "System-Vertrauen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr "Mitglied"
 
@@ -3098,7 +3135,7 @@ msgid "Descriptive text for this group"
 msgstr "Beschreibender Text für diese Gruppe"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "System-Vertrauen"
@@ -3137,7 +3174,7 @@ msgstr "FAI-Übersicht"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3196,7 +3233,7 @@ msgid "List of object groups"
 msgstr "Liste von Objektgruppen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3207,15 +3244,15 @@ msgid "Properties"
 msgstr "Eigenschaften"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Anlegen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3223,12 +3260,12 @@ msgstr "Anlegen"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Entfernen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr "Nachricht senden"
@@ -3304,18 +3341,20 @@ msgstr ""
 "die Daten nicht wiederherstellen kann."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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"
 
 #: 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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Nachname"
 
@@ -3389,6 +3428,12 @@ msgstr "Zeige Samba Gruppen"
 msgid "Show mail groups"
 msgstr "Zeige Mail Gruppen"
 
+#: 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"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Gruppen-Einstellungen"
@@ -3397,15 +3442,24 @@ msgstr "Gruppen-Einstellungen"
 msgid "List of groups"
 msgstr "Liste der Gruppen"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+msgid "Group submenu entry"
+msgstr "Gruppen-Untermenüs"
+
+#: plugins/admin/groups/group-list.xml:31
+msgid "Group menu entry"
+msgstr "Gruppen-Menüs"
+
+#: plugins/admin/groups/group-list.xml:155
 msgid "Edit group"
 msgstr "Gruppe bearbeiten"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 msgid "Remove group"
 msgstr "Gruppe löschen"
 
 #: 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!"
 
@@ -3465,14 +3519,14 @@ msgstr "Kann keine SID für '%s' finden!"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Kann keine RIDBASE für '%s' finden!"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr "Die Gruppen ID-Nummer '%s' wird bereits von %s verwendet!"
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3480,27 +3534,27 @@ msgstr "Die Gruppen ID-Nummer '%s' wird bereits von %s verwendet!"
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr "Allgemeine Gruppeneinstellungen"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr "Samba-Gruppentyp"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr "Samba Domänen-Name"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr "Gesprächs-Annahme Gruppe"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr "Nagios-Gruppe"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr "Gruppenmitglieder"
 
@@ -3519,19 +3573,19 @@ msgid "Edit posix properties"
 msgstr "POSIX-Eigenschaften bearbeiten"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 msgid "Edit mail properties"
 msgstr "Mail-Einstellungen bearbeiten"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr "Samba-Einstellungen bearbeiten"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 msgid "Edit phone properties"
 msgstr "Telefon-Einstellungen bearbeiten"
@@ -3547,7 +3601,7 @@ msgid "Edit start menu properties"
 msgstr "Startmenü-Einstellungen bearbeiten"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 msgid "Edit environment properties"
 msgstr "Umgebungs-Einstellungen bearbeiten"
@@ -3572,7 +3626,8 @@ msgstr ""
 "Änderungen werden sofort wirksam. Merken Sie sich das Passwort, da sich der "
 "Benutzer ohne dieses Passwort nicht anmelden kann."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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."
@@ -3580,19 +3635,48 @@ msgstr ""
 "Das Ändern des Passwortes wirkt sich auf ihre Authentifizierung bei Mail-, "
 "Proxy-, Samba- und Unix-Diensten aus."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr "Stärke"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: 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"
 
@@ -3611,7 +3695,7 @@ msgstr ""
 "ausfüllen. Wählen sie 'keine' um den Vorlagen-Dialog zu überspringen."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3631,15 +3715,15 @@ msgstr "Vorname"
 msgid "Manage users"
 msgstr "Benutzer verwalten"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: 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!"
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr "Konto-Sperrung"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: plugins/admin/users/class_userManagement.inc:783
 #, php-format
 msgid ""
 "Password method '%s' does not support locking. Account (%s) has not been "
@@ -3648,19 +3732,19 @@ msgstr ""
 "Die Passwort-Methode '%s' unterstützt keine Sperrungen. Das Konto %s wurde "
 "nicht gesperrt!"
 
-#: plugins/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 msgid "Unlock account"
 msgstr "Konto aktivieren"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 msgid "Lock account"
 msgstr "Konto deaktivieren"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Allgemeine Einstellungen bearbeiten"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3668,19 +3752,19 @@ msgstr "Allgemeine Einstellungen bearbeiten"
 msgid "POSIX"
 msgstr "POSIX"
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 msgid "Edit POSIX properties"
 msgstr "UNIX-Einstellungen bearbeiten"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "Netatalk-Einstellungen bearbeiten"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 msgid "Edit FAX properties"
 msgstr "FAX-Einstellungen bearbeiten"
 
@@ -3778,7 +3862,7 @@ msgstr "Liste der Abteilungen"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 msgid "Domain"
 msgstr "Domain"
 
@@ -3789,29 +3873,27 @@ msgstr "Domänen-Komponente"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3833,27 +3915,45 @@ msgstr "Name des zu erzeugenden Standortes"
 msgid "Descriptive text for department"
 msgstr "Beschreibender Text zu dieser Abteilung"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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"
+
+#: 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"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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"
 
@@ -3870,8 +3970,8 @@ msgid "Descriptive text for   department"
 msgstr "Beschreibender Text zu dieser Abteilung"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr "Kategorie"
@@ -3881,89 +3981,83 @@ msgstr "Kategorie"
 msgid "Category for this subtree"
 msgstr "Kategorie dieses Teilbaums"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "Ort dieses Teilbaums"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Adresse"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr "Postalische Anschrift dieses Teilbaums"
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: plugins/admin/departments/generic.tpl:109
+#: plugins/admin/departments/organization.tpl:108
 msgid "Base telephone number of this subtree"
 msgstr "Einleitende Telefonnummer dieses Teilbaums"
 
-#: plugins/admin/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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"
 
-#: plugins/admin/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Abteilungen"
 
@@ -3971,7 +4065,7 @@ msgstr "Abteilungen"
 msgid "Manage Departments"
 msgstr "Abteilungen verwalten"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 "
@@ -3981,20 +4075,20 @@ msgstr ""
 "scrollen und auf den 'Fortfahren'-Knopf drücken, um mit der "
 "Abteilungsverwaltung fort zu fahren."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr "Organisationsname"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Adresse"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Telefonnummer"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr "Name des Landes"
@@ -4011,44 +4105,44 @@ msgstr "Name der zu erzeugenden Domäne"
 msgid "Name of country to create"
 msgstr "Name des anzulegenden Landes"
 
-#: plugins/admin/departments/class_department.inc:372
+#: 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!"
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Markiere '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Verschiebe '%s' nach '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr "Fehler beim kopieren von %s, breche ab"
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Name der Abteilung"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Telefon"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "Objekt '%s' ist bereits markiert"
 
-#: plugins/admin/departments/class_department.inc:673
+#: 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"
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Entferne Markierung von Objekt '%s'"
@@ -4161,9 +4255,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Rolle"
 
@@ -4199,29 +4292,29 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Organisationsbezogene Benutzereinstellungen bearbeiten"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 "Bitte eine einzelne IP-Adresse oder eine Netzwerk/Netzmasken Kombination "
 "hinzufügen!"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "weiblich"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "männlich"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr "Kann Datei nicht hochladen!"
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Seriennummer"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
@@ -4229,248 +4322,243 @@ msgstr ""
 "(Manche Zertifikate werden momentan nicht unterstützt und werden daher als "
 "'ungültig' angezeigt)."
 
-#: plugins/personal/generic/class_user.inc:532
+#: 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)."
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "gültig"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "ungültig"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Kein Zertifikat eingerichtet"
 
-#: plugins/personal/generic/class_user.inc:567
+#: 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."
 
-#: plugins/personal/generic/class_user.inc:1143
+#: 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!"
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr "Kann RDN nicht erstellen: Attribut ist nicht definiert!"
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr "Kann RDN nicht erstellen: ungültige Attribut-Parameter!"
 
-#: plugins/personal/generic/class_user.inc:1239
+#: 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!"
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Homepage"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: plugins/personal/generic/class_user.inc:1362
+#: plugins/personal/generic/class_user.inc:1825
+#: plugins/personal/generic/generic.tpl:407
 msgid "Mobile"
 msgstr "Mobiltelefon"
 
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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"
 
-#: plugins/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr "Kann Zertifikat nicht öffnen!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Referat"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Hausbezeichnung"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Anrede"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "letzte Übermittlung"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Dienstort"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Aufgabengebiet"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Sachgebiet"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Amts-/Dienstbezeichnung"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "Zertifikat-Seriennummer"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Öffentlich sichtbar"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Straße"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Postleitzahl"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr "Allgemeine Benutzereinstellungen"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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"
 
-#: plugins/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr "Benutzerkennung"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Titel"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Akademischer Titel"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Geschlecht"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr "Bevorzugte Sprache"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "Benutzerbild"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 msgid "Login restrictions"
 msgstr "Anmeldungs-Einschränkungen"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr "Abteilungsnummer"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr "Personalnummer"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Anstellungsart"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr "Raumnummer"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr "Telefonnummer"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr "Pagernummer"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr "Mobiltelefon"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr "Faxnummer"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Private Adresse"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr "Telefonnummer (privat)"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 msgid "User password method"
 msgstr "Benutzer Passwort-Methode"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr "Benutzer-Zertifikate"
 
+#: plugins/personal/generic/class_user.inc:1923
+msgid "Entries differ"
+msgstr "Einträge unterscheiden sich"
+
+#: 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 ""
+"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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4487,73 +4575,56 @@ msgid "Template name"
 msgstr "Name der Vorlage"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Bevorzugte Sprache"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Privat-Telefon"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Passwort-Speicherung"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Zertifikate"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Zertifikate bearbeiten"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr "Anmeldung beschränken"
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr "IP oder Netzwerk"
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Angabe zur Organisationseinheit"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Abteilungs-Nr."
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Angestellten-Nr."
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Zimmer-Nr."
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Verwenden sie den Telefon-Reiter"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Wählen Sie den Teilbaum, in den der Benutzer eingepflegt werden soll"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Wählen Sie eine Basis"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Benutzer-Einstellungen"
@@ -4571,24 +4642,30 @@ msgstr "Neues Passwort setzen"
 msgid "Remove picture"
 msgstr "Bild entfernen"
 
-#: plugins/personal/generic/main.inc:115
-msgid "You have no permission to set your password!"
-msgstr "Sie haben keine Berechtigung ihr Passwort zu speichern!"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Generische Benutzer-Information"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"Sie haben die Verschlüsselungsart, mit der Ihr Passwort in der LDAP-"
-"Datenbank gespeichert wird, geändert. Aus diesem Grund müssen Sie das "
-"Passwort an dieser Stelle noch einmal eingeben, damit es von GOsa in der "
-"gewünschten Verschlüsselung abgelegt werden kann."
+"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/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+msgid "Password change dialog"
+msgstr "Passwort-Änderungsdialog"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Felder löschen"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4602,6 +4679,15 @@ msgstr "S/MIME-Zertifikat"
 msgid "PKCS12 certificate"
 msgstr "PKCS12-Zertifikat"
 
+#: 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/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:38
 msgid "Edit users POSIX settings"
 msgstr "Benutzer POSIX-Einstellungen bearbeiten"
@@ -4675,7 +4761,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4708,53 +4794,53 @@ msgstr "shadowWarning"
 msgid "shadowInactive"
 msgstr "shadowInactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr "POSIX-Konto"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "Benutzer-ID"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr "Gruppen-ID"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr "Erzwinge Änderung des Passwort bei Anmeldung"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr "Shadow min"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr "Shadow max"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr "Shadow warning"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr "Shadow inactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr "Shadow expire"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr "Öffentlicher SSH-Schlüssel"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr "Modell des System-Vertrauens"
 
@@ -4858,51 +4944,33 @@ msgstr "Der Benutzer muss beim ersten Anmelden sein Passwort ändern"
 msgid "Password expires on"
 msgstr "Passwort läuft ab am"
 
-#: 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 ""
-"Sie haben erfolgreich Ihr Passwort geändert. Bitte denken Sie daran alle "
-"Programme anzupassen, die dieses Passwort auch benutzen."
-
 #: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
 msgid "Password settings"
 msgstr "Passwort-Einstellungen"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Felder löschen"
+#: 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/password/class_password.inc:27
 msgid "Change user password"
 msgstr "Benutzer-Passwort ändern"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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/password/class_password.inc:85
+#: 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/password/class_password.inc:94
+#: 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/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
@@ -4910,22 +4978,14 @@ msgstr ""
 "Das Passwort, welches Sie als aktuelles Passwort eingegeben haben, ist nicht "
 "korrekt."
 
-#: plugins/personal/password/class_password.inc:114
+#: 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/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr "Benutzerpasswort"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Passwort-Änderung ist nicht erlaubt"
-
-#: plugins/personal/password/nochange.tpl:6
-msgid "You have no permission to change your password at this time"
-msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern"
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr "UNIX Konten/Gruppen"
@@ -4989,11 +5049,11 @@ msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 "Kann Rückmeldung nicht senden: Der Dienst ist vorübergehend nicht verfügbar"
 
-#: setup/class_setupStep_Feedback.inc:180
+#: 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:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5135,12 +5195,12 @@ msgid "After migration"
 msgstr "Nach der Migration"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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"
 
@@ -5327,11 +5387,6 @@ msgstr ""
 "eines oder mehrere Geräte ändern möchten, wählen Sie sie einfach aus und "
 "drücken Sie den 'Migrieren'-Knopf unten."
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Auffrischen"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5420,8 +5475,12 @@ msgid "GOsa requires this module for the samba integration."
 msgstr "GOsa benötigt dieses Modul für die Samba-Einbindung."
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
-msgstr "GOsa benötigt dieses Modul um die SSHA-Verschlüsselung zu verwenden."
+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."
 
 #: setup/class_setupStep_Checks.inc:105
 msgid "GOsa requires this module to talk to an IMAP server."
@@ -5833,31 +5892,35 @@ msgid "What PHP version do you use?"
 msgstr "Welche PHP-Version verwenden Sie?"
 
 #: setup/setup_feedback.tpl:115
+msgid "GOsa version"
+msgstr "GOsa-Version"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr "LDAP"
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr "Welche(n) LDAP-Server verwenden Sie?"
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr "Wie viele Objekte befinden sich in Ihrem LDAP-Verzeichnis?"
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr "Fähigkeiten"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr "Welche Funktionen von GOsa verwenden Sie?"
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 "Welche Funktionen würden Sie gerne in zukünftigen Versionen von GOsa sehen?"
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr "Feedback senden"
 
@@ -5893,26 +5956,26 @@ msgstr ""
 "Dieser Dialog richtet die grundlegende Konfiguration der LDAP-Verbindung für "
 "GOsa ein."
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr "Anonyme Anmeldung an server '%s' ist fehlgeschlagen!"
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "Verbindung als Benutzer '%s' ist fehlgeschlagen!"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: 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."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 msgid "Please specify user and password!"
 msgstr "Bitte geben Sie Ihren Benutzer und das zugehörige Passwort ein!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr "Verbindung als Benutzer '%s' zu Server '%s' war erfolgreich!"
@@ -5945,10 +6008,6 @@ msgstr "Authentisierung"
 msgid "Admin DN"
 msgstr "Administrator-DN"
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Benutzer wählen"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr "Automatisch die LDAP-Basis an die Admin-DN anhängen"
@@ -5998,7 +6057,7 @@ msgid "Checking for invisible users"
 msgstr "Prüfe auf unsichtbare Benutzer"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr "Prüfe auf Superadministrator"
 
@@ -6037,24 +6096,24 @@ 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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."
 
 #: 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:655 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
+#: 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."
 
@@ -6068,16 +6127,16 @@ msgstr "Es wurden %s doppelte Werte für das Attribute 'uidNumber' gefunden."
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr "Es wurden %s doppelte Werte für das Attribute 'gidNumber' gefunden."
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6105,137 +6164,137 @@ msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 "Es wurde(n) %s Benutzer ausserhalb des konfigurierten Baums '%s' gefunden."
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:663
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 msgid "Migration error"
 msgstr "Migrationsfehler"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
 #, php-format
 msgid "Cannot migrate department '%s':"
 msgstr "Die Abteilung '%s' kann nicht migriert werden:"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, 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."
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "GOsa 2.5 Verwaltungs-Konten gefunden: %s"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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:"
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr "Eingabefehler"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr "Uid"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr "Passwortfehler"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Provided passwords do not match!"
 msgstr "Die angegebenen Passwörter stimmen nicht überein!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Specify a valid user ID!"
 msgstr "Geben Sie eine gültige Benutzer ID an!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 "Hinzufügen eines administrativen Benutzers fehlgeschlagen: Objekt '%s' "
 "existiert bereits!"
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr "Die Windows-Arbeitsstation wird verschoben von"
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr "Aktualisiere ebenfalls die folgenden Referenzen"
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr "Die Gruppe wird verschoben von"
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr "Der Benutzer wird verschoben von"
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr "Die folgenden Referenzen werden aktualisiert"
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 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."
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 msgid "Try to create root object"
 msgstr "Versuche, das Wurzelobjekt zu erzeugen"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 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."
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Die GOsa-Objektklasse '%s' fehlt!"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 msgid "Please check your installation."
 msgstr "Bitte überprüfen Sie Ihre Installation."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: setup/class_setupStep_Migrate.inc:2081
 #, php-format
 msgid ""
 "Cannot handle the structural object type of your root object. Please try to "
@@ -6244,33 +6303,33 @@ 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:2439
+#: 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:2574
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr "Hinzufügen von '%s' ist fehlgeschlagen: %s"
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: 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."
@@ -6648,16 +6707,3 @@ msgstr "Dieser Schritt erlaubt es Ihnen, Ihre bevorzugte Sprache auszuwählen."
 #: setup/class_setupStep_Language.inc:47
 msgid "Automatic"
 msgstr "Automatisch"
-
-#~ msgid "Inconsistent DN encoding detected: '%s'"
-#~ msgstr "Inkonsistente Enkodierung der DN erkannt: '%s'"
-
-#~ msgid "Choose a base"
-#~ msgstr "Wählen Sie eine Basis"
-
-#~ msgid "Choose subtree to place group in"
-#~ msgstr "Wählen Sie den Teilbaum, in den die Gruppe eingepflegt werden soll"
-
-#~ msgid "Choose subtree to place department in"
-#~ msgstr ""
-#~ "Wählen Sie den Teilbaum, in den die Abteilung eingepflegt werden soll"
diff --git a/gosa-core/locale/core/es/LC_MESSAGES/messages.po b/gosa-core/locale/core/es/LC_MESSAGES/messages.po
index bc4e75c..3260f90 100644
--- a/gosa-core/locale/core/es/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/es/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: admin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+0200\n"
 "PO-Revision-Date: 2010-01-28 23:21+0100\n"
 "Last-Translator: \n"
 "Language-Team: Spanish <>\n"
@@ -21,12 +21,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -34,10 +34,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -67,7 +67,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -148,7 +148,7 @@ msgstr ""
 "¡tendrá errores al pegar el objeto!"
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Guardar"
@@ -196,7 +196,7 @@ 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"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Activar"
@@ -220,7 +220,7 @@ msgstr "Seleccione un tipo de ACL"
 
 #: 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -278,11 +278,13 @@ msgstr "Contraseña antigua"
 #: 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -348,8 +350,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Objeto"
 
@@ -395,8 +397,8 @@ msgstr "Razón para generar esta instantánea"
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Continuar"
 
@@ -405,17 +407,19 @@ msgstr "Continuar"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -425,27 +429,26 @@ msgstr "Continuar"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -453,7 +456,7 @@ msgstr "Error"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Información"
 
@@ -461,17 +464,17 @@ msgstr "Información"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -489,16 +492,16 @@ msgstr "Correcto"
 msgid "Your password has been changed successfully."
 msgstr "Su contraseña se ha cambiado correctamente."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -513,7 +516,10 @@ msgstr ""
 "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/password/password.tpl:13
+#: 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"
 
@@ -522,7 +528,10 @@ msgid "New password repeated"
 msgstr "Repita la nueva contraseña"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
 
@@ -608,7 +617,7 @@ msgstr "Salir"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -636,9 +645,9 @@ msgstr "Entrando"
 msgid "GOsa main menu"
 msgstr "Menú inicial de GOsa"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr "Error fatal"
 
@@ -648,16 +657,16 @@ 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:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -665,6 +674,7 @@ msgstr "No se puede acceder a la configuración de GOsa %s/%s. Cancelado"
 #: 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"
 
@@ -673,7 +683,7 @@ msgstr "Error de configuración"
 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:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 msgid "Password method"
 msgstr "Metodo de contraseña"
 
@@ -681,9 +691,8 @@ msgstr "Metodo de contraseña"
 msgid "Error: Password method not available!"
 msgstr "Error: ¡El método de contraseñas no esta disponible!"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
@@ -691,22 +700,23 @@ msgstr ""
 "No coinciden las contraseñas introducidas como 'Nueva contraseña' y 'Repetir "
 "nueva contraseña'."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -724,11 +734,11 @@ msgstr "No tiene permisos para cambiar su contraseña."
 msgid "External password changer reported a problem: "
 msgstr "El programa externo de cambio de contraseña informo de un problema: "
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "La sesión no será codificada."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Entrar en sesión SSL"
 
@@ -769,44 +779,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
@@ -841,7 +851,7 @@ msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 "Cuenta bloqueada. ¡Por favor contacte con su administrador de sistemas!"
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -872,35 +882,35 @@ msgstr ""
 "FATAL: 'Register globals' está activado. No se permitirá ninguna acceso "
 "hasta que esto sea solucionado por un administrador."
 
-#: html/main.php:228
+#: 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!"
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr "¡Funcionando sin memoria!"
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr "Desactivados chequeos de ACL de usuario"
 
-#: html/main.php:339
-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:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr "Extensión"
 
-#: html/main.php:350
+#: 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'!"
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr "Error de configuración"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -947,29 +957,29 @@ msgstr "¡El filtro está incompleto!"
 
 #: 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: 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/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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."
@@ -1066,25 +1076,25 @@ msgid "Use ACL defined in role"
 msgstr "Utilizar las ACL definidas en el rol"
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: plugins/personal/generic/class_user.inc:1674
+#: setup/class_setupStep_Migrate.inc:1040
 msgid "Users"
 msgstr "Usuarios"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Grupos"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1093,7 +1103,7 @@ 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: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
@@ -1112,7 +1122,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1176,11 +1186,11 @@ 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:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1232,7 +1242,7 @@ msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr ""
 "¡El canal requerido no existe!. Por favor  contacte con su Administrador."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1240,87 +1250,88 @@ msgstr ""
 msgid "Select all"
 msgstr "Seleccione todos"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 msgid "created by"
 msgstr "Creado por"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Ir al departamento raíz"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Raíz"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Subir un departamento"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Ir al departamento de usuarios"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Inicio"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Recargar lista"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Enviar"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr "Copiar"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr "Mover"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Mover esta entrada"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Copiar esta entrada"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 msgid "Restore snapshots"
 msgstr "Recuperar instantánea"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr "Exportar lista"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: 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_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr "Crear instantánea"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: 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!"
 
@@ -1332,14 +1343,14 @@ msgstr "Editar esta entrada"
 msgid "Delete this entry"
 msgstr "Eliminar esta entrada"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, 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:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
@@ -1347,17 +1358,17 @@ msgstr ""
 "Error fatal: no se puede instanciar la clase '%s' - intente solucionarlo "
 "ejecutando '%s'"
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr ""
 "FATAL: Ha habido un error conectando a LDAP. El servidor comunicó '%s'."
 
-#: include/functions.inc:519
+#: 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:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
@@ -1365,13 +1376,13 @@ msgstr ""
 "El nombre de usuario / UID no es único dentro del árbol LDAP. Por favor "
 "contacte con su Administrador."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 "Ha ocurrido un problema al añadir un bloqueo. ¡Contacte con los "
 "desarrolladores!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1380,12 +1391,12 @@ msgstr ""
 "No puedo crear información de bloqueos en el árbol LDAP. ¡Por favor contacte "
 "con su Administrador!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr "El servidor LDAP devolvio: %s"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
@@ -1393,12 +1404,12 @@ 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:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr "¡El límite máximo de %d entradas se ha sobrepasado!"
 
-#: include/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1407,73 +1418,83 @@ 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:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Configurar"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "incompleto"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Continuar de cualquier manera"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Editar de cualquier manera"
 
-#: include/functions.inc:1646
+#: 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:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "Entradas por página"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Aplicar filtro"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "servicio de registro de GOsa"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "Instantánea de desarrollo GOsa (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "Instantánea de desarrollo GOsa (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr "El archivo '%s' no puede ser eliminado."
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr "¡No se puede escribir en el archivo de revisión!"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "No esta disponible 'baseIdHook'.¡Se usara la base predeterminada!"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr "Aviso LDAP"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 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!"
 
-#: include/functions.inc:2702
+#: 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:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
@@ -1481,28 +1502,28 @@ msgstr ""
 "Usado para bloquear entradas editadas actualmente y así evitar múltiples "
 "cambios simultáneos."
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr "¡No se ha encontrado la clase de objeto necesaria '%s'!"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr "¡No se ha encontrado la clase de objeto opcional '%s'!"
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 "¡Las versiones de la clase de objeto necesaria no coinciden '%s' (!=%s)!"
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr "Clase(s) disponibles"
 
-#: include/functions.inc:2787
+#: 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."
@@ -1510,7 +1531,7 @@ 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:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
@@ -1518,7 +1539,7 @@ msgstr ""
 "Para poder usar grupos conforme a rfc2307bis, el objectClass 'posixGroup' "
 "debe ser AUXILIARY"
 
-#: include/functions.inc:2792
+#: 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."
@@ -1526,51 +1547,51 @@ msgstr ""
 "Su esquema está configurado para soportar grupos rfc2307bis, pero ha "
 "desactivado esta opción en el paso 'configuración ldap'."
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr "El objectClass 'posixGroup' debe ser STRUCTURAL"
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Alemán"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Francés"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italiano"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Español"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Inglés"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Holandes"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Polaco"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "Chino"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr "Vietnamita"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Ruso"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
@@ -1578,11 +1599,11 @@ msgstr ""
 "El comando '%s', utilizado como POSTMODIFY para la extensión '%s', no parece "
 "existir."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr "¡No se puede generar la clave samba!"
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
@@ -1590,39 +1611,39 @@ msgstr ""
 "¡No se puede generar la clave samba: la ejecución de '%s' ha fallado, "
 "compruebe el 'sambaHashHook'!"
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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 "No se puede asignar un identificador (ID) libre:"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr "¡método de asignación de id desconocido!"
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr "¡%sPoolMin >= %sPoolMax!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "¡No se puede crear la entrada sambaUnixIdPool!"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr "¡sambaUnixIdPool no es único!"
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr "¡No hay ID disponibles!"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr "¡Excedido el número de intentos máximo!"
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr "¡No se puede asignar un identificador (ID) libre!"
 
@@ -1660,31 +1681,31 @@ msgstr "Y-m-d, H:i: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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1796,13 +1817,13 @@ msgstr "Tipo"
 msgid "Arguments"
 msgstr "Argumentos"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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!"
@@ -1810,29 +1831,29 @@ 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:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr "Modificando ACL dn"
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "desde"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr "Recuperar"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "mover"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "copiar"
 
@@ -2109,75 +2130,76 @@ msgstr "¡El campo obligatorio '%s' está vacio!"
 msgid "Example"
 msgstr "Ejemplo"
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "El campo '%s' tiene caracteres no validos."
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr "'%s' no está permitido:"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr "¡'%s' no están permitidos!"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr "¡El campo '%s' tiene caracteres no validos!"
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr "¡Extensión PHP %s no encontrada!"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: 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/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr "Añadir %s"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr "Eliminar %s"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr "Activar %s"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr "Editar..."
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr "Editar %s..."
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Atrás"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
@@ -2185,7 +2207,7 @@ msgstr ""
 "Esta cuenta tiene características %s activadas. Puede desactivarla pulsando "
 "aquí"
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2194,7 +2216,7 @@ msgstr ""
 "Esta cuenta tiene las características %s activadas. ¡Para desactivarlas, "
 "necesita eliminar las caracteristicas %s primero!"
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
@@ -2202,7 +2224,7 @@ msgstr ""
 "Esta cuenta tiene características %s desactivadas. Puede activarla pulsando "
 "aquí"
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, php-format
 msgid ""
 "This account has %s settings disabled. To enable them, you'll need to add "
@@ -2211,183 +2233,183 @@ msgstr ""
 "Esta cuenta tiene las características %s desactivadas. ¡Para activarlas, "
 "necesita añadir las caracteristicas %s primero!"
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr "Añadir caracteristicas %s"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr "Eliminar las caracteristicas %s"
 
-#: include/utils/class_msgPool.inc:432
+#: 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/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Enero"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Febrero"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Marzo"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Abril"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Mayo"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Junio"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Julio"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Agosto"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Septiembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Octubre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Noviembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Diciembre"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Domingo"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Lunes"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr "Martes"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr "Miércoles"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr "Jueves"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Viernes"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Sábado"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr "¡La consulta MYSQL ha fallado!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr "lectura"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr "adición"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr "modificación"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr "eliminación"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr "busqueda"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr "autenticación"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr "¡LDAP %s ha fallado!"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr "¡La consulta LDAP ha fallado!"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr "¡Ha fallado el subir archivo!"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr "Ha fallado el subir archivo: %s"
 
-#: include/utils/class_msgPool.inc:492
+#: 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/utils/class_msgPool.inc:494
+#: 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/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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/utils/class_msgPool.inc:507
+#: include/utils/class_msgPool.inc:510
 #, php-format
 msgid "This '%s' is still in use."
 msgstr "'%s' esta todavía en uso."
 
-#: include/utils/class_msgPool.inc:509
+#: 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/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr "¡El archivo %s no existe!"
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "¡No se puede abrir el archivo '%s'!"
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "¡No se puede grabar el archivo '%s'!"
 
-#: include/utils/class_msgPool.inc:533
+#: include/utils/class_msgPool.inc:536
 #, php-format
 msgid ""
 "The value for '%s' is currently unconfigured or invalid, please check your "
@@ -2396,32 +2418,32 @@ msgstr ""
 "El valor para '%s' no esta configurado o no es válido.¡Por favor compruebe "
 "el archivo de configuración!"
 
-#: include/utils/class_msgPool.inc:539
+#: include/utils/class_msgPool.inc:542
 #, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "¡No se puede eliminar el fichero '%s'!"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "¡No se puede crear la carpeta '%s'!"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "¡No se puede eliminar la carpeta '%s'!"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, php-format
 msgid "Checking for %s support"
 msgstr "Comprobando soporte %s"
 
-#: include/utils/class_msgPool.inc:563
+#: 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/utils/class_msgPool.inc:569
+#: include/utils/class_msgPool.inc:572
 #, php-format
 msgid ""
 "Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
@@ -2430,7 +2452,7 @@ msgstr ""
 "¡No se puede inicializar la clase '%s'! ¿Puede que falte la extensión "
 "correspondiente en la configuración de GOsa?"
 
-#: include/utils/class_msgPool.inc:575
+#: 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!"
@@ -2452,23 +2474,23 @@ msgstr ""
 "No se pueden crear automáticamente subárboles con RDN '%s': ¡No se ha "
 "encontrado la clase del objeto!"
 
-#: include/class_ldap.inc:741
+#: 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_ldap.inc:828
+#: 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_ldap.inc:830
+#: include/class_ldap.inc:833
 #, php-format
 msgid "while operating on LDAP server %s"
 msgstr "mientras operaba en el servidor LDAP '%s'"
 
-#: include/class_ldap.inc:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2477,7 +2499,7 @@ msgstr ""
 "No es un DN válido: '%s': El bloque para importar debe empezar por 'dn: ...' "
 "en la linea %s"
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2547,14 +2569,17 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Todos los objetos en esta categoría"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 "¡El formato de la configuración ha cambiado. Por favor use el asistente de "
 "configuración!"
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2585,17 +2610,17 @@ msgstr "'%s' no es un objeto LDAP válido"
 msgid "No write permission in '%s'"
 msgstr "No tiene permiso de escritura en '%s'"
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr "Estos objetos serán modificados: %s"
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr "Este objeto sera modificado: %s"
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "No puedo pegar"
 
@@ -2604,12 +2629,12 @@ msgid "Please fix the above error and reload the page."
 msgstr "Por favor solucione el problema y actualize la página."
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Genérico"
@@ -2622,7 +2647,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Correo Electrónico"
@@ -2630,14 +2655,14 @@ msgstr "Correo Electrónico"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "FAX"
 
@@ -2655,7 +2680,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Grupo"
@@ -2666,10 +2691,9 @@ msgstr "Grupo"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Departamento"
 
@@ -2677,16 +2701,14 @@ msgstr "Departamento"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2767,6 +2789,7 @@ msgstr "El equipo de 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
@@ -2782,6 +2805,7 @@ msgstr "Terminal"
 #: 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
@@ -2789,62 +2813,74 @@ msgid "User"
 msgstr "Usuario"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2852,32 +2888,32 @@ msgstr "Nombre"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2888,6 +2924,7 @@ msgstr "Base"
 #: 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
@@ -2940,7 +2977,7 @@ msgstr ""
 "de que GOsa pueda recuperar posteriormente esa información"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Grupos de objetos"
 
@@ -2950,7 +2987,7 @@ msgstr "Gestionar grupos de objetos"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr "error de infraestructura"
 
@@ -2962,87 +2999,87 @@ msgstr "Plantillas"
 msgid "Windows Install"
 msgstr "Instalación Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 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/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "¡demasiados objetos diferentes!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "usuarios"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "grupos"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "aplicaciones"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "departamentos"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "servidores"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "estaciones de trabajo"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr "Estación de trabajo Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "terminales"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "teléfonos"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "impresoras"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "No existe el 'dn':"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
@@ -3051,19 +3088,19 @@ msgstr ""
 "Estos sistemas ya han sido configurados por otros grupos de objetos y no "
 "pueden ser añadidos:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: 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!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr "Grupo de objetos genérico"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 msgid "Sytem trust"
 msgstr "Sistema de confianza"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr "Miembro"
 
@@ -3083,7 +3120,7 @@ msgid "Descriptive text for this group"
 msgstr "Descripción del grupo"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Sistema de seguridad"
@@ -3122,7 +3159,7 @@ msgstr "Sumario FAI"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3181,7 +3218,7 @@ msgid "List of object groups"
 msgstr "Lista del grupo de objetos"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3192,15 +3229,15 @@ msgid "Properties"
 msgstr "Propiedades"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Crear"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3208,12 +3245,12 @@ msgstr "Crear"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Eliminar"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr "Enviar mensaje"
@@ -3289,18 +3326,20 @@ msgstr ""
 "pulse dos veces, dado que GOsa no tiene manera de recuperar esta información."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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"
 
 #: 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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Apellido"
 
@@ -3375,6 +3414,12 @@ msgstr "Mostrar grupos de samba"
 msgid "Show mail groups"
 msgstr "Mostrar grupos de correo"
 
+#: 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"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Parametros de grupos"
@@ -3383,15 +3428,26 @@ msgstr "Parametros de grupos"
 msgid "List of groups"
 msgstr "Lista de grupos"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Miembro del grupo"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Miembro del grupo"
+
+#: plugins/admin/groups/group-list.xml:155
 msgid "Edit group"
 msgstr "Editar grupo"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 msgid "Remove group"
 msgstr "Eliminar grupo"
 
 #: 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!"
 
@@ -3449,14 +3505,14 @@ msgstr "¡No se puede encontrar nigún SID para '%s'!"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "¡No se puede encontrar un RIDBASE para '%s'."
 
-#: plugins/admin/groups/class_group.inc:1003
+#: 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!"
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3464,27 +3520,27 @@ msgstr "¡El gidNumber '%s' introducido ya esta siendo usado por %s!"
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr "Parámetros genéricos del grupo"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr "Tipo de grupo de samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr "Nombre de dominio samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr "Miembros de grupo de salto telefónico"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr "Grupo Nagios"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr "Miembro del grupo"
 
@@ -3503,19 +3559,19 @@ msgid "Edit posix properties"
 msgstr "Editar características posix"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: 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"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr "Editar características samba"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: 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"
@@ -3531,7 +3587,7 @@ msgid "Edit start menu properties"
 msgstr "Editar propiedades iniciales del menú"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: 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"
@@ -3557,7 +3613,8 @@ msgstr ""
 "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/password/password.tpl:8
+#: 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."
@@ -3565,19 +3622,52 @@ 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:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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"
 
-#: plugins/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr "Seguridad"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Longitud mínima de la contraseña"
+
+#: 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"
+
+#: 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"
+
+#: 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 introduzca una contraseña!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Forzar el cambio de contraseña al iniciar"
+
+#: 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"
 
@@ -3596,7 +3686,7 @@ msgstr ""
 "anular el uso de plantillas."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3616,15 +3706,15 @@ msgstr "Nombre"
 msgid "Manage users"
 msgstr "Gestión de usuarios"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: 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!"
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr "Bloqueo de cuenta"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: plugins/admin/users/class_userManagement.inc:783
 #, php-format
 msgid ""
 "Password method '%s' does not support locking. Account (%s) has not been "
@@ -3633,19 +3723,19 @@ msgstr ""
 "El método de contraseña '%s' no soporta bloqueo. ¡La cuenta (%s) no ha sido "
 "bloqueada!"
 
-#: plugins/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 msgid "Unlock account"
 msgstr "Desbloquear cuenta"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 msgid "Lock account"
 msgstr "Bloquear cuenta"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Editar características generales"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3653,19 +3743,19 @@ msgstr "Editar características generales"
 msgid "POSIX"
 msgstr "POSIX"
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 msgid "Edit POSIX properties"
 msgstr "Editar características POSIX"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "Editar características netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 msgid "Edit FAX properties"
 msgstr "Editar características FAX"
 
@@ -3763,7 +3853,7 @@ msgstr "Lista de Departamentos"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 msgid "Domain"
 msgstr "Dominio"
 
@@ -3774,29 +3864,27 @@ msgstr "Componente del dominio"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3818,27 +3906,46 @@ msgstr "Nombre de la localidad a crear"
 msgid "Descriptive text for department"
 msgstr "Descripción del departamento"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "Gestión de usuarios"
+
+#: 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"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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"
 
@@ -3855,8 +3962,8 @@ msgid "Descriptive text for   department"
 msgstr "Descripción del departamento"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: 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"
@@ -3866,89 +3973,83 @@ msgstr "Categoría"
 msgid "Category for this subtree"
 msgstr "Categoría para este subárbol"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "Provincia"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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/admin/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: 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/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Dirección"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: 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/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Departamentos"
 
@@ -3956,7 +4057,7 @@ msgstr "Departamentos"
 msgid "Manage Departments"
 msgstr "Gestionar Departamentos"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 "
@@ -3966,20 +4067,20 @@ msgstr ""
 "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:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr "Nombre de la Organización"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Código Postal"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Número de teléfono"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr "Nombre del País"
@@ -3996,46 +4097,46 @@ msgstr "Nombre del dominio a crear"
 msgid "Name of country to create"
 msgstr "Nombre del país a crear"
 
-#: plugins/admin/departments/class_department.inc:372
+#: 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/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Etiquetando '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Moviendo '%s' a '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: 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/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Nombre de departamento"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Teléfono"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "El objeto '%s' está ya marcado"
 
-#: plugins/admin/departments/class_department.inc:673
+#: 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/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Eliminando marca del objeto '%s'"
@@ -4145,9 +4246,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Rol"
 
@@ -4183,27 +4283,27 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Editar parámetros de usuarios administrativos"
 
-#: plugins/personal/generic/class_user.inc:279
+#: 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/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "mujer"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "hombre"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr "¡No se puede subir el archivo!"
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Número serie"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
@@ -4211,250 +4311,246 @@ msgstr ""
 "(Algunos tipos de certificados no están soportados y pueden ser mostrados "
 "como no validos.)"
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, 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:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "válido"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "no válido"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "No hay certificados instalados"
 
-#: plugins/personal/generic/class_user.inc:567
+#: 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/personal/generic/class_user.inc:1143
+#: 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/personal/generic/class_user.inc:1150
+#: 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/personal/generic/class_user.inc:1168
+#: 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/personal/generic/class_user.inc:1239
+#: 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/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Página Web"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr "¡No puedo abrir el certificado!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Unidad"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Tipo de Vía"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Profesión"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Última dirección conocida"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Lugar de residencia"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Descripción de la unidad"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Área de desarrollo"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Función"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: 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/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Visible por todos"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Calle"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Código Postal"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr "Parámetros genéricos del usuario"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr "Identificación de Usuario"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Título Personal"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Títulos académicos"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Sexo"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr "Idioma preferido"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "Foto del usuario"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Restricciones de contraseña"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr "Número del departamento"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr "Número de empleado"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Funciones laborales"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr "Número de habitación"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr "Número de teléfono"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr "Número del busca"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr "Teléfono móvil"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr "Número de Fax"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Dirección Postal personal"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr "Número de teléfono personal"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 msgid "User password method"
 msgstr "Metodo de contraseña de usuario"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr "Certificados de usuario"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, fuzzy
+msgid "Entries differ"
+msgstr "Entradas por página"
+
+#: 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/personal/generic/generic.tpl:6
-#: plugins/personal/generic/multiple_generic.tpl:5
 msgid "Personal information"
 msgstr "Información personal"
 
 #: plugins/personal/generic/generic.tpl:20
 #: plugins/personal/generic/generic.tpl:22
 #: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4471,73 +4567,56 @@ msgid "Template name"
 msgstr "Nombre de la plantilla"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Idioma preferido"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Teléfono privado"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Almacén de claves"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certificados"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Editar certificados"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr "Restringir inicio de sesión a"
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr "IP o Red"
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Información corporativa"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Número departamento"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Número empleado"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Número sala"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Por favor use la sección telefóno"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Elija el subárbol donde colocar al usuario"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Seleccione una base"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Caracteristicas del usuario"
@@ -4555,23 +4634,31 @@ msgstr "Introducir nueva contraseña"
 msgid "Remove picture"
 msgstr "Eliminar foto"
 
-#: plugins/personal/generic/main.inc:115
-msgid "You have no permission to set your password!"
-msgstr "¡No tiene permisos para cambiar su contraseña!"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Información genérica del usuario"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"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."
+"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
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Cambio de contraseña"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Limpiar información"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4585,6 +4672,16 @@ msgstr "Certificado S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Certificado PKCS12"
 
+#: 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/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Su contraseña se ha cambiado correctamente."
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr "Editar parametros de usuarios POSIX"
@@ -4659,7 +4756,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4692,53 +4789,53 @@ msgstr "shadowWarning"
 msgid "shadowInactive"
 msgstr "shadowInactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr "Cuenta POSIX"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "Identificador (ID) de usuario"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr "Identificador (ID) de Grupo"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr "Forzar el cambio de contraseña al iniciar"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr "Shadow min"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr "Shadow max"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr "Shadow warning"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr "Shadow inactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr "Shadow expire"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr "Clave pública SSH"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr "Sistema de confianza"
 
@@ -4842,72 +4939,47 @@ msgstr "El usuario debe introducir la contraseña en el primer inicio de sesión
 msgid "Password expires on"
 msgstr "La contraseña expira en"
 
-#: 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/personal/password/main.inc:57 setup/setup_config1.tpl:136
 msgid "Password settings"
 msgstr "Parámetros de Contraseña"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Limpiar información"
+#: 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!"
 
 #: plugins/personal/password/class_password.inc:27
 msgid "Change user password"
 msgstr "Cambiar contraseña de usuario"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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."
 
-#: plugins/personal/password/class_password.inc:85
+#: 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'."
 
-#: plugins/personal/password/class_password.inc:94
+#: 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."
 
-#: plugins/personal/password/class_password.inc:108
+#: 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."
 
-#: plugins/personal/password/class_password.inc:114
+#: 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."
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr "Contraseña del usuario"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "No se permite modificar la contraseña"
-
-#: plugins/personal/password/nochange.tpl:6
-msgid "You have no permission to change your password at this time"
-msgstr "No tiene permisos para cambiar su contraseña en estos momentos"
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr "Cuentas/Grupos UNIX"
@@ -4971,11 +5043,11 @@ msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 "No se puede envíar su sugerencia. El servicio no se encuentre disponible"
 
-#: setup/class_setupStep_Feedback.inc:180
+#: 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:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5116,12 +5188,12 @@ msgid "After migration"
 msgstr "Despues de migrar"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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"
 
@@ -5307,11 +5379,6 @@ msgstr ""
 "GOsa. Si quiere modificar esto para algunas de los dispositivos "
 "seleccionelos y pulse el botón migrar."
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Refresco"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5398,7 +5465,10 @@ msgid "GOsa requires this module for the samba integration."
 msgstr "GOsa necesita este módulo para integración con samba."
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+#, 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."
@@ -5792,30 +5862,35 @@ msgid "What PHP version do you use?"
 msgstr "¿Que versión de PHP usa?"
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Configuración genérica de GOsa"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr "LDAP"
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr "¿Que tipo de servidor(es) LDAP usa?"
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr "¿Cuantos objetos tiene en su servidor LDAP?"
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr "Características"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr "¿Que características de GOsa usa?"
 
-#: setup/setup_feedback.tpl:145
+#: 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?."
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr "Enviar Comentario"
 
@@ -5853,26 +5928,26 @@ msgstr ""
 "Este asistente llevara a cabo la configuración de la conectividad entre GOsa "
 "y LDAP."
 
-#: setup/class_setupStep_Ldap.inc:105
+#: 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!"
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "¡La conexión como usuario '%s' ha fallado!"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: 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."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 msgid "Please specify user and password!"
 msgstr "¡Por Favor especifique un usuario y contraseña!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: 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!"
@@ -5905,10 +5980,6 @@ msgstr "Autenticación"
 msgid "Admin DN"
 msgstr "DN del administrador"
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Eliminar usuario"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr "Añadir automáticamente la base LDAP al DN administrador"
@@ -5958,7 +6029,7 @@ msgid "Checking for invisible users"
 msgstr "Comprobando usuarios invisibles"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr "Comprobando súper administrador"
 
@@ -5999,24 +6070,24 @@ 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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"
 
 #: 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:655 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
+#: 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"
 
@@ -6030,16 +6101,16 @@ msgstr "Encontrado '%s' valores duplicados del atributo 'uidNumber'."
 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:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6065,132 +6136,132 @@ msgstr "Mover"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr "Encontrados '%s' usuario(s) fuera del árbol configurado '%s'."
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:663
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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':"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "Encontrada cuenta administrativa GOsa 2.5: %s"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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':"
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr "Error de entrada"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr "Uid"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr "Error de contraseña"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Provided passwords do not match!"
 msgstr "¡La contraseñas introducidas no  coinciden!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Specify a valid user ID!"
 msgstr "¡Por favor especifique un ID de usuario válido!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr "La estaciones de trabajo windows serán trasladadas desde"
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr "El grupo serán trasladado desde"
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr "El usuario serán trasladado desde"
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr "Las siguientes referencias se actualizaran"
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: 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'!"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 msgid "Please check your installation."
 msgstr "Por favor compruebe su instalación"
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: setup/class_setupStep_Migrate.inc:2081
 #, php-format
 msgid ""
 "Cannot handle the structural object type of your root object. Please try to "
@@ -6199,33 +6270,33 @@ 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."
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "Copia fallida de '%s' a '%s':"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: 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."
@@ -6606,6 +6677,31 @@ msgstr "Este paso le permite seleccionar su idioma preferido"
 msgid "Automatic"
 msgstr "Automatico"
 
+#, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Miembro del grupo"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Elija el subárbol donde colocar al usuario"
+
+#~ 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 ""
+#~ "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 "Password change not allowed"
+#~ msgstr "No se permite modificar la contraseña"
+
 #~ msgid "Inconsistent DN encoding detected: '%s'"
 #~ msgstr "Se ha detectado una codificación de DN inconsistente: '%s'"
 
@@ -7753,7 +7849,3 @@ msgstr "Automatico"
 
 #~ msgid "Services"
 #~ msgstr "Servicios"
-
-#, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "servicio de registro de GOsa"
diff --git a/gosa-core/locale/core/fr/LC_MESSAGES/messages.po b/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
index 1e9dbb4..d703732 100644
--- a/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
@@ -4,8 +4,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
-"PO-Revision-Date: 2010-01-28 22:18+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"PO-Revision-Date: 2010-08-06 11:30+0200\n"
 "Last-Translator: Benoit Mortier <benoit.mortier at opensides.be>\n"
 "Language-Team:  <fr at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -17,12 +17,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -30,10 +30,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -63,7 +63,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -146,7 +146,7 @@ msgstr ""
 "nouveau !"
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Enregistrer"
@@ -196,7 +196,7 @@ msgstr ""
 "au paramètre sizelimit défini et laissez moi utiliser les filtres pour "
 "restreindre les données a visualiser"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Activer"
@@ -220,7 +220,7 @@ msgstr "Sélectionnez un type d'acl"
 
 #: 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -278,11 +278,13 @@ msgstr "Ancien mot de passe"
 #: 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -348,8 +350,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Objet"
 
@@ -396,8 +398,8 @@ msgstr "Raison pour la génération de cette copie instantanée"
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Continuer"
 
@@ -406,17 +408,19 @@ msgstr "Continuer"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -426,27 +430,26 @@ msgstr "Continuer"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -454,7 +457,7 @@ msgstr "Erreur"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Information"
 
@@ -462,17 +465,17 @@ msgstr "Information"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -490,16 +493,16 @@ msgstr "Réussi"
 msgid "Your password has been changed successfully."
 msgstr "Votre mot de passe à été changé avec succès."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -514,7 +517,10 @@ msgstr ""
 "les champs ci-dessous et appuyez sur le bouton 'Changer'."
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -523,7 +529,10 @@ msgid "New password repeated"
 msgstr "Nouveau mot de passe"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
 
@@ -611,7 +620,7 @@ msgstr "Déconnexion"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -639,9 +648,9 @@ msgstr "Connecté:"
 msgid "GOsa main menu"
 msgstr "Menu Principal de GOsa"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr "Erreur Fatale"
 
@@ -651,16 +660,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "Le fichier de configuration %s/%s ne peut être lu. Abandon."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -668,6 +677,7 @@ msgstr "Le fichier de configuration %s/%s ne peut être lu. Abandon."
 #: 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"
 
@@ -678,7 +688,7 @@ msgstr ""
 "Le répertoire '%s' spécifié comme répertoire de compilation est "
 "inaccessible !"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 msgid "Password method"
 msgstr "Format de stockage des mots de passe"
 
@@ -686,9 +696,8 @@ msgstr "Format de stockage des mots de passe"
 msgid "Error: Password method not available!"
 msgstr "Erreur: Méthode de changement de mot de passe non disponible!"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
@@ -696,21 +705,22 @@ 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."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -726,14 +736,13 @@ 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: "
+msgstr "Le programme externe pour changer votre mot de passe à renvoyé une erreur: "
 
-#: html/password.php:280 html/index.php:414
+#: 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:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Démarrer une session SSL"
 
@@ -775,51 +784,50 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
 #: 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 !"
+msgstr "Impossible de détecter les information sur les schémas LDAP installés !"
 
 #: html/index.php:278
 msgid "Your LDAP setup contains old schema definitions:"
@@ -847,7 +855,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr "Compte verouillé. Veuillez contacter votre administrateur système !"
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -862,8 +870,7 @@ msgstr "Smarty"
 #: html/main.php:148
 #, 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"
+msgstr "Je n'ai pas trouvé '%s' - veuillez exécuter '%s' pour régler ce problème"
 
 #: html/main.php:167
 msgid "PHP configuration"
@@ -877,33 +884,32 @@ 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:228
+#: 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 !"
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr "Plus de mémoire disponible !"
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr "Les vérifications des ACL de l'utilisateur ont été désactivés"
 
-#: html/main.php:339
-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 !"
-
-#: html/main.php:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr "Extension"
 
-#: html/main.php:350
+#: html/main.php:374
 #, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr "FATAL: Impossible de trouver une définition pour l'extension '%s' !"
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr "Erreur de configuration"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -950,30 +956,29 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, 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."
+msgstr "Vous n'êtes pas autorisé à créer une nouvelle copie instantanée pour %s."
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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 "Vous n'êtes pas autorisé à restaurer un copie instantanée de %s."
@@ -1036,9 +1041,9 @@ msgstr "Gestion de listes de contrôle d'accès (ACL)"
 
 #: include/class_acl.inc:120 include/class_acl.inc:581
 #: include/class_acl.inc:1009
-#, fuzzy, php-format
+#, php-format
 msgid "All users"
-msgstr "utilisateurs"
+msgstr "Tout les utilisateurs"
 
 #: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
 msgid "All categories"
@@ -1070,25 +1075,25 @@ msgid "Use ACL defined in role"
 msgstr "Utiliser l'ACL définie dans le rôle"
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: plugins/personal/generic/class_user.inc:1674
+#: setup/class_setupStep_Migrate.inc:1040
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Groupes"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1097,7 +1102,7 @@ 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: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
@@ -1116,7 +1121,7 @@ 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1180,11 +1185,11 @@ msgstr "L'objet au complet"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1237,7 +1242,7 @@ msgstr ""
 "Le canal demandé n'existe pas ! Veuillez contacter votre administrateur "
 "système."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1245,87 +1250,88 @@ msgstr ""
 msgid "Select all"
 msgstr "Sélectionner tout"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 msgid "created by"
 msgstr "Crée par"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Aller au département de base"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Racine"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Monter d'un département"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Aller au département des utilisateurs"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Accueil"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Recharger la liste"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Soumettre"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr "Copier"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr "Couper"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Couper cette entrée"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Copier cette entrée"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 msgid "Restore snapshots"
 msgstr "Restaurer la copie instantanée"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr "Exporter la liste"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: 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_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr "Créer un snapshot"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: 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"
 
@@ -1337,34 +1343,32 @@ msgstr "Editer cette entrée"
 msgid "Delete this entry"
 msgstr "Supprimer cette entrée"
 
-#: include/functions.inc:127
+#: 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.inc:134
+#: include/functions.inc:141
 #, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+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:448
+#: include/functions.inc:455
 #, 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'."
 
-#: include/functions.inc:519
+#: 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 !"
+msgstr "Le nom de l'utilisateur / UID n'est pas unique dans votre annuaire LDAP !"
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
@@ -1372,11 +1376,11 @@ msgstr ""
 "Le nom de l'utilisateur / UID n'est pas unique dans votre annuaire LDAP. "
 "Veuillez contacter votre administrateur système."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: 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:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1385,12 +1389,12 @@ msgstr ""
 "Impossible d'obtenir les informations de verrouillage dans l'annuaire LDAP. "
 "Veuillez contacter votre administrateur !"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr "Le serveur LDAP à retourné: %s"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
@@ -1398,12 +1402,12 @@ 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:1233
+#: 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/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1412,73 +1416,83 @@ msgstr ""
 "Mettre la nouvelle limite à %s et me montrer ce message si la limite est "
 "toujours dépassée"
 
-#: include/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Configurer"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "incomplet"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Continuer malgré tout"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Éditer malgré tout"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, 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:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "Entrées par page"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Appliquer le filtre"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, php-format
+msgid "GOsa %s"
+msgstr ""
+
+#: include/functions.inc:2313
+#, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "Version de développement de GOsa %s (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "Version de développement de GOsa (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr "Le fichier '%s' ne peut pas être éffacé."
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr "Impossible d'écrire le fichier de revision !"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: 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/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr "Avertissement LDAP"
 
-#: include/functions.inc:2676
+#: 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/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr "Utilisé pour stocker les informations spécifiques des comptes."
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
@@ -1486,27 +1500,27 @@ msgstr ""
 "Utilisé pour verrouiller les entrées actuellement modifiées afin d'éviter de "
 "multiples changements simultanés."
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Object class obligatoire '%s' manquante !"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr "Object class facultative '%s' manquante !"
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr "La version requise des object class ne correspond pas '%s' (!=%s) !"
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr "Classe(s) disponible(s)"
 
-#: include/functions.inc:2787
+#: 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."
@@ -1515,7 +1529,7 @@ msgstr ""
 "serveur ldap' lors de l'installation, mais la configuration de vos schéma ne "
 "supportent pas cette option."
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
@@ -1523,7 +1537,7 @@ msgstr ""
 "Pour pouvoir utiliser des groupes conformes à la norme rfc2307bis, "
 "l'objectClass 'posixGroup' doit être       AUXILIARY"
 
-#: include/functions.inc:2792
+#: 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."
@@ -1532,103 +1546,101 @@ msgstr ""
 "avez désactivé cette option lors de l'étape 'configuration de l'annuaire "
 "ldap' du programme d'installation."
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr "L'objectClass 'posixGroup' doit être STRUCTURAL"
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Allemand"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Français"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italien"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Espagnol"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Anglais"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Hollandais"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Polonais"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "Chinois"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr "Vietnamien"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Russe"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr ""
 "La commande '%s', utilisée dans le POSTMODIFY de l'extension '%s' n'existe "
 "pas."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr "Impossible de générer un hash samba !"
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 "Impossible de générer le mot de passe samba: l'exécution de '%s' à échoué, "
 "veuillez vérifier le paramètre 'sambaHashHook'!"
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr "Méthode d'allocation des id inconnue !"
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Impossible de créer l'entrée sambaUnixIdPool !"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr "sambaUnixIdPool n'est pas unique !"
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr "Pas d' ID disponibles !"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr "Nombre maximum d'essais dépassés !"
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr "Impossible d'assigner un ID libre !"
 
@@ -1666,31 +1678,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1805,13 +1817,13 @@ msgstr "Type"
 msgid "Arguments"
 msgstr "Arguments"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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/class_plugin.inc:509
+#: 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!"
@@ -1819,29 +1831,29 @@ 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:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr "Changement du dn de l'acl"
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "de"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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/class_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr "Restaurer"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "couper"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "copier"
 
@@ -2073,8 +2085,7 @@ msgstr "Impossible d'exécuter '%s' de la commande (%s) pour l'extension %s !"
 #: 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 !"
+msgstr "Impossible d'exécuter l'option '%s' de la commande pour l'extension %s !"
 
 #: include/utils/class_msgPool.inc:228
 #, php-format
@@ -2120,83 +2131,83 @@ msgstr "Le champ obligatoire '%s' n'est pas rempli !"
 msgid "Example"
 msgstr "Exemple"
 
-#: include/utils/class_msgPool.inc:292
+#: 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/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr "'%s' n'est pas permis :"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr "'%s' n'est pas autorisé !"
 
-#: include/utils/class_msgPool.inc:296
+#: 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/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Extension PHP %s manquante !"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: 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/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr "Ajouter %s"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr "Supprimer %s"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr "Activer %s"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr "Editer..."
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr "Editer %s..."
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Retour"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
+msgid "This account has %s settings enabled. You can disable them by clicking below."
 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:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2205,15 +2216,14 @@ 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:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+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."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, php-format
 msgid ""
 "This account has %s settings disabled. To enable them, you'll need to add "
@@ -2222,184 +2232,184 @@ 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:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr "Ajouter %s paramètres"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr "Effacer %s paramètres"
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 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"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Janvier"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Février"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Mars"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Avril"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Mai"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Juin"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Juillet"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Août"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Septembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Octobre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Novembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Décembre"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Dimanche"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Lundi"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr "Mardi"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr "Mercredi"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr "Jeudi"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Vendredi"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Samedi"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr "La requête MySQL à échoué !"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr "lecture"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr "ajout"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr "modification"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr "suppression"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr "recherche"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr "authentification"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr "La requête LDAP %s à échoué !"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr "La requête LDAP à échoué !"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr "Le téléchargement à échoué !"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr "Le téléchargement à échoué : %s"
 
-#: include/utils/class_msgPool.inc:492
+#: 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:494
+#: 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:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: 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:509
+#: 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:515
+#: 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:521
+#: 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:527
+#: include/utils/class_msgPool.inc:530
 #, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Impossible d'écrire dans le fichier '%s' !"
 
-#: include/utils/class_msgPool.inc:533
+#: include/utils/class_msgPool.inc:536
 #, php-format
 msgid ""
 "The value for '%s' is currently unconfigured or invalid, please check your "
@@ -2408,32 +2418,32 @@ msgstr ""
 "La valeur de '%s' est actuellement vide ou non valide, veuillez vérifier "
 "votre fichier de configuration !"
 
-#: include/utils/class_msgPool.inc:539
+#: 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:545
+#: 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:551
+#: 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:557
+#: 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:563
+#: 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/utils/class_msgPool.inc:569
+#: include/utils/class_msgPool.inc:572
 #, php-format
 msgid ""
 "Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
@@ -2442,10 +2452,9 @@ msgstr ""
 "Impossible d'initialiser la classe '%s' ! Peut être manque t'il une "
 "extension dans votre installation de GOsa ?"
 
-#: include/utils/class_msgPool.inc:575
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr ""
+#: 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"
@@ -2460,30 +2469,29 @@ msgstr ""
 
 #: include/class_ldap.inc:693
 #, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+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_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 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/class_ldap.inc:828
+#: 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_ldap.inc:830
+#: 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_ldap.inc:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2492,7 +2500,7 @@ msgstr ""
 "Ceci n'est pas un DN valide: '%s'. Le fichier d'importation doit commencer "
 "avec 'dn: ...' à la ligne %s"
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2562,14 +2570,17 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Tout les objets dans cette catégorie"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 "Le format du fichier de configuration à changé. Veuillez réexecuter "
 "l'installation !"
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2600,17 +2611,17 @@ 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:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr "Ces objets seront collés : %s"
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr "Cet objet sera collé : %s"
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "Impossible de coller"
 
@@ -2619,12 +2630,12 @@ msgid "Please fix the above error and reload the page."
 msgstr "Veuillez fixer l'erreur ci dessus et recharger la page."
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Informations"
@@ -2637,7 +2648,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Messagerie"
@@ -2645,14 +2656,14 @@ msgstr "Messagerie"
 #: 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:756
+#: 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 ""
 
 #: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr ""
 
@@ -2670,7 +2681,7 @@ msgstr ""
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Groupes"
@@ -2681,10 +2692,9 @@ msgstr "Groupes"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: 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"
 
@@ -2692,16 +2702,14 @@ msgstr "Département"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2783,6 +2791,7 @@ msgstr "L'équipe de 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
@@ -2798,6 +2807,7 @@ 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
@@ -2805,62 +2815,74 @@ msgid "User"
 msgstr "Utilisateur"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2868,32 +2890,32 @@ msgstr "Nom"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2904,6 +2926,7 @@ msgstr ""
 #: 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
@@ -2957,7 +2980,7 @@ msgstr ""
 "données."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Groupes d'objets"
 
@@ -2967,7 +2990,7 @@ msgstr "Gestion des groupe d'objets"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr "Erreur d'infrastructure"
 
@@ -2979,87 +3002,87 @@ msgstr "Modèles"
 msgid "Windows Install"
 msgstr "Installation Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: 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 !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "nombre d'objets différents trop important !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "utilisateurs"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "groupes"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "départements"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "serveurs"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "stations de travail"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr "Stations Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "terminaux"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "téléphones"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "imprimantes"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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é"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "le dn n'existe pas :"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
@@ -3068,19 +3091,19 @@ msgstr ""
 "Ces systèmes sont déjà configurés par d'autres groupes d'objets et ne "
 "peuvent pas être ajoutés :"
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: 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 !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr "Groupes d'objets"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 msgid "Sytem trust"
 msgstr "Système de Confiance"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr "Membres"
 
@@ -3100,7 +3123,7 @@ msgid "Descriptive text for this group"
 msgstr "Description du groupe"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Système de Confiance"
@@ -3139,7 +3162,7 @@ msgstr "Sommaire FAI"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3198,7 +3221,7 @@ msgid "List of object groups"
 msgstr "Liste des groupes d'objets"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3209,15 +3232,15 @@ msgid "Properties"
 msgstr "Propriétés"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Créer"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3225,12 +3248,12 @@ msgstr "Créer"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Supprimer"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr "Envoyer un message"
@@ -3307,18 +3330,20 @@ msgstr ""
 "impossible pour GOsa de récupérer vos données."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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"
 
 #: 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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Nom de famille"
 
@@ -3393,6 +3418,12 @@ msgstr "Groupes Samba"
 msgid "Show mail groups"
 msgstr "Groupes de messagerie"
 
+#: 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"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Préférences des groupes"
@@ -3401,15 +3432,24 @@ msgstr "Préférences des groupes"
 msgid "List of groups"
 msgstr "Liste des groupes"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+msgid "Group submenu entry"
+msgstr "Sous menu de groupe"
+
+#: plugins/admin/groups/group-list.xml:31
+msgid "Group menu entry"
+msgstr "Entrée du menu de groupe"
+
+#: plugins/admin/groups/group-list.xml:155
 msgid "Edit group"
 msgstr "Editer le groupe"
 
-#: plugins/admin/groups/group-list.xml:151
+#: 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 !"
 
@@ -3455,8 +3495,7 @@ msgstr "! identifiant inconnu"
 #: 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 !"
+msgstr "La recherche à retourné trop de résultats. Je n'affiche que %s entr§es !"
 
 #: plugins/admin/groups/class_group.inc:894
 #, php-format
@@ -3468,14 +3507,14 @@ msgstr "Impossible de trouver le SID pour '%s' !"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Impossible de trouver le RIDBASe pour '%s' !"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: 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' !"
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3483,27 +3522,27 @@ msgstr "L'identifiant de groupe '%s' est déjà utilisé par '%s' !"
 msgid "GID"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr "Préférences des groupes génériques"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr "Groupe Samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr "Domaine Samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr "Groupe téléphonique"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr "Groupe Nagios"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr "Membre du groupe"
 
@@ -3522,19 +3561,19 @@ msgid "Edit posix properties"
 msgstr "Modifier les propriétés posix"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: 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"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: 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"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: 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"
@@ -3550,7 +3589,7 @@ msgid "Edit start menu properties"
 msgstr "Modifier les propriétes du menu de démarrage"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: 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"
@@ -3576,7 +3615,8 @@ msgstr ""
 "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."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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."
@@ -3584,19 +3624,48 @@ msgstr ""
 "Changer le mot de passe affecte votre identification sur la messagerie, le "
 "proxy, samba, et les services unix."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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"
 
-#: plugins/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr "Sécurité"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+msgid "Password input dialog"
+msgstr "Saisie du mot de passe"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+msgid "Use proposal"
+msgstr "Proposition"
+
+#: 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"
+
+#: 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."
+
+#: 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"
 
@@ -3615,7 +3684,7 @@ msgstr ""
 "Sélectionnez 'aucun' afin de ne pas utiliser les modèles."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3635,17 +3704,17 @@ msgstr "Prénom"
 msgid "Manage users"
 msgstr "Gèrer les utilisateurs"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 msgid "You have no permission to change this users password!"
 msgstr ""
 "Vous n'avez pas l'autorisation pour changer le mot de passe de ce(s) "
 "utilisateurs !"
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr "Verrouillage du compte"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: plugins/admin/users/class_userManagement.inc:783
 #, php-format
 msgid ""
 "Password method '%s' does not support locking. Account (%s) has not been "
@@ -3654,19 +3723,19 @@ 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:730
+#: plugins/admin/users/class_userManagement.inc:856
 msgid "Unlock account"
 msgstr "Déverrouiller le compte"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 msgid "Lock account"
 msgstr "Verrouiller Compte"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: 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:748
+#: 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
@@ -3674,19 +3743,19 @@ msgstr "Modifier les propriétés de base"
 msgid "POSIX"
 msgstr "UNIX"
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 msgid "Edit POSIX properties"
 msgstr "Modifier les propriétés UNIX"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: 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:769
+#: plugins/admin/users/class_userManagement.inc:895
 msgid "Edit FAX properties"
 msgstr "Modifier les propriétés FAX"
 
@@ -3784,7 +3853,7 @@ msgstr "Liste des départements"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 msgid "Domain"
 msgstr "Domaine"
 
@@ -3795,29 +3864,27 @@ msgstr "Composant domaine"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3839,27 +3906,45 @@ msgstr "Nom du lieu à créer"
 msgid "Descriptive text for department"
 msgstr "Description du département"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 ""
+
+#: 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"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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"
 
@@ -3876,8 +3961,8 @@ msgid "Descriptive text for   department"
 msgstr "Description du département"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: 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"
@@ -3887,89 +3972,83 @@ msgstr "Catégorie"
 msgid "Category for this subtree"
 msgstr "Catégorie pour cette branche de l'annuaire"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "Lieu de cette branche"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Adresse"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr "Adresse postale de cette branche"
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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"
 
-#: plugins/admin/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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/admin/departments/generic.tpl:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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"
 
-#: plugins/admin/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Départements"
 
@@ -3977,7 +4056,7 @@ msgstr "Départements"
 msgid "Manage Departments"
 msgstr "Gérer les départements"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 "
@@ -3987,20 +4066,20 @@ msgstr ""
 "page et appuyer sur le bouton 'Continuer' pour continuer la gestion des "
 "départements."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr "Nom de l'entreprise"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Adresse postale"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Numéro de téléphone"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr "Pays"
@@ -4017,46 +4096,46 @@ msgstr "Nom du domaine à créer"
 msgid "Name of country to create"
 msgstr "Nom du pays à créer"
 
-#: plugins/admin/departments/class_department.inc:372
+#: 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 !"
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Marquer '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Bouger '%s' vers '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: 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"
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Nom du département"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Téléphone"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "L'objet '%s' est déjà marqué"
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr "Ajouter une marque (%s) à l'objet '%s'"
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Suppression de la marque de l'objet '%s'"
@@ -4160,14 +4239,12 @@ msgstr "Objet utilisé"
 #: 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 :"
+msgstr "Ce rôle ne peut pas être supprimé car il est encore utilisé par ces objets :"
 
 #: 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Rôle"
 
@@ -4203,29 +4280,29 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Editer les paramètres organisationnels de l'utilisateur"
 
-#: plugins/personal/generic/class_user.inc:279
+#: 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 !"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "féminin"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "masculin"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr "Impossible de télécharger le fichier !"
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Numéro de série"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
@@ -4233,256 +4310,249 @@ msgstr ""
 "(Certains types de certificats ne sont pas supportés et peuvent être "
 "affichés comme 'non valides'.)"
 
-#: plugins/personal/generic/class_user.inc:532
+#: 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."
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "valide"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "invalide"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Pas de certificat installé"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 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/generic/class_user.inc:1143
+#: 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 !"
 
-#: plugins/personal/generic/class_user.inc:1150
+#: 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 !"
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 "Imposible de contruire un RDN: les paramètres de l'attribut sont non "
 "valides !"
 
-#: plugins/personal/generic/class_user.inc:1239
+#: 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 !"
+msgstr "Le format de stockage sélectionné nécessite une configuration de base !"
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Page d'accueil"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: plugins/personal/generic/class_user.inc:1365
+#: plugins/personal/generic/class_user.inc:1828
+#: plugins/personal/generic/generic.tpl:415
 msgid "Pager"
 msgstr "Bip"
 
-#: plugins/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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"
 
-#: plugins/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr "Impossible d'ouvrir le certificat !"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Unité"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Identifiant du bâtiment"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Travail"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Dernière distribution"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Lieu de résidence"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Description de l'unité"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Zone de sujet"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Fonction"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: 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"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Visible par tous"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Rue"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Code postal"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr "Paramètres par défaut des utilisateurs"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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"
 
-#: plugins/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr "Information Utilisateur"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Titre Personnel"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Titre Universitaire"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Sexe"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr "Langue préférée"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "Image de l'utilisateur"
 
-#: plugins/personal/generic/class_user.inc:1626
-#, fuzzy
+#: plugins/personal/generic/class_user.inc:1692
 msgid "Login restrictions"
-msgstr "Restrictions pour les mot de passe"
+msgstr "Restriction de connexions"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr "Numéro du département"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr "Numéro de l'employé"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Type de l'employé"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr "Numéro du bureau"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr "Numéro de téléphone"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr "Numéro de page"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr "Numéro de GSM"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr "Numéro de fax"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Adresse postale personnelle"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr "Numéro de téléphone privé"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 msgid "User password method"
 msgstr "Méthode d'encodage des mots de passe"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr "Certificats utilisateurs"
 
+#: plugins/personal/generic/class_user.inc:1923
+msgid "Entries differ"
+msgstr "Les entrées sont différentes"
+
+#: 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 ""
+"Votre mot de passe a été changé. N'oubliez pas de modifier les programmes "
+"qui l'utilisent."
+
 #: plugins/personal/generic/generic.tpl:6
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4499,73 +4569,56 @@ msgid "Template name"
 msgstr "Nom du modèle"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Langue préférée"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Numéro de téléphone privé"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Format de stockage des mots de passe"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certificats"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Editer des certificats"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr "Restreindre le login à"
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr "IP ou réseau"
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Informations sur l'entreprise"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "No. du département."
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "No. de l'employé."
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "No. de bureau."
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Veuillez utiliser l'onglet téléphone"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Sélectionnez la branche où sera enregistrée l'utilisateur"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Sélectionnez une base"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Préférences utilisateur"
@@ -4583,23 +4636,30 @@ msgstr "Attribuer un nouveau mot de passe"
 msgid "Remove picture"
 msgstr "Suppression de l'image personnelle"
 
-#: plugins/personal/generic/main.inc:115
-msgid "You have no permission to set your password!"
-msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe !"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Information générales sur l'utilisateur"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"Vous avez sélectionnez une autre méthode de stockage des mots de passe. Pour "
-"cette raison vous devez ressaisir votre mot de passe afin que GOsa puisse le "
-"réencoder et l'enregistrer dans l'annuaire LDAP."
+"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/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Effacer les données dans les champs"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4613,6 +4673,15 @@ msgstr "Certificat S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Certificat PKCS12"
 
+#: 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/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/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr "Editer les paramètres Unix"
@@ -4688,7 +4757,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4721,53 +4790,53 @@ msgstr ""
 msgid "shadowInactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr "Compte Posix"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: 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:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr "ID du Groupe"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr "Forcer le changement de mot de passe au la connexion"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr "Clef SSH publique"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr "Système de Confiance"
 
@@ -4865,60 +4934,40 @@ msgstr "Paramètres Posix"
 
 #: 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"
+msgstr "L'utilisateur doit changer son mot de passe lors de sa première connexion"
 
 #: plugins/personal/posix/posix_shadow.tpl:34
 msgid "Password expires on"
 msgstr "Le mot de passe expirera le"
 
-#: 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 ""
-"Votre mot de passe a été changé. N'oubliez pas de modifier les programmes "
-"qui l'utilisent."
-
 #: 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/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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Effacer les données dans les champs"
+#: 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/password/class_password.inc:27
 msgid "Change user password"
 msgstr "Modifier votre mot de passe"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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/password/class_password.inc:85
+#: 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."
+msgstr "Le mot de passe que vous avez entré comme 'Nouveau mot de passe' est vide."
 
-#: plugins/personal/password/class_password.inc:94
+#: 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/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
@@ -4926,23 +4975,14 @@ msgstr ""
 "Le mot de passe entré comme mot de passe actuel ne correspond pas à votre "
 "mot de passe."
 
-#: plugins/personal/password/class_password.inc:114
+#: 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/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr "Mot de passe"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Le changement du mot de passe n'est pas autorisé"
-
-#: plugins/personal/password/nochange.tpl:6
-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"
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr "Compte / Groupes UNIX"
@@ -5007,13 +5047,12 @@ msgstr ""
 "Erreur lors de l'envoi de votre retour d'information:  service "
 "temporairement non disponible"
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 msgid "Please specify a valid email address."
 msgstr "Veuillez indiquer une adresse de messagerie valide."
 
-#: setup/class_setupStep_Feedback.inc:184
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+#: 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."
@@ -5152,12 +5191,12 @@ msgid "After migration"
 msgstr "Après migration"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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"
 
@@ -5346,11 +5385,6 @@ msgstr ""
 "GOsa. Si vous voulez changer ceci pour certains périphériques, veuillez les "
 "sélectionner et utiliser le bouton 'migration' ci dessous."
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Rafraîchir"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5409,8 +5443,7 @@ msgstr "Vérification de l'installation"
 
 #: 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."
+msgstr "Vérification de base de la version de PHP et des extensions nécéssaires."
 
 #: setup/class_setupStep_Checks.inc:64
 msgid "Checking PHP version"
@@ -5438,10 +5471,10 @@ msgid "GOsa requires this module for the samba integration."
 msgstr "GOsa à besoin de ce module pour dialoger avec Samba."
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
-msgstr ""
-"GOsa à besoin de ce module est nécessaire pour l'utilisation de l'encryption "
-"SSHA."
+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."
 
 #: setup/class_setupStep_Checks.inc:105
 msgid "GOsa requires this module to talk to an IMAP server."
@@ -5453,16 +5486,14 @@ msgstr "mbstring"
 
 #: 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."
+msgstr "GOsa a besoin  de ce module pour gèrer les chaînes de caractère unicode."
 
 #: setup/class_setupStep_Checks.inc:120
 msgid "MySQL"
 msgstr "MySQL"
 
 #: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
+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."
@@ -5478,8 +5509,7 @@ msgstr ""
 "mots de passe Samba."
 
 #: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
+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."
@@ -5565,8 +5595,7 @@ msgstr ""
 "mémoire pour les installations plus complexes."
 
 #: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+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."
@@ -5588,8 +5617,7 @@ msgid "The Execution time should be at least 30 seconds."
 msgstr "Le temps d'exécution doit être au moins de 30 secondes."
 
 #: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+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."
@@ -5631,8 +5659,7 @@ msgstr ""
 "'off'."
 
 #: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+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'."
@@ -5848,32 +5875,36 @@ msgid "What PHP version do you use?"
 msgstr "Quelle version de php utilisez vous ?"
 
 #: setup/setup_feedback.tpl:115
+msgid "GOsa version"
+msgstr "Version de GOsa"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr "Quel type de serveur(s) ldap utilisez vous ?"
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr "Combien d'objet sont dans votre annuaire LDAP ?"
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr "Fonctionalités"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr "Quel fonctionnalités de GOsa utilisez vous ?"
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 "Quelle fonctionnalités voulez vous voir dans les prochaines versions de "
 "GOsa ?"
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr "Envoyer vos réponses"
 
@@ -5909,26 +5940,26 @@ msgstr ""
 "Cette boite de dialogue permet d'indiquer la configuration de base LDAP pour "
 "GOsa."
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr "La connexion anonyme sur le serveur '%s' à échoué !"
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "la connexion comme l'utilisateur '%s' à échoué !"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr "La connexion anonyme sur le serveur '%s' à réussi."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 msgid "Please specify user and password!"
 msgstr "Veuillez introduire un utilisateur et un mot de passe !"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr "La connexion comme l'utilisateur '%s' au serveur '%s' à réussi !"
@@ -5961,14 +5992,9 @@ msgstr "Authentification"
 msgid "Admin DN"
 msgstr "DN de l'administrateur"
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Sélectionner un utilisateur"
-
 #: 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"
+msgstr "Ajouter automatiquement la base de l'annuaire LDAP au DN de l'administrateur"
 
 #: setup/setup_ldap.tpl:93
 msgid "Admin password"
@@ -6015,7 +6041,7 @@ msgid "Checking for invisible users"
 msgstr "Vérification des utilisateurs invisibles"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr "Vérification du superadministrateur"
 
@@ -6054,24 +6080,24 @@ 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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é"
 
 #: 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:655 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
+#: 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."
 
@@ -6085,23 +6111,22 @@ msgstr "J'ai trouvé %s valeur dupliquées pour l'attribut 'uidNumber'."
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr "J'ai trouvé %s valeur dupliquées pour l'attribut 'gidNumber'."
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
 #: setup/class_setupStep_Migrate.inc:375
 #, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
+msgid "Found %s winstations outside the predefined winstation department ou '%s'."
 msgstr ""
 "J'ai trouvé %s winstations en dehors du département winstation prédéfini '%"
 "s'."
@@ -6120,134 +6145,129 @@ msgstr "Bouger"
 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'."
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
-"L'utilisateur spécifié '%s' n'a pas l'accès complet à votre annuaire ldap."
+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."
 
-#: setup/class_setupStep_Migrate.inc:663
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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' :"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, 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."
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, 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:1033
+#: 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."
+msgstr "Il n'y a pas d'administrateur GOsa 2.6 valide dans votre annuaire LDAP."
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr "Impossible d'ajouter une ACL pour l'utilisateur '%s' :"
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr "Erreur d'entrée"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr "Erreur de mot de passe"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: 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 !"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Specify a valid user ID!"
 msgstr "Le nom d'utilisateur est incorrect !"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: 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 !"
+msgstr "L'ajout d'un utilisateur administratif à échoué : l'objet '%s' existe déja !"
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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é !"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr "Les stations windows seront bougées depuis"
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr "Les groupes seront bougés depuis"
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr "Les utilisateurs seront bougés depuis"
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr "Les références suivantes seront mises à jour"
 
-#: setup/class_setupStep_Migrate.inc:1990
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
+#: setup/class_setupStep_Migrate.inc:1991
+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."
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Object class '%s' de GOsa manquante !"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 msgid "Please check your installation."
 msgstr "Veuillez vérifier votre installation."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: setup/class_setupStep_Migrate.inc:2081
 #, php-format
 msgid ""
 "Cannot handle the structural object type of your root object. Please try to "
@@ -6256,33 +6276,33 @@ 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."
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "La copie de '%s' vers '%s' à échoué :"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: 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."
@@ -6444,8 +6464,7 @@ msgstr "Compresser les données envoyées au navigateur web"
 
 #: setup/setup_config1.tpl:27
 msgid "People and group storage"
-msgstr ""
-"Branches de l'arbre ldap ou sont stockes les utilisateurs et les groupes"
+msgstr "Branches de l'arbre ldap ou sont stockes les utilisateurs et les groupes"
 
 #: setup/setup_config1.tpl:30
 msgid "People DN attribute"
@@ -6658,16 +6677,3 @@ msgstr "Cette étape vous permet de sélectionner votre langue préférée."
 msgid "Automatic"
 msgstr "Automatique"
 
-#~ msgid "Inconsistent DN encoding detected: '%s'"
-#~ msgstr "Encodage du inconsistant du DN détecté : '%s'"
-
-#~ msgid "Choose a base"
-#~ msgstr "Sélectionnez une base"
-
-#~ msgid "Choose subtree to place group in"
-#~ msgstr "Sélectionnez la branche où sera placée le groupe"
-
-#~ msgid "Choose subtree to place department in"
-#~ msgstr ""
-#~ "Sélectionnez la branche de l'annuaire dans laquelle sera placée le "
-#~ "département"
diff --git a/gosa-core/locale/core/it/LC_MESSAGES/messages.po b/gosa-core/locale/core/it/LC_MESSAGES/messages.po
index a3c26de..2374a3d 100644
--- a/gosa-core/locale/core/it/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/it/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -18,12 +18,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -31,10 +31,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -62,7 +62,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -136,7 +136,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Salva"
@@ -178,7 +178,7 @@ msgid ""
 "and let me use filters instead"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Imposta"
@@ -205,7 +205,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -269,11 +269,13 @@ msgstr "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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -331,8 +333,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Oggetto"
 
@@ -373,8 +375,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Continua"
 
@@ -383,17 +385,19 @@ msgstr "Continua"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -403,27 +407,26 @@ msgstr "Continua"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -431,7 +434,7 @@ msgstr ""
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Informazioni"
 
@@ -439,17 +442,17 @@ msgstr "Informazioni"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -469,16 +472,16 @@ msgstr "Setup completato"
 msgid "Your password has been changed successfully."
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
@@ -491,7 +494,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -501,7 +507,10 @@ msgid "New password repeated"
 msgstr "Nuova password"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
@@ -578,7 +587,7 @@ msgstr "Termina sessione"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -605,9 +614,9 @@ msgstr "Connesso:"
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 msgid "Fatal error"
 msgstr "Terminal Server"
@@ -618,16 +627,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -635,6 +644,7 @@ msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
 #: 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"
@@ -644,7 +654,7 @@ msgstr "File di configurazione"
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr ""
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "Password method"
 msgstr "Algorimo password"
@@ -653,30 +663,30 @@ msgstr "Algorimo password"
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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 password nuova e ripetuta non corrispondono"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: html/password.php:204 plugins/personal/password/class_password.inc:138
 msgid "The password used as new and current are too similar."
 msgstr ""
 "La password immessa come 'Nuova password' è troppo simile a quella attuale."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -694,11 +704,11 @@ msgstr "Non hai il permesso di cambiare la tua password."
 msgid "External password changer reported a problem: "
 msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr ""
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr ""
 
@@ -736,44 +746,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
@@ -809,7 +819,7 @@ msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 "Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -836,35 +846,35 @@ msgid ""
 "fixed by an administrator."
 msgstr ""
 
-#: html/main.php:228
+#: html/main.php:198
+#, fuzzy
+msgid "Your password is about to expire, please change your password!"
+msgstr "Non hai il permesso di cambiare la tua password."
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:339
-#, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "Non hai il permesso di cambiare la tua password."
-
-#: html/main.php:349
+#: html/main.php:373
 #, fuzzy
 msgid "Plugin"
 msgstr "Ricerca"
 
-#: html/main.php:350
+#: html/main.php:374
 #, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr ""
 
-#: html/main.php:364
+#: html/main.php:388
 #, fuzzy
 msgid "Configuration Error"
 msgstr "File di configurazione"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -908,31 +918,31 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, fuzzy, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr "Non hai il permesso di cambiare la tua password."
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: include/class_management.inc:525 include/class_plugin.inc:1602
+#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
 #, fuzzy, php-format
 msgid "You are not allowed to restore a snapshot for %s."
 msgstr "Non hai il permesso di cambiare la tua password."
@@ -1026,25 +1036,25 @@ msgid "Use ACL defined in role"
 msgstr ""
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Gruppi di utenti"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 #, fuzzy
@@ -1054,7 +1064,7 @@ 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: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
@@ -1073,7 +1083,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1145,11 +1155,11 @@ 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:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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
 #, fuzzy
@@ -1207,7 +1217,7 @@ msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr ""
 "Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1216,96 +1226,97 @@ msgstr ""
 msgid "Select all"
 msgstr "Rimuovi"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "Creare"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Vai al dipartimento base"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Root"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Sali di dipartimento"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Vai agli utenti del dipartimento"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Home"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr ""
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr ""
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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/class_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 #, fuzzy
 msgid "Copy"
 msgstr "Azienda"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 #, fuzzy
 msgid "Cut"
 msgstr "Esegui"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 #, fuzzy
 msgid "Cut this entry"
 msgstr "Modifica questo record"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 #, fuzzy
 msgid "Copy this entry"
 msgstr "Modifica questo record"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "Crea estensioni di posta"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 #, fuzzy
 msgid "Export list"
 msgstr "Esporta"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 #, fuzzy
 msgid "Create snapshot"
 msgstr "Crea estensioni di posta"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 #, fuzzy
 msgid "Create a new snapshot from this object"
 msgstr "Gruppo di oggetti"
@@ -1318,29 +1329,29 @@ msgstr "Modifica questo record"
 msgid "Delete this entry"
 msgstr "Elimina questo record"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: 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:519
+#: include/functions.inc:526
 #, fuzzy
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr ""
 "Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 #, fuzzy
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
@@ -1348,11 +1359,11 @@ msgid ""
 msgstr ""
 "Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1360,239 +1371,249 @@ msgid ""
 msgstr ""
 "Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr ""
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
 msgstr ""
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr ""
 
-#: include/functions.inc:1235
+#: 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/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Configura"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "incompleto"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 #, fuzzy
 msgid "Continue anyway"
 msgstr "Continua"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 #, fuzzy
 msgid "Edit anyway"
 msgstr "Modifica contatto"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, fuzzy, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr "Non hai il permesso di cambiare la tua password."
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr ""
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr ""
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Utenti di Dominio"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "versione di sviluppo di GOsa (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "versione di sviluppo di GOsa (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 #, fuzzy
 msgid "Cannot write to revision file!"
 msgstr "Rimuovi"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "LDAP warning"
 msgstr "Amministrazione LDAP"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr ""
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, fuzzy, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Lista dei dipartimenti"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr ""
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Tedesco"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Francese"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italiano"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Spagnolo"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Inglese"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Tedesco"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 #, fuzzy
 msgid "Polish"
 msgstr "Inglese"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 #, fuzzy
 msgid "Chinese"
 msgstr "reset"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Nome"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Russo"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr ""
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr "Troppi utenti non posso allocare un ID libero!"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Vai al dipartimento base"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 #, fuzzy
 msgid "Cannot allocate a free ID!"
 msgstr "Troppi utenti non posso allocare un ID libero!"
@@ -1630,31 +1651,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1769,46 +1790,46 @@ msgstr "Tipo"
 msgid "Arguments"
 msgstr "Argomenti"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 #, fuzzy
 msgid "from"
 msgstr "e"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 #, fuzzy
 msgid "Restore"
 msgstr "Riprova"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 #, fuzzy
 msgid "cut"
 msgstr "Esegui"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr ""
 
@@ -2102,81 +2123,82 @@ msgstr "Il campo necessario 'Home directory' non è vuoto"
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, fuzzy, php-format
 msgid "'%s' are not allowed!"
 msgstr "Cambia la password"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, fuzzy, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Elimina foto"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Aggiungi"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, fuzzy, php-format
 msgid "Add %s"
 msgstr "Aggiungi"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, fuzzy, php-format
 msgid "Delete %s"
 msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, fuzzy, php-format
 msgid "Set %s"
 msgstr "Imposta"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit..."
 msgstr "Modifica"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit %s..."
 msgstr "Modifica contatto"
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Indietro"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: 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/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2185,13 +2207,13 @@ msgstr ""
 "Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
 "le estensioni Samba / ambiente."
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
 msgstr "Questa identità non possiede estensioni Unix"
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: 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 "
@@ -2200,233 +2222,233 @@ msgstr ""
 "Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
 "le estensioni Samba / ambiente."
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, fuzzy, php-format
 msgid "Add %s settings"
 msgstr "Opzioni applicazione"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, fuzzy, php-format
 msgid "Remove %s settings"
 msgstr "Impostazioni Unix"
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 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"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Gennaio"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Febbraio"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Marzo"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Aprile"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Maggio"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Giugno"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Luglio"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Agosto"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Settembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Ottobre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Novembre"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Dicembre"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Sunday"
 msgstr "Cognome"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Monday"
 msgstr "mese"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 #, fuzzy
 msgid "MySQL operation failed!"
 msgstr "La query al database è fallita!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "read operation"
 msgstr "Opzioni di posta"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "modify operation"
 msgstr "Informazioni personali"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "delete operation"
 msgstr "Selezione le workstation da aggiungere"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "search operation"
 msgstr "L'account spira dopo"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "authentication"
 msgstr "Destinazione"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, fuzzy, php-format
 msgid "LDAP %s failed!"
 msgstr "La query al database è fallita!"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 #, fuzzy
 msgid "LDAP operation failed!"
 msgstr "La query al database è fallita!"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 #, fuzzy
 msgid "Upload failed!"
 msgstr "Nome applicazione"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, fuzzy, php-format
 msgid "Upload failed: %s"
 msgstr "Utenti di Dominio"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: 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:509
+#: 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/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, fuzzy, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, fuzzy, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Vai al dipartimento base"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, fuzzy, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, fuzzy, php-format
 msgid "Checking for %s support"
 msgstr "Controllo il supporto per iconv"
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2446,29 +2468,29 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: 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:830
+#: 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:1052
+#: 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 ""
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2539,12 +2561,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Nome descrittivo del gruppo"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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 ""
 
@@ -2575,17 +2600,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr "Rimuovi"
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 #, fuzzy
 msgid "Cannot paste"
 msgstr "Crea estensioni telefoniche"
@@ -2595,12 +2620,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Generale"
@@ -2613,7 +2638,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Posta"
@@ -2621,14 +2646,14 @@ msgstr "Posta"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "FAX"
 
@@ -2646,7 +2671,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Gruppo"
@@ -2657,10 +2682,9 @@ msgstr "Gruppo"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Dipartimento"
 
@@ -2668,16 +2692,14 @@ msgstr "Dipartimento"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2759,6 +2781,7 @@ msgstr "Il team di 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
@@ -2776,6 +2799,7 @@ msgstr "Terminali"
 #: 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
@@ -2783,62 +2807,74 @@ msgid "User"
 msgstr ""
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2846,32 +2882,32 @@ msgstr "Cognome"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2882,6 +2918,7 @@ msgstr "Base"
 #: 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
@@ -2941,7 +2978,7 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Gruppi di oggetti"
 
@@ -2952,7 +2989,7 @@ msgstr "Nome del gruppo"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 #, fuzzy
 msgid "Infrastructure error"
 msgstr "Errore PHP"
@@ -2966,107 +3003,107 @@ msgstr "Template"
 msgid "Windows Install"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "utenti"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "gruppi"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "applicazioni"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "dipartimenti"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "server"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 #, fuzzy
 msgid "winstations"
 msgstr "Amministrazione"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "telefoni"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "stampanti"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 #, fuzzy
 msgid "Object group generic"
 msgstr "Gruppo di oggetti"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "Accesso ai sistemi"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 #, fuzzy
 msgid "Member"
 msgstr "Membri"
@@ -3087,7 +3124,7 @@ msgid "Descriptive text for this group"
 msgstr "Nome descrittivo del gruppo"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Accesso ai sistemi"
@@ -3128,7 +3165,7 @@ msgstr ""
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3199,7 +3236,7 @@ msgid "List of object groups"
 msgstr "Nome del gruppo"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3210,15 +3247,15 @@ msgid "Properties"
 msgstr ""
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Creare"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3226,12 +3263,12 @@ msgstr "Creare"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Rimuovi"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 #, fuzzy
 msgid "Send message"
@@ -3308,18 +3345,20 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Cognome"
 
@@ -3398,6 +3437,13 @@ msgstr "Mostra gruppi samba"
 msgid "Show mail groups"
 msgstr "Mostra gruppi samba"
 
+#: 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 "Rimuovi"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 #, fuzzy
 msgid "Group settings"
@@ -3407,17 +3453,28 @@ msgstr "Impostazioni FAX"
 msgid "List of groups"
 msgstr "Lista dei gruppi"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Membri del gruppo"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Membri del gruppo"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "Gruppo primario"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "server"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 msgid "Cannot find group SID in your configuration!"
 msgstr ""
 
@@ -3471,14 +3528,14 @@ msgstr "Rimuovi"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Rimuovi"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3486,32 +3543,32 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 #, fuzzy
 msgid "Generic group settings"
 msgstr "Impostazioni generali delle code"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 #, fuzzy
 msgid "Samba group type"
 msgstr "Gruppo Samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 #, fuzzy
 msgid "Samba domain name"
 msgstr "Home di Samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 #, fuzzy
 msgid "Phone pickup group"
 msgstr "I membri sono in un gruppo di risposta telefonica"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 #, fuzzy
 msgid "Nagios group"
 msgstr "Contatto"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 #, fuzzy
 msgid "Group member"
 msgstr "Membri del gruppo"
@@ -3533,21 +3590,21 @@ msgid "Edit posix properties"
 msgstr "Modifica proprietà"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 #, fuzzy
 msgid "Edit mail properties"
 msgstr "Modifica proprietà"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 #, fuzzy
 msgid "Edit samba properties"
 msgstr "Modifica proprietà"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 #, fuzzy
 msgid "Edit phone properties"
@@ -3566,7 +3623,7 @@ msgid "Edit start menu properties"
 msgstr "Modifica proprietà"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 #, fuzzy
 msgid "Edit environment properties"
@@ -3586,7 +3643,8 @@ msgid ""
 "able to login without it."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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."
@@ -3594,20 +3652,54 @@ msgstr ""
 "Cambiare la passord influisce sull'autenticazione su posta, proxu Internet, "
 "Samba e Unix."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 #, fuzzy
 msgid "Strength"
 msgstr "Strada"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Password"
+
+#: 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/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/admin/users/password.tpl:49
+#: plugins/personal/generic/password.tpl:61
+#: plugins/personal/password/password.tpl:66
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "Prego inserire un numero di telefono valido!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Cambia la password"
+
+#: plugins/admin/users/password.tpl:84
+#: plugins/personal/generic/password.tpl:88
+#: plugins/personal/password/password.tpl:93
 msgid "Set password"
 msgstr "Cambia password"
 
@@ -3623,7 +3715,7 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3646,39 +3738,39 @@ msgstr "Liste di blocco"
 msgid "Manage users"
 msgstr "Utenti di Dominio"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 #, fuzzy
 msgid "You have no permission to change this users password!"
 msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 #, fuzzy
 msgid "Account locking"
 msgstr "Sicurezza"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "Identità"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "Identità"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 #, fuzzy
 msgid "Edit generic properties"
 msgstr "Modifica proprietà"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3686,21 +3778,21 @@ msgstr "Modifica proprietà"
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Modifica proprietà"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 #, fuzzy
 msgid "Edit netatalk properties"
 msgstr "Modifica proprietà"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Modifica proprietà"
@@ -3802,7 +3894,7 @@ msgstr "Lista dei dipartimenti"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "nel dominio"
@@ -3815,30 +3907,28 @@ msgstr "Amministratori di Dominio"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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 "Località"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3861,28 +3951,47 @@ msgstr ""
 msgid "Descriptive text for department"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "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
 #, fuzzy
 msgid "Administrative settings"
 msgstr "Amministrazione"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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 ""
 
@@ -3900,8 +4009,8 @@ msgid "Descriptive text for   department"
 msgstr "Nome descrittivo del gruppo"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr ""
@@ -3911,90 +4020,84 @@ msgstr ""
 msgid "Category for this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "Stato"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Indirizzo"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "Amministratori di Dominio"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Dipartimenti"
 
@@ -4003,28 +4106,28 @@ msgstr "Dipartimenti"
 msgid "Manage Departments"
 msgstr "Dipartimenti"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
 msgid "Organization name"
 msgstr "Organizzazione"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "CAP"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Numero di telefono"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 #, fuzzy
 msgid "Country name"
@@ -4043,45 +4146,45 @@ msgstr ""
 msgid "Name of country to create"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 #, fuzzy
 msgid "Department name"
 msgstr "Dipartimento"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Telefono"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr ""
@@ -4194,9 +4297,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Ruolo"
 
@@ -4235,291 +4337,287 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Opzioni applicazione"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "femmina"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "maschio"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 #, fuzzy
 msgid "Serial number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, php-format
 msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "valido"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "invalido"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Non ci sono certificati installati"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 msgid "The selected password method is no longer available."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 msgid "The selected password method requires initial configuration!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Home Page"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 #, fuzzy
 msgid "Cannot open certificate!"
 msgstr "Impossibile aprite il certificato selezionato!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Unità"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Identificativo della casa"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Ultimo recapito"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Località personale"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Descrizoione unità"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Funzione"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "Numero seriale del certificato"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Pubblico"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Strada"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "CAP"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 #, fuzzy
 msgid "Generic user settings"
 msgstr "Impostazioni generali delle code"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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:1615
+#: plugins/personal/generic/class_user.inc:1681
 #, fuzzy
 msgid "User identification"
 msgstr "Amministrazione utenti"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: 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:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Titolo di studio"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Sesso"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 #, fuzzy
 msgid "Preferred language"
 msgstr "Lingua preferita"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 #, fuzzy
 msgid "User picture"
 msgstr "Foto personale"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "La password spira il"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 #, fuzzy
 msgid "Department number"
 msgstr "Dipartimento"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 #, fuzzy
 msgid "Employee number"
 msgstr "Qualifica"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Qualifica"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 #, fuzzy
 msgid "Room number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 #, fuzzy
 msgid "Telefon number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 #, fuzzy
 msgid "Pager number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 #, fuzzy
 msgid "Mobile number"
 msgstr "Cellulare"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 #, fuzzy
 msgid "Fax number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 #, fuzzy
 msgid "Home phone number"
 msgstr "Numero di telefono"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "Algorimo password"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 #, fuzzy
 msgid "User certificates"
 msgstr "Certificato standard"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, fuzzy
+msgid "Entries differ"
+msgstr "Gruppo di utenti"
+
+#: 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/personal/generic/generic.tpl:6
-#: plugins/personal/generic/multiple_generic.tpl:5
 msgid "Personal information"
 msgstr "Informazioni personali"
 
 #: plugins/personal/generic/generic.tpl:20
 #: plugins/personal/generic/generic.tpl:22
 #: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4537,74 +4635,56 @@ msgid "Template name"
 msgstr "Template"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Lingua preferita"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Telefono privato"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Algorimo password"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certificati"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Modifica certificati"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Informazioni organizzazione"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Dipartimento No."
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Matricola"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Stanza No."
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Usa il tab del telefono"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Scegli il subtree per l'utente"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-#, fuzzy
-msgid "Select a base"
-msgstr "Rimuovi"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 #, fuzzy
 msgid "User settings"
@@ -4625,23 +4705,31 @@ msgstr "Cambia password"
 msgid "Remove picture"
 msgstr "Elimina foto"
 
-#: plugins/personal/generic/main.inc:115
-#, fuzzy
-msgid "You have no permission to set your password!"
-msgstr "Non hai il permesso di cambiare la tua password."
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Informazioni generali"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"Hai modificato il metodo con cui la tua password è immagazzinata nel "
-"database LDAP. Per questo motivo devi inserire nuovamnete la tua password."
+"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/personal/generic/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+#, 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"
@@ -4655,6 +4743,17 @@ msgstr "Certificato S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Certificato PKCS12"
 
+#: 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 "Non hai il permesso di cambiare la tua password."
+
+#: plugins/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Non hai il permesso di cambiare la tua password."
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
 msgid "Edit users POSIX settings"
@@ -4732,7 +4831,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4768,60 +4867,60 @@ msgstr "Mostra workstation"
 msgid "shadowInactive"
 msgstr "Mostra stampanti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 #, fuzzy
 msgid "POSIX account"
 msgstr "Estenzioni FTP"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 #, fuzzy
 msgid "Group ID"
 msgstr "Gruppo"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 #, fuzzy
 msgid "Force password change on login"
 msgstr "Cambia la password"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 #, fuzzy
 msgid "Shadow min"
 msgstr "Mostra terminali"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 #, fuzzy
 msgid "Shadow warning"
 msgstr "Mostra workstation"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 #, fuzzy
 msgid "Shadow inactive"
 msgstr "Mostra stampanti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 #, fuzzy
 msgid "Shadow expire"
 msgstr "Mostra persone"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 #, fuzzy
 msgid "System trust model"
 msgstr "Accesso ai sistemi"
@@ -4931,77 +5030,50 @@ msgstr "L'utente deve cambiare la password alla prima connessione"
 msgid "Password expires on"
 msgstr "La password spira il"
 
-#: 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/personal/password/main.inc:57 setup/setup_config1.tpl:136
 #, fuzzy
 msgid "Password settings"
 msgstr "Opzioni di posta dell'identità"
 
-#: 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/personal/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Ripulisci i campi"
+#: plugins/personal/password/password.tpl:14
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
 #: plugins/personal/password/class_password.inc:27
 #, fuzzy
 msgid "Change user password"
 msgstr "Cambia la password"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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:85
+#: 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:94
+#: 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:"
 
-#: plugins/personal/password/class_password.inc:108
+#: 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/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 #, fuzzy
 msgid "You have no permission to change your password."
 msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 #, fuzzy
 msgid "User password"
 msgstr "Nuova password"
 
-#: plugins/personal/password/nochange.tpl:2
-#, fuzzy
-msgid "Password change not allowed"
-msgstr "Cambia la password"
-
-#: plugins/personal/password/nochange.tpl:6
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "Non hai il permesso di cambiare la tua password."
-
 #: setup/class_setupStep_Feedback.inc:92
 #, fuzzy
 msgid "UNIX accounts/groups"
@@ -5074,12 +5146,12 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: 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:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5236,12 +5308,12 @@ msgid "After migration"
 msgstr "Amministrazione utenti"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 "Creare"
@@ -5404,12 +5476,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Riferimenti"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5493,7 +5559,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -5917,31 +5985,36 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Impostazioni generali delle code"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 #, fuzzy
 msgid "Features"
 msgstr "Futuro"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -5980,27 +6053,27 @@ msgid ""
 "GOsa."
 msgstr "I campi seguenti permettono una configurazione base di GOsa."
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, fuzzy, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "Impossibile selezionare il database!"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, fuzzy, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr "Impossibile selezionare il database!"
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
 msgid "Please specify user and password!"
 msgstr "Prego inserire un numero di telefono valido!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, fuzzy, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr "Impossibile selezionare il database!"
@@ -6037,11 +6110,6 @@ msgstr "Destinazione"
 msgid "Admin DN"
 msgstr "DN dell'amministratore"
 
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "Rimuovi"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -6099,7 +6167,7 @@ msgid "Checking for invisible users"
 msgstr "Controllo il supporto per iconv"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
 msgid "Checking for super administrator"
 msgstr "Controllo la presenza di alcuni programmi addizionali"
@@ -6146,12 +6214,12 @@ msgstr "Controllo il supporto per %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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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!"
@@ -6159,12 +6227,12 @@ msgstr "La query al database è fallita!"
 #: 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:655 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
+#: 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 ""
 
@@ -6178,16 +6246,16 @@ msgstr "Prego inserire un numero di telefono valido!"
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr "Prego inserire un numero di telefono valido!"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6212,168 +6280,168 @@ msgstr "Dominio"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
 msgid "Migration error"
 msgstr "Creare"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, fuzzy, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "Crea estensioni di posta"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Input error"
 msgstr "Errore PHP"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Password error"
 msgstr "La password spira il"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Provided passwords do not match!"
 msgstr "Le password nuova e ripetuta non corrispondono"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Specify a valid user ID!"
 msgstr "Prego inserire un numero di telefono valido!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
 msgid "Try to create root object"
 msgstr "Gruppo di oggetti"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, fuzzy, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Lista dei dipartimenti"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 msgid "Please check your installation."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, fuzzy, php-format
 msgid "Updating '%s' failed: %s"
 msgstr "Utenti di Dominio"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6767,6 +6835,33 @@ msgid "Automatic"
 msgstr "automatico"
 
 #, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Membri del gruppo"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Scegli il subtree per l'utente"
+
+#, fuzzy
+#~ 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 ""
+#~ "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."
+
+#, fuzzy
+#~ msgid "Password change not allowed"
+#~ msgstr "Cambia la password"
+
+#, fuzzy
 #~ msgid "Choose a base"
 #~ msgstr "Rimuovi"
 
@@ -7128,10 +7223,6 @@ msgstr "automatico"
 #~ msgstr "Cerca"
 
 #, fuzzy
-#~ msgid "Password end"
-#~ msgstr "Password"
-
-#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Nome applicazione"
 
@@ -8140,10 +8231,6 @@ msgstr "automatico"
 #~ msgstr "Pacchetti"
 
 #, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "Utenti di Dominio"
-
-#, fuzzy
 #~ msgid ""
 #~ "Can't connect to glpi database, there is no mysl extension available in "
 #~ "your php setup."
diff --git a/gosa-core/locale/core/messages.po b/gosa-core/locale/core/messages.po
index 26f4e19..e5b393b 100644
--- a/gosa-core/locale/core/messages.po
+++ b/gosa-core/locale/core/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -19,12 +19,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -32,10 +32,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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 ""
@@ -60,7 +60,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -132,7 +132,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr ""
@@ -172,7 +172,7 @@ msgid ""
 "and let me use filters instead"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr ""
@@ -196,7 +196,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -254,11 +254,13 @@ 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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 ""
 
@@ -313,8 +315,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr ""
 
@@ -353,8 +355,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr ""
 
@@ -363,17 +365,19 @@ msgstr ""
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -383,27 +387,26 @@ msgstr ""
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -411,7 +414,7 @@ msgstr ""
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr ""
 
@@ -419,17 +422,17 @@ msgstr ""
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -447,16 +450,16 @@ msgstr ""
 msgid "Your password has been changed successfully."
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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 ""
 
@@ -468,7 +471,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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 ""
 
@@ -477,7 +483,10 @@ msgid "New password repeated"
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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 ""
 
@@ -551,7 +560,7 @@ 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -577,9 +586,9 @@ msgstr ""
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr ""
 
@@ -589,16 +598,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr ""
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -606,6 +615,7 @@ msgstr ""
 #: 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 ""
 
@@ -614,7 +624,7 @@ msgstr ""
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr ""
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 msgid "Password method"
 msgstr ""
 
@@ -622,29 +632,29 @@ msgstr ""
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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:88
+#: 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:91
+#: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -662,11 +672,11 @@ msgstr ""
 msgid "External password changer reported a problem: "
 msgstr ""
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr ""
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr ""
 
@@ -702,44 +712,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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 ""
 
@@ -771,7 +781,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -796,32 +806,32 @@ msgid ""
 "fixed by an administrator."
 msgstr ""
 
-#: html/main.php:228
-msgid "Running out of memory!"
+#: html/main.php:198
+msgid "Your password is about to expire, please change your password!"
 msgstr ""
 
-#: html/main.php:285
-msgid "User ACL checks disabled"
+#: html/main.php:268
+msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:339
-msgid "Your password is about to expire, please change your password!"
+#: html/main.php:325
+msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr ""
 
-#: html/main.php:350
+#: html/main.php:374
 #, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr ""
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr ""
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -864,29 +874,29 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr ""
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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 ""
@@ -975,25 +985,25 @@ msgid "Use ACL defined in role"
 msgstr ""
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr ""
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1002,7 +1012,7 @@ 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: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
@@ -1021,7 +1031,7 @@ 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1085,11 +1095,11 @@ msgstr ""
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1140,7 +1150,7 @@ msgstr ""
 msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr ""
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1148,87 +1158,88 @@ msgstr ""
 msgid "Select all"
 msgstr ""
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 msgid "created by"
 msgstr ""
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr ""
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr ""
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr ""
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr ""
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr ""
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr ""
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr ""
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr ""
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr ""
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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 ""
 
-#: include/class_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr ""
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr ""
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 msgid "Restore snapshots"
 msgstr ""
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr ""
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 msgid "Create a new snapshot from this object"
 msgstr ""
 
@@ -1240,267 +1251,277 @@ msgstr ""
 msgid "Delete this entry"
 msgstr ""
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr ""
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr ""
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
 msgstr ""
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
 "administrator!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr ""
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
 msgstr ""
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr ""
 
-#: include/functions.inc:1235
+#: 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/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr ""
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr ""
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr ""
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr ""
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr ""
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr ""
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr ""
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, php-format
+msgid "GOsa %s"
+msgstr ""
+
+#: include/functions.inc:2313
+#, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr ""
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr ""
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr ""
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr ""
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr ""
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr ""
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr ""
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr ""
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr ""
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr ""
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr ""
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr ""
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr ""
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr ""
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr ""
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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 ""
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr ""
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr ""
 
@@ -1536,31 +1557,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1669,41 +1690,41 @@ msgstr ""
 msgid "Arguments"
 msgstr ""
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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 ""
 
-#: include/class_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr ""
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr ""
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr ""
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr ""
 
@@ -1977,315 +1998,316 @@ msgstr ""
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:377
+#: include/utils/class_msgPool.inc:380
 #, php-format
 msgid "This account has no valid %s extensions!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, 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:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, php-format
 msgid "This '%s' is still in use."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, php-format
 msgid "Cannot delete file '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, php-format
 msgid "Cannot create folder '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, php-format
 msgid "Checking for %s support"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2305,29 +2327,29 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: include/class_ldap.inc:831
 #, php-format
 msgid "while operating on '%s' using LDAP server '%s'"
 msgstr ""
 
-#: include/class_ldap.inc:830
+#: include/class_ldap.inc:833
 #, php-format
 msgid "while operating on LDAP server %s"
 msgstr ""
 
-#: include/class_ldap.inc:1052
+#: 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 ""
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2391,12 +2413,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr ""
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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 ""
 
@@ -2427,17 +2452,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr ""
 
@@ -2446,12 +2471,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr ""
@@ -2464,7 +2489,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr ""
@@ -2472,14 +2497,14 @@ 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:756
+#: 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 ""
 
 #: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr ""
 
@@ -2497,7 +2522,7 @@ msgstr ""
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr ""
@@ -2508,10 +2533,9 @@ msgstr ""
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr ""
 
@@ -2519,16 +2543,14 @@ msgstr ""
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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 ""
@@ -2604,6 +2626,7 @@ 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
@@ -2619,6 +2642,7 @@ 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
@@ -2626,62 +2650,74 @@ msgid "User"
 msgstr ""
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2689,32 +2725,32 @@ msgstr ""
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2725,6 +2761,7 @@ msgstr ""
 #: 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
@@ -2775,7 +2812,7 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr ""
 
@@ -2785,7 +2822,7 @@ msgstr ""
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr ""
 
@@ -2797,104 +2834,104 @@ msgstr ""
 msgid "Windows Install"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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 ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 msgid "Sytem trust"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr ""
 
@@ -2914,7 +2951,7 @@ msgid "Descriptive text for this group"
 msgstr ""
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr ""
@@ -2953,7 +2990,7 @@ msgstr ""
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3012,7 +3049,7 @@ msgid "List of object groups"
 msgstr ""
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3023,15 +3060,15 @@ msgid "Properties"
 msgstr ""
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr ""
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3039,12 +3076,12 @@ msgstr ""
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr ""
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr ""
@@ -3118,18 +3155,20 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr ""
 
@@ -3202,6 +3241,12 @@ msgstr ""
 msgid "Show mail groups"
 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"
+msgstr ""
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr ""
@@ -3210,15 +3255,24 @@ msgstr ""
 msgid "List of groups"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+msgid "Group submenu entry"
+msgstr ""
+
+#: plugins/admin/groups/group-list.xml:31
+msgid "Group menu entry"
+msgstr ""
+
+#: plugins/admin/groups/group-list.xml:155
 msgid "Edit group"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 msgid "Remove group"
 msgstr ""
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 msgid "Cannot find group SID in your configuration!"
 msgstr ""
 
@@ -3272,14 +3326,14 @@ msgstr ""
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3287,27 +3341,27 @@ msgstr ""
 msgid "GID"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr ""
 
@@ -3326,19 +3380,19 @@ msgid "Edit posix properties"
 msgstr ""
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 msgid "Edit mail properties"
 msgstr ""
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr ""
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 msgid "Edit phone properties"
 msgstr ""
@@ -3354,7 +3408,7 @@ msgid "Edit start menu properties"
 msgstr ""
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 msgid "Edit environment properties"
 msgstr ""
@@ -3373,25 +3427,55 @@ msgid ""
 "able to login without it."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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 ""
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+msgid "Password input dialog"
+msgstr ""
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+msgid "Use proposal"
+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 ""
+
+#: plugins/admin/users/password.tpl:49
+#: plugins/personal/generic/password.tpl:61
+#: plugins/personal/password/password.tpl:66
+msgid "Manually specify a password"
+msgstr ""
+
+#: plugins/admin/users/password.tpl:77
+msgid "Enforce password change on next login."
+msgstr ""
+
+#: plugins/admin/users/password.tpl:84
+#: plugins/personal/generic/password.tpl:88
+#: plugins/personal/password/password.tpl:93
 msgid "Set password"
 msgstr ""
 
@@ -3407,7 +3491,7 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3427,34 +3511,34 @@ msgstr ""
 msgid "Manage users"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 msgid "You have no permission to change this users password!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 msgid "Unlock account"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 msgid "Lock account"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3462,19 +3546,19 @@ msgstr ""
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 msgid "Edit POSIX properties"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 msgid "Edit FAX properties"
 msgstr ""
 
@@ -3564,7 +3648,7 @@ msgstr ""
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 msgid "Domain"
 msgstr ""
 
@@ -3575,29 +3659,27 @@ msgstr ""
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: plugins/admin/departments/class_departmentManagement.inc:225
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 msgid "Locality"
 msgstr ""
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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 ""
 
@@ -3619,27 +3701,45 @@ msgstr ""
 msgid "Descriptive text for department"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 ""
+
+#: 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/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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 ""
 
@@ -3656,8 +3756,8 @@ msgid "Descriptive text for   department"
 msgstr ""
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr ""
@@ -3667,89 +3767,83 @@ msgstr ""
 msgid "Category for this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 ""
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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/admin/departments/generic.tpl:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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 ""
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr ""
 
@@ -3757,27 +3851,27 @@ msgstr ""
 msgid "Manage Departments"
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr ""
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr ""
@@ -3794,44 +3888,44 @@ msgstr ""
 msgid "Name of country to create"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr ""
@@ -3933,9 +4027,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr ""
 
@@ -3969,274 +4062,267 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, php-format
 msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 msgid "The selected password method is no longer available."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 msgid "The selected password method requires initial configuration!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: plugins/personal/generic/class_user.inc:1362
+#: plugins/personal/generic/class_user.inc:1825
+#: plugins/personal/generic/generic.tpl:407
 msgid "Mobile"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: plugins/personal/generic/class_user.inc:1365
+#: plugins/personal/generic/class_user.inc:1828
+#: plugins/personal/generic/generic.tpl:415
 msgid "Pager"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 msgid "Login restrictions"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 msgid "User password method"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr ""
 
+#: plugins/personal/generic/class_user.inc:1923
+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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4253,73 +4339,56 @@ msgid "Template name"
 msgstr ""
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr ""
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr ""
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr ""
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr ""
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr ""
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr ""
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr ""
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr ""
@@ -4337,19 +4406,26 @@ msgstr ""
 msgid "Remove picture"
 msgstr ""
 
-#: plugins/personal/generic/main.inc:115
-msgid "You have no permission to set your password!"
-msgstr ""
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr ""
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+msgid "Password change dialog"
+msgstr ""
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
 msgstr ""
 
 #: plugins/personal/generic/generic_certs.tpl:8
@@ -4364,6 +4440,15 @@ msgstr ""
 msgid "PKCS12 certificate"
 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 ""
+
+#: plugins/personal/generic/nochange.tpl:5
+msgid "Your password hash method will not be changed!"
+msgstr ""
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr ""
@@ -4433,7 +4518,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4466,53 +4551,53 @@ msgstr ""
 msgid "shadowInactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr ""
 
@@ -4616,66 +4701,45 @@ msgstr ""
 msgid "Password expires on"
 msgstr ""
 
-#: 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/password/main.inc:57 setup/setup_config1.tpl:136
 msgid "Password settings"
 msgstr ""
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
+#: plugins/personal/password/password.tpl:14
+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:79
+#: 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:85
+#: plugins/personal/password/class_password.inc:135
 msgid "The password you've entered as 'New password' is empty."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:94
+#: plugins/personal/password/class_password.inc:144
 #, php-format
 msgid "External password changer reported a problem: %s."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 msgid "You have no permission to change your password."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr ""
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr ""
-
-#: plugins/personal/password/nochange.tpl:6
-msgid "You have no permission to change your password at this time"
-msgstr ""
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr ""
@@ -4738,11 +4802,11 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 msgid "Please specify a valid email address."
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -4877,12 +4941,12 @@ msgid "After migration"
 msgstr ""
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 ""
 
@@ -5035,11 +5099,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr ""
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5115,7 +5174,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -5476,30 +5537,34 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+msgid "GOsa version"
+msgstr ""
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr ""
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -5533,26 +5598,26 @@ msgid ""
 "GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, php-format
 msgid "Bind as user '%s' failed!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 msgid "Please specify user and password!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr ""
@@ -5585,10 +5650,6 @@ msgstr ""
 msgid "Admin DN"
 msgstr ""
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr ""
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -5638,7 +5699,7 @@ msgid "Checking for invisible users"
 msgstr ""
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr ""
 
@@ -5677,24 +5738,24 @@ 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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 ""
 
 #: 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:655 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
+#: 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 ""
 
@@ -5708,16 +5769,16 @@ msgstr ""
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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 ""
 
@@ -5741,160 +5802,160 @@ msgstr ""
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 msgid "Migration error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
 #, php-format
 msgid "Cannot migrate department '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: setup/class_setupStep_Migrate.inc:1034
 msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Provided passwords do not match!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Specify a valid user ID!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 msgid "Try to create root object"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 msgid "Please check your installation."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, php-format
 msgid "Updating '%s' failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
diff --git a/gosa-core/locale/core/nl/LC_MESSAGES/messages.po b/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
index 6350021..8f0a6e7 100644
--- a/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -22,12 +22,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -35,10 +35,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -68,7 +68,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -146,7 +146,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Opslaan"
@@ -193,7 +193,7 @@ 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:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Stel in"
@@ -220,7 +220,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -284,11 +284,13 @@ 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -347,8 +349,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Object"
 
@@ -391,8 +393,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Doorgaan"
 
@@ -401,17 +403,19 @@ msgstr "Doorgaan"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -421,27 +425,26 @@ msgstr "Doorgaan"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -449,7 +452,7 @@ msgstr "Fout"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Informatie"
 
@@ -457,17 +460,17 @@ msgstr "Informatie"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -487,16 +490,16 @@ msgstr "Export was succesvol"
 msgid "Your password has been changed successfully."
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
@@ -509,7 +512,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -519,7 +525,10 @@ msgid "New password repeated"
 msgstr "Nieuw wachtwoord"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
@@ -612,7 +621,7 @@ 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -640,9 +649,9 @@ msgstr "Aangemeld:"
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 msgid "Fatal error"
 msgstr "Terminal server"
@@ -653,16 +662,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -670,6 +679,7 @@ msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
 #: 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"
@@ -680,7 +690,7 @@ msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr ""
 "Directory '%s' die opgegeven is als compileer directory is niet toegankelijk!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "Password method"
 msgstr "Wachtwoord encryptie"
@@ -689,9 +699,8 @@ msgstr "Wachtwoord encryptie"
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
@@ -699,22 +708,23 @@ msgstr ""
 "Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
 "overeen."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -732,11 +742,11 @@ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 msgid "External password changer reported a problem: "
 msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "De sessie zal niet versleuteld zijn."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Gebruik een SSL sessie"
 
@@ -774,44 +784,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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:"
@@ -850,7 +860,7 @@ msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 "Account is geblokkeerd. Neem a.u.b. contact op met de systeembeheerder."
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -881,35 +891,35 @@ msgstr ""
 "FATAAL: 'Register globals' is geactiveerd in PHP. GOsa zal niemand laten "
 "inloggen totdat dit opgelost is door een systeembeheerder."
 
-#: html/main.php:228
+#: html/main.php:198
+#, 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."
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:339
-#, 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."
-
-#: html/main.php:349
+#: html/main.php:373
 #, fuzzy
 msgid "Plugin"
 msgstr "in"
 
-#: html/main.php:350
+#: html/main.php:374
 #, fuzzy, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr "FATAAL: Kan geen enkele module defenities vinden voor module '%s'!"
 
-#: html/main.php:364
+#: html/main.php:388
 #, fuzzy
 msgid "Configuration Error"
 msgstr "Configuratie bestand"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -955,31 +965,31 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, fuzzy, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: include/class_management.inc:525 include/class_plugin.inc:1602
+#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
 #, fuzzy, php-format
 msgid "You are not allowed to restore a snapshot for %s."
 msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
@@ -1074,25 +1084,25 @@ msgid "Use ACL defined in role"
 msgstr ""
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Groepen"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1101,7 +1111,7 @@ 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: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
@@ -1120,7 +1130,7 @@ 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1191,11 +1201,11 @@ msgstr "Nieuw FAI object aanmaken"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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
 #, fuzzy
@@ -1253,7 +1263,7 @@ msgstr "Rechten"
 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_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1262,93 +1272,94 @@ msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
 msgid "Select all"
 msgstr "Selecteer"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "Aanmaken"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Ga naar basis afdelingen"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Basis"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Ga een afdeling omhoog"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Ga naar gebruikers afdeling"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Home"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Lijst herladen"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Verwerk"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 #, fuzzy
 msgid "Copy"
 msgstr "kopieer"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 #, fuzzy
 msgid "Cut"
 msgstr "knippen"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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 "Plakken"
 
-#: include/class_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Deze invoer knippen"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Deze invoer kopieren"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "Nagios account aanmaken"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 #, fuzzy
 msgid "Export list"
 msgstr "Exporteer"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 #, fuzzy
 msgid "Create snapshot"
 msgstr "Nagios account aanmaken"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 #, fuzzy
 msgid "Create a new snapshot from this object"
 msgstr "Nieuw FAI object aanmaken"
@@ -1361,40 +1372,40 @@ msgstr "Bewerk deze invoer"
 msgid "Delete this entry"
 msgstr "Verwijder deze invoer"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr ""
 "FATAAL: Fout bij het verbinden met de LDAP server. De server meldt: '%s'."
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 #, fuzzy
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 #, 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."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1403,12 +1414,12 @@ msgstr ""
 "Kan de blokkade informatie niet ophalen uit de LDAP database. Controleer a.u."
 "b. de 'config' regel in gosa.conf!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid "LDAP server returned: %s"
 msgstr "LDAP server"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 #, fuzzy
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
@@ -1417,12 +1428,12 @@ msgstr ""
 "Er zijn meerdere blokkades voor het te blokkeren object gevonden. Dat zou "
 "niet mogelijk moeten zijn. Meervoudige verwijzingen worden opgeschoond."
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr "De hoeveelheidslimiet van %d invoeren is overschreden!"
 
-#: include/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1431,166 +1442,176 @@ msgstr ""
 "Stel de nieuwe hoeveelheidslimiet in op %s en toon me dit bericht indien de "
 "limiet nog steeds overschreden wordt."
 
-#: include/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Instellen"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "onvolledig"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Toch doorgaan"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Alsnog bewerken"
 
-#: include/functions.inc:1646
+#: 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:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "Regels per pagina"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Filter toepassen"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Log DB gebruiker"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "GOsa ontwikkelversie (Revisie %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa ontwikkelversie (Revisie %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 #, fuzzy
 msgid "Cannot write to revision file!"
 msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "LDAP warning"
 msgstr "LDAP beheer"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, 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!"
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, fuzzy, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Toon FAI sjabloon objecten"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, fuzzy, php-format
 msgid "Class(es) available"
 msgstr "Bestand is beschikbaar"
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Duits"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Frans"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italiaans"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Spaans"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Engels"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Nederlands"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Pools"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 #, fuzzy
 msgid "Chinese"
 msgstr "Chipset"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Naam"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Russisch"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
@@ -1598,53 +1619,53 @@ msgstr ""
 "Het commando '%s' dat gespecificeerd is als POSTMODIFY voor module '%s' "
 "bestaat niet."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr ""
 "Er zitten te veel gebruikers in de database. Kan geen vrij ID toewijzen!"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Ga naar basis afdelingen"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 #, fuzzy
 msgid "no ID available!"
 msgstr "Bestand is beschikbaar"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 #, fuzzy
 msgid "Cannot allocate a free ID!"
 msgstr ""
@@ -1685,31 +1706,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1827,45 +1848,45 @@ msgstr "Type"
 msgid "Arguments"
 msgstr "Argumenten"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 #, fuzzy
 msgid "from"
 msgstr "willekeurig"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 #, fuzzy
 msgid "Restore"
 msgstr "Opnieuw proberen"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "knippen"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "kopieer"
 
@@ -2165,75 +2186,76 @@ msgstr "Het vereiste veld '(Achter)naam' is leeg."
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "Het veld 'Naam' bevat ongeldige karakters."
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, fuzzy, php-format
 msgid "'%s' are not allowed!"
 msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr "Het veld 'Naam' bevat ongeldige karakters."
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, fuzzy, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Verwijder printer mogelijkheden"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Toevoegen"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, fuzzy, php-format
 msgid "Add %s"
 msgstr "Toevoegen"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, fuzzy, php-format
 msgid "Delete %s"
 msgstr "Verwijderen"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, fuzzy, php-format
 msgid "Set %s"
 msgstr "Stel in"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit..."
 msgstr "Bewerken"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit %s..."
 msgstr "Bewerk gebruiker"
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Terug"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
@@ -2241,7 +2263,7 @@ msgstr ""
 "Dit account heeft POSIX mogelijkheden ingeschakeld. U kunt deze uitschakelen "
 "door de knop hieronder te gebruiken."
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2250,7 +2272,7 @@ msgstr ""
 "Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
 "moet u eerst het samba / omgevings account verwijderen."
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
@@ -2258,7 +2280,7 @@ msgstr ""
 "Dit account heeft POSIX mogelijkheden uitgeschakeld. U kunt deze inschakelen "
 "door de knop hieronder te gebruiken."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: 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 "
@@ -2267,233 +2289,233 @@ msgstr ""
 "Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
 "moet u eerst het samba / omgevings account verwijderen."
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, fuzzy, php-format
 msgid "Add %s settings"
 msgstr "Programma instellingen"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, fuzzy, php-format
 msgid "Remove %s settings"
 msgstr "Posix instellingen"
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 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:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Januari"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Februari"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Maart"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "April"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Mei"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Juni"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Juli"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Augustus"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "September"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Oktober"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "November"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "December"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Sunday"
 msgstr "Achternaam"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Monday"
 msgstr "maand"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 #, fuzzy
 msgid "MySQL operation failed!"
 msgstr "De database zoekopdracht is mislukt"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "read operation"
 msgstr "E-mail opties"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "modify operation"
 msgstr "Persoonlijke informatie"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "delete operation"
 msgstr "Selecteer om werkstations te zien"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "search operation"
 msgstr "Het account verloopt op"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "authentication"
 msgstr "Nagios authenticatie"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, fuzzy, php-format
 msgid "LDAP %s failed!"
 msgstr "De database zoekopdracht is mislukt"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 #, fuzzy
 msgid "LDAP operation failed!"
 msgstr "De database zoekopdracht is mislukt"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 #, fuzzy
 msgid "Upload failed!"
 msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, fuzzy, php-format
 msgid "Upload failed: %s"
 msgstr "Log DB gebruiker"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, fuzzy, php-format
 msgid "This '%s' is still in use."
 msgstr "Deze 'dn' is geen groep."
 
-#: include/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Kan bestand '%s' niet openen."
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Kan bestand '%s' niet openen."
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, fuzzy, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Kan bestand '%s' niet openen."
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, fuzzy, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Ga naar basis afdelingen"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, fuzzy, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Kan bestand '%s' niet openen."
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, fuzzy, php-format
 msgid "Checking for %s support"
 msgstr "Zoeken naar iconv ondersteuning"
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2513,22 +2535,22 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: 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_ldap.inc:830
+#: include/class_ldap.inc:833
 #, php-format
 msgid "while operating on LDAP server %s"
 msgstr "bij het bewerken van LDAP server %s"
 
-#: include/class_ldap.inc:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2537,7 +2559,7 @@ 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:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2611,12 +2633,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr ""
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2647,17 +2672,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 #, fuzzy
 msgid "Cannot paste"
 msgstr "Plakken onmogelijk"
@@ -2667,12 +2692,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Algemeen"
@@ -2685,7 +2710,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "E-mail"
@@ -2693,14 +2718,14 @@ msgstr "E-mail"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "Fax"
 
@@ -2718,7 +2743,7 @@ msgstr "Ftp"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Groep"
@@ -2729,10 +2754,9 @@ msgstr "Groep"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Afdeling"
 
@@ -2740,16 +2764,14 @@ msgstr "Afdeling"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2831,6 +2853,7 @@ msgstr "Het GOsa team"
 
 #: 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
@@ -2847,6 +2870,7 @@ msgstr "Terminal"
 #: 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
@@ -2854,62 +2878,74 @@ msgid "User"
 msgstr "Gebruiker"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2917,32 +2953,32 @@ msgstr "Naam"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2953,6 +2989,7 @@ msgstr "Basis"
 #: 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
@@ -3014,7 +3051,7 @@ msgstr ""
 "mogelijkheid voor GOsa is om uw data terug te krijgen."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Objectgroepen"
 
@@ -3025,7 +3062,7 @@ msgstr "Naam van objectgroepen"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 #, fuzzy
 msgid "Infrastructure error"
 msgstr "PHP fout"
@@ -3040,108 +3077,108 @@ msgstr "Sjabloon"
 msgid "Windows Install"
 msgstr "Windows werkstation"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "te veel verschillende object tpyes!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "gebruikers"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "groepen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "programma's"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "afdelingen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "servers"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "werkstations"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 #, fuzzy
 msgid "winstations"
 msgstr "Windows werkstation"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "terminals"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "telefoons"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "printers"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "Niet bestaande dn: "
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 #, fuzzy
 msgid "You can combine two different object types at maximum, only!"
 msgstr "U kunt maximaal twee verschillende object types tegelijk combineren!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 #, fuzzy
 msgid "Object group generic"
 msgstr "Objectgroep"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "Systeem vertrouwen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 #, fuzzy
 msgid "Member"
 msgstr "Groepsleden"
@@ -3162,7 +3199,7 @@ msgid "Descriptive text for this group"
 msgstr "Omschrijving voor deze groep"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Systeem vertrouwen"
@@ -3202,7 +3239,7 @@ msgstr "FAI samenvatting"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3272,7 +3309,7 @@ msgid "List of object groups"
 msgstr "Lijst met objectgroepen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3283,15 +3320,15 @@ msgid "Properties"
 msgstr "Eigenschappen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Aanmaken"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3299,12 +3336,12 @@ msgstr "Aanmaken"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Verwijderen"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 #, fuzzy
 msgid "Send message"
@@ -3383,18 +3420,20 @@ msgstr ""
 "aangezien er geen mogelijkheid voor GOsa is om deze gegevens terug te halen."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Achternaam"
 
@@ -3472,6 +3511,13 @@ msgstr "Toon Samba groepen"
 msgid "Show mail groups"
 msgstr "Toon Samba groepen"
 
+#: 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 "Verwijder gebruiker"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Groep instellingen"
@@ -3480,17 +3526,28 @@ msgstr "Groep instellingen"
 msgid "List of groups"
 msgstr "Lijst met groepen"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Groepsleden"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Groepsleden"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "Primaire groep"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "servers"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 #, fuzzy
 msgid "Cannot find group SID in your configuration!"
 msgstr ""
@@ -3548,14 +3605,14 @@ msgstr "Kan bestand '%s' niet aanmaken."
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Kan bestand '%s' niet aanmaken."
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3563,32 +3620,32 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 #, fuzzy
 msgid "Generic group settings"
 msgstr "Algemene wachtrij instellingen"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 #, fuzzy
 msgid "Samba group type"
 msgstr "Samba groep"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 #, fuzzy
 msgid "Samba domain name"
 msgstr "Samba home"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 #, fuzzy
 msgid "Phone pickup group"
 msgstr "Leden zitten in een telefoon beantwoordgroep"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 #, fuzzy
 msgid "Nagios group"
 msgstr "Nagios account"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 #, fuzzy
 msgid "Group member"
 msgstr "Groepsleden"
@@ -3609,19 +3666,19 @@ msgid "Edit posix properties"
 msgstr "Bewerk telefoon eigenschappen"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: 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/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr "Bewerk Samba eigenschappen"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 msgid "Edit phone properties"
 msgstr "Bewerk telefoon eigenschappen"
@@ -3639,7 +3696,7 @@ msgid "Edit start menu properties"
 msgstr "Bewerk Samba eigenschappen"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 msgid "Edit environment properties"
 msgstr "Bewerk omgeving eigenschappen"
@@ -3664,7 +3721,8 @@ msgstr ""
 "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/password/password.tpl:8
+#: 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."
@@ -3672,20 +3730,54 @@ msgstr ""
 "Het veranderen van het wachtwoord is van invloed op E-mail, proxy, samba en "
 "Unix diensten."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 #, fuzzy
 msgid "Strength"
 msgstr "Straat"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Wachtwoord"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+#, fuzzy
+msgid "Use proposal"
+msgstr "groepen"
+
+#: 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/admin/users/password.tpl:49
+#: plugins/personal/generic/password.tpl:61
+#: plugins/personal/password/password.tpl:66
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "Geef a.u.b. uw wachtwoord op!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+
+#: plugins/admin/users/password.tpl:84
+#: plugins/personal/generic/password.tpl:88
+#: plugins/personal/password/password.tpl:93
 msgid "Set password"
 msgstr "Wachtwoord instellen"
 
@@ -3704,7 +3796,7 @@ msgstr ""
 "gebruik van sjablonen over te slaan."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3725,38 +3817,38 @@ msgstr "Voornaam"
 msgid "Manage users"
 msgstr "Windows gebruikers"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 #, fuzzy
 msgid "You have no permission to change this users password!"
 msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 #, fuzzy
 msgid "Account locking"
 msgstr "Account"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "Mijn account"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "Mijn account"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Bewerk algemene eigenschappen"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3764,20 +3856,20 @@ msgstr "Bewerk algemene eigenschappen"
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Bewerk UNIX eigenschappen"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "Bewerk Netatalk eigenschappen"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Bewerk UNIX eigenschappen"
@@ -3885,7 +3977,7 @@ msgstr "Lijst met afdelingen"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "in domein"
@@ -3898,30 +3990,28 @@ msgstr "Windows beheerders"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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 "Plaats"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3945,27 +4035,46 @@ msgstr "Naam van de aan te maken subtree"
 msgid "Descriptive text for department"
 msgstr "Omschrijving voor de afdeling"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "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:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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"
 
@@ -3983,8 +4092,8 @@ msgid "Descriptive text for   department"
 msgstr "Omschrijving voor de afdeling"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr "Categorie"
@@ -3994,90 +4103,84 @@ msgstr "Categorie"
 msgid "Category for this subtree"
 msgstr "Categorie voor deze subtree"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "Provincie"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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/admin/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "Plaats van deze subtree"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Adres"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: 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/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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/admin/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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/admin/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "Windows beheerders"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Afdelingen"
 
@@ -4086,28 +4189,28 @@ msgstr "Afdelingen"
 msgid "Manage Departments"
 msgstr "Afdelingen"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
 msgid "Organization name"
 msgstr "Organisatie"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Adres thuis"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Telefoonnummer"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 #, fuzzy
 msgid "Country name"
@@ -4128,47 +4231,47 @@ msgstr "Naam van de aan te maken subtree"
 msgid "Name of country to create"
 msgstr "Naam van de aan te maken subtree"
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, 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:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Markeren van '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Verplaatsen van %s naar %s"
 
-#: plugins/admin/departments/class_department.inc:565
+#: 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/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Afdelingnaam"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Telefoon"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "Object '%s' is al gemarkeerd"
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr "Toevoegen van markering (%s) aan object '%s'"
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Verwijderen van markering van object '%s'"
@@ -4284,9 +4387,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Funktie"
 
@@ -4325,292 +4427,288 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Programma instellingen"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "vrouw"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "man"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 #, fuzzy
 msgid "Serial number"
 msgstr "Telefoonnummer"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:532
+#: 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:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "geldig"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "ongeldig"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Geen certificaat geinstalleerd"
 
-#: plugins/personal/generic/class_user.inc:567
+#: 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/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: 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:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Homepage"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 #, fuzzy
 msgid "Cannot open certificate!"
 msgstr "Het opgegeven certificaat kon geopend worden!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Eenheid"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Huis identificatie"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Beroep"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Laatste levering"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Werkplaats"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Eenheid omschrijving"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Werkgebied"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Functionele titel"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "Certificaat serienummer"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Publiek zichtbaar"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Straat"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Postcode"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 #, fuzzy
 msgid "Generic user settings"
 msgstr "Algemene wachtrij instellingen"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 #, fuzzy
 msgid "User identification"
 msgstr "Gebruikersinformatie"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Aanhef"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Academische titel"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Geslacht"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 #, fuzzy
 msgid "Preferred language"
 msgstr "Voorkeurstaal"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "Persoonlijk plaatje"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Wachtwoord verloopt op"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 #, fuzzy
 msgid "Department number"
 msgstr "Afdelingnaam"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 #, fuzzy
 msgid "Employee number"
 msgstr "Functie"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Functie"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 #, fuzzy
 msgid "Room number"
 msgstr "Telefoonnummer"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 #, fuzzy
 msgid "Telefon number"
 msgstr "Telefoonnummer"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 #, fuzzy
 msgid "Pager number"
 msgstr "Telefoonnummer"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 #, fuzzy
 msgid "Mobile number"
 msgstr "GSM nummer"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 #, fuzzy
 msgid "Fax number"
 msgstr "Serienummer"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Adres thuis"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 #, fuzzy
 msgid "Home phone number"
 msgstr "Telefoonnummer"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "Wachtwoord encryptie"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 #, fuzzy
 msgid "User certificates"
 msgstr "Standaard certificaat"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, fuzzy
+msgid "Entries differ"
+msgstr "Regels per pagina"
+
+#: 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 ""
+"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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4627,73 +4725,56 @@ msgid "Template name"
 msgstr "Sjabloon naam"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Voorkeurstaal"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Telefoon privé"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Wachtwoord encryptie"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certificaten"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Bewerk certificaten"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Organisatie informatie"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Afdeling nr."
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Personeel nr."
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Kamer nr."
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Gebruik a.u.b. de telefoon tab"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Kies de subtree waaronder de gebruiker geplaatst wordt"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Selecteer een basis"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Gebruikersinstellingen"
@@ -4711,24 +4792,31 @@ msgstr "Nieuw wachtwoord instellen"
 msgid "Remove picture"
 msgstr "Plaatje verwijderen"
 
-#: plugins/personal/generic/main.inc:115
-#, fuzzy
-msgid "You have no permission to set your password!"
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Algemene gebruikersinformatie"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"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."
+"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/generic/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Wis velden"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4742,6 +4830,17 @@ msgstr "S/MIME certificaat"
 msgid "PKCS12 certificate"
 msgstr "PKCS12 certificaat"
 
+#: 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 "U heeft geen toestemming om uw wachtwoord te veranderen."
+
+#: 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/personal/posix/class_posixAccount.inc:38
 #, fuzzy
 msgid "Edit users POSIX settings"
@@ -4817,7 +4916,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4854,61 +4953,61 @@ msgstr "Schaduwen van andere sessie"
 msgid "shadowInactive"
 msgstr "Schaduwen van andere sessie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 #, fuzzy
 msgid "POSIX account"
 msgstr "GLPI account"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "Gebruikers ID"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 #, fuzzy
 msgid "Group ID"
 msgstr "Groep"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 #, fuzzy
 msgid "Force password change on login"
 msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 #, fuzzy
 msgid "Shadow min"
 msgstr "Schaduwen van andere sessie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 #, fuzzy
 msgid "Shadow max"
 msgstr "Schaduwen van andere sessie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 #, fuzzy
 msgid "Shadow warning"
 msgstr "Schaduwen van andere sessie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 #, fuzzy
 msgid "Shadow inactive"
 msgstr "Schaduwen van andere sessie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 #, fuzzy
 msgid "Shadow expire"
 msgstr "Toon personen"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 #, fuzzy
 msgid "System trust model"
 msgstr "Systeem vertrouwen"
@@ -5017,52 +5116,35 @@ msgstr "Het wachtwoord moet bij de eerste aanmelding gewijzigd worden"
 msgid "Password expires on"
 msgstr "Wachtwoord verloopt op"
 
-#: 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 ""
-"U heeft succesvol uw wachtwoord veranderd. Denkt u eraan dat u alle "
-"programma's die dit wachtwoord gebruiken ook aanpast!"
-
 #: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
 #, fuzzy
 msgid "Password settings"
 msgstr "Gebruikersinstellingen"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Wis velden"
+#: plugins/personal/password/password.tpl:14
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password!"
+msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
 
 #: plugins/personal/password/class_password.inc:27
 #, fuzzy
 msgid "Change user password"
 msgstr "Verander wachtwoord"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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:85
+#: 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."
 
-#: plugins/personal/password/class_password.inc:94
+#: 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/personal/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
@@ -5070,25 +5152,16 @@ msgstr ""
 "Het wachtwoord dat u opgegeven heeft als uw huidige wachtwoord is niet "
 "correct."
 
-#: plugins/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 #, 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:146
+#: plugins/personal/password/class_password.inc:201
 #, fuzzy
 msgid "User password"
 msgstr "Wachtwoord wissen"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
-
-#: plugins/personal/password/nochange.tpl:6
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
-
 #: setup/class_setupStep_Feedback.inc:92
 #, fuzzy
 msgid "UNIX accounts/groups"
@@ -5161,12 +5234,12 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: 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:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5323,12 +5396,12 @@ msgid "After migration"
 msgstr "Gebruikersbeheer"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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"
@@ -5491,12 +5564,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Referenties"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5584,7 +5651,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -6015,31 +6084,36 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Algemene wachtrij instellingen"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 #, fuzzy
 msgid "Features"
 msgstr "Toekomstig"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -6080,27 +6154,27 @@ 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:105
+#: 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'."
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, fuzzy, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
 
-#: setup/class_setupStep_Ldap.inc:112
+#: 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'."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
 msgid "Please specify user and password!"
 msgstr "Geef a.u.b. uw wachtwoord op!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: 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'."
@@ -6137,11 +6211,6 @@ msgstr "Nagios authenticatie"
 msgid "Admin DN"
 msgstr "Beheerders DN"
 
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "Verwijder gebruiker"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -6199,7 +6268,7 @@ msgid "Checking for invisible users"
 msgstr "Zoeken naar iconv ondersteuning"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
 msgid "Checking for super administrator"
 msgstr "Zoeken naar enkele additionele programma's"
@@ -6246,12 +6315,12 @@ msgstr "Zoeken naar functie %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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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"
@@ -6259,12 +6328,12 @@ msgstr "De database zoekopdracht is mislukt"
 #: 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:655 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
+#: 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 ""
 
@@ -6278,16 +6347,16 @@ msgstr "Er is een dubbele waarde gevonden voor record type '%s'."
 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:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6312,171 +6381,171 @@ msgstr "Modus"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
 msgid "Migration error"
 msgstr "Aanmaken"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, fuzzy, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "Netatalk account aanmaken"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
 msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
 msgstr "Netatalk account aanmaken"
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Input error"
 msgstr "PHP fout"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Password error"
 msgstr "Wachtwoord verloopt op"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Specify a valid user ID!"
 msgstr "Geef a.u.b. een geldige gebruikersnaam op!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: 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:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, fuzzy, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Toon FAI sjabloon objecten"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
 msgid "Please check your installation."
 msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, fuzzy, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "Verplaatsen van %s naar %s"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, fuzzy, php-format
 msgid "Updating '%s' failed: %s"
 msgstr "Log DB gebruiker"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6881,6 +6950,33 @@ msgid "Automatic"
 msgstr "automatisch"
 
 #, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Groepsleden"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Kies de subtree waaronder de gebruiker geplaatst wordt"
+
+#~ 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 ""
+#~ "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 "Password change not allowed"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+
+#, fuzzy
 #~ msgid "Choose a base"
 #~ msgstr "Selecteer een basis"
 
@@ -7283,10 +7379,6 @@ msgstr "automatisch"
 #~ msgstr "Zoeken"
 
 #, fuzzy
-#~ msgid "Password end"
-#~ msgstr "Wachtwoord"
-
-#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Programmanaam"
 
@@ -8581,10 +8673,6 @@ msgstr "automatisch"
 #~ msgid "Packages"
 #~ msgstr "Pakketten"
 
-#, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "Log DB gebruiker"
-
 #~ msgid ""
 #~ "Can't connect to glpi database, there is no mysl extension available in "
 #~ "your php setup."
diff --git a/gosa-core/locale/core/pl/LC_MESSAGES/messages.po b/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
index bc5ef2a..53f3cfd 100644
--- a/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: polski\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+0200\n"
 "PO-Revision-Date: 2009-09-05 15:13+0100\n"
 "Last-Translator: Piort Rybicki <meritus at innervision.pl>\n"
 "Language-Team: Piotr Rybicki <meritus at innervision.pl>\n"
@@ -17,12 +17,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -30,10 +30,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -62,7 +62,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -140,7 +140,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Zapisz"
@@ -186,7 +186,7 @@ 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:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Ustaw"
@@ -211,7 +211,7 @@ msgstr "Wybierz typ ACL"
 
 #: 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -273,11 +273,13 @@ msgstr "Stare hasło"
 #: 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -335,8 +337,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Obiekt"
 
@@ -377,8 +379,8 @@ msgstr "Przyczyna utworzenia tego snapshot'u"
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Kontynuuj"
 
@@ -387,17 +389,19 @@ msgstr "Kontynuuj"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -407,27 +411,26 @@ msgstr "Kontynuuj"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -435,7 +438,7 @@ msgstr "Błąd"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Informacja"
 
@@ -443,17 +446,17 @@ msgstr "Informacja"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -471,16 +474,16 @@ msgstr "Powodzenie"
 msgid "Your password has been changed successfully."
 msgstr "Twoje hasło zostało pomyślnie zmienione."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -492,7 +495,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -502,7 +508,10 @@ msgid "New password repeated"
 msgstr "Nowe hasło"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
@@ -589,7 +598,7 @@ msgstr "Wyloguj"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -615,9 +624,9 @@ msgstr "Zalogowano:"
 msgid "GOsa main menu"
 msgstr "Menu główne GOsa"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr "Błąd krytyczny"
 
@@ -627,16 +636,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -644,6 +653,7 @@ msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
 #: 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"
 
@@ -652,7 +662,7 @@ msgstr "Błąd konfiguracji"
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr "Katalog '%s' podany jako katalog kompilacji jest niedostępny!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "Password method"
 msgstr "Przechowywanie hasła"
@@ -661,29 +671,29 @@ msgstr "Przechowywanie hasła"
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -701,11 +711,11 @@ msgstr "Brak uprawnień do zmiany własnego hasła"
 msgid "External password changer reported a problem: "
 msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem:"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "Sesja nie będzie szyfrowana."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Sprowadź sesję SSL"
 
@@ -741,44 +751,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
@@ -814,7 +824,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr "Konto zablokowane. Proszę skontaktować się z administratorem systemu."
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -843,33 +853,33 @@ msgstr ""
 "BŁĄD: Register globals jest włączone. GOsa odmówi logowania do momentu "
 "poprawienia tego parametru przez administratora."
 
-#: html/main.php:228
+#: html/main.php:198
+#, 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 ""
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:339
-#, 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:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr "Dodatek"
 
-#: html/main.php:350
+#: html/main.php:374
 #, 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'!"
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr "Błąd konfiguracji"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -915,30 +925,30 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, fuzzy, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr "Brak uprawnień do zmiany przekazywania poczty"
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: include/class_management.inc:525 include/class_plugin.inc:1602
+#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
 #, fuzzy, php-format
 msgid "You are not allowed to restore a snapshot for %s."
 msgstr "Brak uprawnień do zmiany przekazywania poczty"
@@ -1032,25 +1042,25 @@ msgid "Use ACL defined in role"
 msgstr "Użyj ACL zdefiniowanego w tej roli"
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: plugins/personal/generic/class_user.inc:1674
+#: setup/class_setupStep_Migrate.inc:1040
 msgid "Users"
 msgstr "Użytkownicy"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Grupy"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1059,7 +1069,7 @@ 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: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
@@ -1078,7 +1088,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1146,11 +1156,11 @@ msgstr "Utwórz obiekty"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1207,7 +1217,7 @@ msgstr "ACLe"
 msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1215,89 +1225,90 @@ msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
 msgid "Select all"
 msgstr "Wybierz wszystko"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 msgid "created by"
 msgstr "utworzone przez"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Idź do głównego departamentu"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Główny"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Idź jeden departament wyżej"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Przejdź do departamentu użytkowników"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Katalog domowy"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Przeładuj listę"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Wyślij"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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/class_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr "Kopiuj"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr "Wytnij"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Wytnij ten obiekt"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Kopiuj ten obiekt"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "Odtwórz snapshot"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 #, fuzzy
 msgid "Export list"
 msgstr "Export"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: 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_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr "Utwórz spanshot"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: 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"
 
@@ -1309,39 +1320,39 @@ msgstr "Edytuj ten obiekt"
 msgid "Delete this entry"
 msgstr "Usuń ten obiekt"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: 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:519
+#: 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:604
+#: 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/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1350,12 +1361,12 @@ msgstr ""
 "Nie można pobrać informacji o blokadach w bazie LDAP. Proszę sprawdzić wpis "
 "'config' w gosa.conf!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid "LDAP server returned: %s"
 msgstr "Serwer LDAP"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 #, fuzzy
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
@@ -1364,12 +1375,12 @@ msgstr ""
 "Znaleziono wiele blokad dla obiektu do zablokowania. Taka sytuacja nie "
 "powinna się wydażyć - czyszczę wiele odwołań."
 
-#: include/functions.inc:1233
+#: 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/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1378,214 +1389,224 @@ msgstr ""
 "Ustaw nowy limit rozmiaru na %s i pokaż ten komunikat jeśli limit wciąż jest "
 "przekroczony"
 
-#: include/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Konfiguruj"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "niepełne"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Kontynuuj mimo wszystko"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Edytuj mimo wszystko"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, fuzzy, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr "Zamierzasz skopiować wpis '%s'."
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "Wpisów na stronie"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Zastosuj filtr"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Usługa Logowania"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "Wersja deweloperska GOsa (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "Wersja deweloperska GOsa (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr "Plik '%s' nie mógł zostać usunięty."
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 #, fuzzy
 msgid "Cannot write to revision file!"
 msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr "Ostrzeżenie LDAP"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 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!"
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, fuzzy, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Wyświetl szablony FAI"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr "Brak opcjonalnego obiektu klasy '%s'!"
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, fuzzy, php-format
 msgid "Class(es) available"
 msgstr "Plik jest dostępny"
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Niemiecki"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Francuski"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Włoski"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Hiszpański"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Angielski"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Holenderski"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Polski"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "Chińsski"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr "Wietnamski"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Rosyjski"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, 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."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Utwórz nowy departament"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 #, fuzzy
 msgid "no ID available!"
 msgstr "Brak szablonów!"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 #, fuzzy
 msgid "Cannot allocate a free ID!"
 msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
@@ -1624,31 +1645,31 @@ msgstr "Y-m-d, H:i: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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1761,42 +1782,42 @@ msgstr "Typ"
 msgid "Arguments"
 msgstr "Argumenty"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "od"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr "Odtwórz"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "wytnij"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "kopiuj"
 
@@ -2090,82 +2111,83 @@ msgstr "Wymagane pole 'Nazwa' jest puste."
 msgid "Example"
 msgstr "Przykład"
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, fuzzy, php-format
 msgid "'%s' are not allowed!"
 msgstr "Brak uprawnień do zmiay hasła"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, fuzzy, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Rozszerzenie inwentarza"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Dodaj"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr "Dodaj %s"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr "Usuń %s"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr "Ustaw %s"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr "Edytuj..."
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr "Edytuj %s..."
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Wróć"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
 "To konto posiada rozszerzenia posix. Można je wyłączyć klikająć poniżej."
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2174,14 +2196,14 @@ msgstr ""
 "To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
 "konto Samba/Środowisko."
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
 "To konto nie posiada rozszerzenia posix. Można je włączyć klikająć poniżej."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: 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 "
@@ -2190,229 +2212,229 @@ msgstr ""
 "To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
 "konto Samba/Środowisko."
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, fuzzy, php-format
 msgid "Add %s settings"
 msgstr "Ustawienia Aplikacji"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, fuzzy, php-format
 msgid "Remove %s settings"
 msgstr "Ustawienia Posix"
 
-#: include/utils/class_msgPool.inc:432
+#: 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/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Styczeń"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Luty"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Marzec"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Kwiecień"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Maj"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Czerwiec"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Lipiec"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Sierpień"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Wrzesień"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Październik"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Listopad"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Grudzień"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Niedziela"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Poniedziałek"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Wednesday"
 msgstr "Środa"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Piątek"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Sobota"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr "Zapytanie MySQL nieudane!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "read operation"
 msgstr "Opcje poczty"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "modify operation"
 msgstr "Informacje osobiste"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "delete operation"
 msgstr "Wybierz aby zobaczyc stacje robocze"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "search operation"
 msgstr "Konto wygasa po"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "authentication"
 msgstr "Autentykacja Nagios"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, fuzzy, php-format
 msgid "LDAP %s failed!"
 msgstr "Zapytanie do bazy danych nieudane"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 #, fuzzy
 msgid "LDAP operation failed!"
 msgstr "Zapytanie do bazy danych nieudane"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 #, fuzzy
 msgid "Upload failed!"
 msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, fuzzy, php-format
 msgid "Upload failed: %s"
 msgstr "Użytkownik bazy logowania"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr "Błąd komunikacji z usługą infrastruktury!"
 
-#: include/utils/class_msgPool.inc:494
+#: 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/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: 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/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, fuzzy, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr "Zawiera ustawienia dla tych obiektów: %s"
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr "Plik '%s' nie istnieje!"
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Nie można otworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Nie można otworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, fuzzy, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Nie można otworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, fuzzy, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Utwórz nowy departament"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, fuzzy, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Nie można otworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, fuzzy, php-format
 msgid "Checking for %s support"
 msgstr "Sprawdzam wsparcie dla iconv"
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2432,22 +2454,22 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: 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:830
+#: 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:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2456,7 +2478,7 @@ msgstr ""
 "To nie jest poprawne DN: '%s'. Blok dla importu powinien zaczynać się "
 "'dn: ...' w linii %s"
 
-#: include/class_ldap.inc:1081
+#: 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 !"
@@ -2525,12 +2547,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Wszystkie obiekty w tej kategorii"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2561,17 +2586,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "Nie można wkleić"
 
@@ -2580,12 +2605,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Ogólne"
@@ -2598,7 +2623,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Poczta"
@@ -2606,14 +2631,14 @@ msgstr "Poczta"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "FAX"
 
@@ -2631,7 +2656,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Grupa"
@@ -2642,10 +2667,9 @@ msgstr "Grupa"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Departament"
 
@@ -2653,16 +2677,14 @@ msgstr "Departament"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2743,6 +2765,7 @@ 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
@@ -2759,6 +2782,7 @@ msgstr "Terminal"
 #: 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
@@ -2766,62 +2790,74 @@ msgid "User"
 msgstr "Użytkownik"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2829,32 +2865,32 @@ msgstr "Imię"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2865,6 +2901,7 @@ msgstr "Kontener"
 #: 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
@@ -2924,7 +2961,7 @@ msgid ""
 msgstr "Proszę upewnić się czy kontynuować, gdyż nie ma możliwości powrotu."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Grupy obiektów"
 
@@ -2935,7 +2972,7 @@ msgstr "Nazwa grupy obiektów"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 #, fuzzy
 msgid "Infrastructure error"
 msgstr "błąd PHP:"
@@ -2949,106 +2986,106 @@ msgstr "Szablony"
 msgid "Windows Install"
 msgstr "Stacja robocza Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "za dużo różnych obiektów!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "użytkownicy"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "grupy"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "aplikacje"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "departamenty"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "serwery"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "stacje robocze"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr "Stacje Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "terminale"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "telefony"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "drukarki"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "Nieistniejące dn:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 #, 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!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr "Podstawowa grupa obiektu"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "Zaufanie systemowe"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr "Członek"
 
@@ -3068,7 +3105,7 @@ msgid "Descriptive text for this group"
 msgstr "Tekst opisowy dla tej grupy"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Zaufanie systemowe"
@@ -3107,7 +3144,7 @@ msgstr "Podsumowanie FAI"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3177,7 +3214,7 @@ msgid "List of object groups"
 msgstr "Lista grupy obiektów"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3188,15 +3225,15 @@ msgid "Properties"
 msgstr "Właściwości"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Utwórz"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3204,12 +3241,12 @@ msgstr "Utwórz"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Usuń"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr "Wyślij wiadomość"
@@ -3287,18 +3324,20 @@ msgstr ""
 "pewno kontynuować, gdyż tej operacji nie można cofnąć."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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ę"
 
 #: 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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Nazwisko"
 
@@ -3372,6 +3411,12 @@ msgstr "Pokaż grupy samba"
 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"
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Ustawienia grupy"
@@ -3380,17 +3425,28 @@ msgstr "Ustawienia grupy"
 msgid "List of groups"
 msgstr "Lista grup"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, 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"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "Grupa podstawowa"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "serwery"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 #, fuzzy
 msgid "Cannot find group SID in your configuration!"
 msgstr ""
@@ -3447,14 +3503,14 @@ msgstr "Nie można stworzyć pliku '%s'."
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Nie można stworzyć pliku '%s'."
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3462,28 +3518,28 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr "Ogólne ustawienia grupy"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr "Typ grupy Samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 #, fuzzy
 msgid "Samba domain name"
 msgstr "Katalog domowy Samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr "Grupie odbioru telefonu"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr "Grupa nagios"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr "Członek grupy"
 
@@ -3503,19 +3559,19 @@ msgid "Edit posix properties"
 msgstr "Edytuj właściwości Telefonu"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: 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"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: 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"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: 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"
@@ -3533,7 +3589,7 @@ msgid "Edit start menu properties"
 msgstr "Edytuj właściwości Samba"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: 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"
@@ -3558,7 +3614,8 @@ msgstr ""
 "wprowadzane natychmiastowo. Proszę zapamiętać nowe hasło, gdyż bez niego "
 "zalogowanie będzie niemożliwe."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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."
@@ -3566,19 +3623,52 @@ msgstr ""
 "Zmiana hasła jest powiązana z autentykacją do usług poczty, proxy, samba, "
 "oraz unix."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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"
 
-#: plugins/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr "Siła"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Minimalna długość hasła"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+#, fuzzy
+msgid "Use proposal"
+msgstr "grupy"
+
+#: 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ż"
+
+#: 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!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Wymuś zmianę hasła podczas logowania"
+
+#: 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"
 
@@ -3597,7 +3687,7 @@ msgstr ""
 "użycie szablonów."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3617,35 +3707,35 @@ msgstr "Imię"
 msgid "Manage users"
 msgstr "Zarządzaj użytkownikami"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: 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"
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr "Blokowanie konta"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 msgid "Unlock account"
 msgstr "Odblokuj konto"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 msgid "Lock account"
 msgstr "Zablokuj konto"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Edytuj ogólne właściwości"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3653,20 +3743,20 @@ msgstr "Edytuj ogólne właściwości"
 msgid "POSIX"
 msgstr "POSIX"
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Edytuj właściwości UNIX"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "Edytuj właściwości Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Edytuj właściwości UNIX"
@@ -3771,7 +3861,7 @@ msgstr "Lista departamentów"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "w domenie"
@@ -3784,30 +3874,28 @@ msgstr "Administratorzy domeny"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3831,27 +3919,46 @@ msgstr "Nazwa tworzonego poddrzewa"
 msgid "Descriptive text for department"
 msgstr "Tekst opisujący departament"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "Zarządzaj 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"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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ą"
 
@@ -3869,8 +3976,8 @@ msgid "Descriptive text for   department"
 msgstr "Tekst opisujący departament"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr "Kategoria"
@@ -3880,90 +3987,84 @@ msgstr "Kategoria"
 msgid "Category for this subtree"
 msgstr "Kategoria dla tego poddrzewa"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "Stan"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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/admin/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "Lokalizacja tego poddrzewa"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Adres"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr "Kod pocztowy tego poddrzewa"
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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/admin/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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/admin/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "Administratorzy domeny"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Departamenty"
 
@@ -3971,27 +4072,27 @@ msgstr "Departamenty"
 msgid "Manage Departments"
 msgstr "Zarządzaj Departamentami"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr "Nazwa organizacji"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Adres pocztowy"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "Numer telefonu"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr "Nazwa Kraju"
@@ -4011,47 +4112,47 @@ msgstr "Nazwa tworzonego poddrzewa"
 msgid "Name of country to create"
 msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 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/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Zaznaczanie '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Przenoszenie '%s' do '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr "BŁĄD kopiowania %s, anulowanie operacji"
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Nazwa departamentu"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Telefon"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "Obiekt '%s' jest już zaznaczony"
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr "Dodawanie znacznika (%s) do obiektu '%s'"
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Usuwanie znacznika z obiektu '%s'"
@@ -4165,9 +4266,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Pełniona funkcja"
 
@@ -4204,278 +4304,274 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Ustawienia Aplikacji"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "kobieta"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "mężczyzna"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr "Nie można wgrać pliku!"
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Numer seryjny"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, 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:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "prawidłowy"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "nieprawidłowy"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Brak zainstalowanych certyfikatów"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "The selected password method is no longer available."
 msgstr "Ta aplikacja nie jest już dostępna."
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 #, fuzzy
 msgid "The selected password method requires initial configuration!"
 msgstr "Ta aplikacja nie jest już dostępna."
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Strona domowa"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr "Nie można otworzyć certyfikatu!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Jednostka"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Identyfikator budynku"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Wywołanie"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Ostatnia dostawa"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Lokalizacja osoby"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Opis jednostki"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Sektor"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Tytuł funkcjonalny"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "Nmer seryjny certyfikatu"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Publicznie widoczne"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Ulica"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Kod pocztowy"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr "Ogólne ustawienia użytkownika"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr "Identyfikacja użytkownika"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Osobisty tytuł"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Tytuł naukowy"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Płeć"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr "Preferowany język"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "Zdjęcie użytkownika"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Hasło wygasa"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr "Numer departamentu"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr "Numer pracownika"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Typ pracownika"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr "Numer pokoju"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr "Numer telefonu"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr "Numer pagera"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr "Telefon komórkowy"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr "Numer fax"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Adres domowy"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr "Numer telefonu domowego"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "Przechowywanie hasła"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr "Certyfikaty użytkownika"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, fuzzy
+msgid "Entries differ"
+msgstr "Wpisów na stronie"
+
+#: 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/personal/generic/generic.tpl:6
-#: plugins/personal/generic/multiple_generic.tpl:5
 msgid "Personal information"
 msgstr "Informacje osobiste"
 
 #: plugins/personal/generic/generic.tpl:20
 #: plugins/personal/generic/generic.tpl:22
 #: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4492,73 +4588,56 @@ msgid "Template name"
 msgstr "Nazwa Szablonu"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Preferowany język"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Telefon prywatny"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Przechowywanie hasła"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certyfikaty"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Edytuj certyfikaty"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr "Ogranicz logowanie do"
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr "IP lub sieć"
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Informacje organizacyjne"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Numer departamentu"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Numer pracownika"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Numer pokoju"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Proszę użyć zakładki telefony"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Wybierz poddrzewo do umieszczenia konta."
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Wybierz bazę"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Ustawienia użytkownika"
@@ -4576,23 +4655,31 @@ msgstr "Ustaw nowe hasło"
 msgid "Remove picture"
 msgstr "Usuń obrazek"
 
-#: plugins/personal/generic/main.inc:115
-#, fuzzy
-msgid "You have no permission to set your password!"
-msgstr "Brak uprawnień do zmiany własnego hasła"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Ogólne informacje o użytkowniku"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"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."
+"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
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Zmiana hasła"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Wyczyść pola"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4606,6 +4693,17 @@ msgstr "certyfikat S/MIME"
 msgid "PKCS12 certificate"
 msgstr "certyfikat PKCS12"
 
+#: 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/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Twoje hasło zostało pomyślnie zmienione."
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
 msgid "Edit users POSIX settings"
@@ -4676,7 +4774,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4710,53 +4808,53 @@ msgstr "shadowWarning"
 msgid "shadowInactive"
 msgstr "Shadow nieaktywne"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr "Konto POSIX"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "Identyfikator użytkownika"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr "ID grupy"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr "Wymuś zmianę hasła podczas logowania"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr "Shadow min"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr "Shadow max"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr "Shadow ostrzeżenie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr "Shadow nieaktywne"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr "Shadow wygasa"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr "Publiczny klucz SSH"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr "Zaufanie do systemów"
 
@@ -4863,75 +4961,49 @@ msgstr "Użytkownik musi zmienić hasło przy pierwszym logowaniu"
 msgid "Password expires on"
 msgstr "Hasło wygasa"
 
-#: 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/personal/password/main.inc:57 setup/setup_config1.tpl:136
 #, fuzzy
 msgid "Password settings"
 msgstr "Ustawienia użytkownika"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Wyczyść pola"
+#: plugins/personal/password/password.tpl:14
+#, 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:79
+#: 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/personal/password/class_password.inc:85
+#: 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/personal/password/class_password.inc:94
+#: 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/personal/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 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:114
+#: plugins/personal/password/class_password.inc:164
 #, 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:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr "Hasło użytkownika"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Brak uprawnień do zmiay hasła"
-
-#: plugins/personal/password/nochange.tpl:6
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "Brak uprawnień do zmiany własnego hasła"
-
 #: setup/class_setupStep_Feedback.inc:92
 #, fuzzy
 msgid "UNIX accounts/groups"
@@ -5003,12 +5075,12 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 #, fuzzy
 msgid "Please specify a valid email address."
 msgstr "Proszę podać prawidłową nazwę skryptu."
 
-#: setup/class_setupStep_Feedback.inc:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5160,12 +5232,12 @@ msgid "After migration"
 msgstr "Administracja użytkownikami"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 "Utwórz"
@@ -5327,11 +5399,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Odśwież"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5415,7 +5482,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -5837,30 +5906,35 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Ogólne ustawienia użytkownika"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr "LDAP"
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr "Cechy"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -5899,27 +5973,27 @@ msgstr ""
 "Poniższe pola pozwalają na podstawową konfigurację zachowania GOsa i "
 "wpływają na różne właściwości w głównej konfiguracji."
 
-#: setup/class_setupStep_Ldap.inc:105
+#: 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'."
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, fuzzy, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: setup/class_setupStep_Ldap.inc:112
+#: 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'."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
 msgid "Please specify user and password!"
 msgstr "Proszę podać prawidłowe hasło!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: 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'."
@@ -5956,10 +6030,6 @@ msgstr "Autentykacja Nagios"
 msgid "Admin DN"
 msgstr "DN Administratora"
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Wybierz użytkownika"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -6016,7 +6086,7 @@ msgid "Checking for invisible users"
 msgstr "Sprawdzam wsparcie dla iconv"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
 msgid "Checking for super administrator"
 msgstr "Sprawedzam dodatkowe programy"
@@ -6063,12 +6133,12 @@ msgstr "Sprawdzam funkcję %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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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"
@@ -6076,12 +6146,12 @@ msgstr "Zapytanie do bazy danych nieudane"
 #: 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:655 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
+#: 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 ""
 
@@ -6095,16 +6165,16 @@ msgstr "Znaleziono powtórzoną wartość dla typu rekordu '%s'."
 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:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6128,168 +6198,168 @@ msgstr "Przenieś"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, fuzzy, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "Utwórz konto Netatalk"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr "Błąd wejścia"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr "Uid"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr "Błąd hasła"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: 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ę!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Specify a valid user ID!"
 msgstr "Proszę podać prawidłową nazwę użytkownika!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 #, fuzzy
 msgid "Group will be moved from"
 msgstr "Będzie możliwość odtworzenia z"
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 #, fuzzy
 msgid "User will be moved from"
 msgstr "Użyj członków z"
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
 msgid "Try to create root object"
 msgstr "Utwórz obiekty"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, fuzzy, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Wyświetl szablony FAI"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
 msgid "Please check your installation."
 msgstr "Proszę sprawdzić kombinację login/hasło."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, fuzzy, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "Przenoszenie '%s' do '%s'"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6678,6 +6748,32 @@ msgid "Automatic"
 msgstr "Automatycznie"
 
 #, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Członek grupy"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Wybierz poddrzewo do umieszczenia konta."
+
+#~ 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 ""
+#~ "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 "Password change not allowed"
+#~ msgstr "Brak uprawnień do zmiay hasła"
+
+#, fuzzy
 #~ msgid "Choose a base"
 #~ msgstr "Wybierz bazę"
 
@@ -8351,10 +8447,6 @@ msgstr "Automatycznie"
 #~ msgid "Packages"
 #~ msgstr "Pakiety"
 
-#, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "Usługa Logowania"
-
 #~ msgid ""
 #~ "Can't connect to glpi database, there is no mysl extension available in "
 #~ "your php setup."
diff --git a/gosa-core/locale/core/pt/LC_MESSAGES/messages.po b/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
index 46fae58..ff2b13f 100644
--- a/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages-2.6.4-pt_BR\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -19,12 +19,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -32,10 +32,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -62,7 +62,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -134,7 +134,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Salvar"
@@ -174,7 +174,7 @@ msgid ""
 "and let me use filters instead"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Definir"
@@ -198,7 +198,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -256,11 +256,13 @@ 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -315,8 +317,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Objeto"
 
@@ -355,8 +357,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Continuar"
 
@@ -365,17 +367,19 @@ msgstr "Continuar"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -385,27 +389,26 @@ msgstr "Continuar"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -413,7 +416,7 @@ msgstr "Erro"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Informação"
 
@@ -421,17 +424,17 @@ msgstr "Informação"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -449,16 +452,16 @@ msgstr "Sucesso"
 msgid "Your password has been changed successfully."
 msgstr "Sua senha foi alterada com sucesso."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -470,7 +473,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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"
 
@@ -479,7 +485,10 @@ msgid "New password repeated"
 msgstr "Nova senha repetida"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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 ""
 
@@ -556,7 +565,7 @@ msgstr "Sair"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -584,9 +593,9 @@ msgstr "Logado:"
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr ""
 
@@ -596,16 +605,16 @@ 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:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -613,6 +622,7 @@ msgstr "A configuração GOsa %s/%s não pôde ser lida. Abortado."
 #: 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"
 
@@ -621,7 +631,7 @@ msgstr "Erro de configuração"
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr ""
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 msgid "Password method"
 msgstr ""
 
@@ -629,30 +639,30 @@ msgstr ""
 msgid "Error: Password method not available!"
 msgstr "Erro: Método de senha não disponível!"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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 ""
 "A senha digitada nos campos 'Nova senha' e 'Repita nova senha' não conferem."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -670,11 +680,11 @@ msgstr "Você não tem permissão para alterar sua senha."
 msgid "External password changer reported a problem: "
 msgstr "O alterador externo de senhas reportou um problema:"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "A sessão não será criptografada."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Entre com a sessão SSL"
 
@@ -710,44 +720,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
@@ -779,7 +789,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -806,32 +816,32 @@ msgid ""
 "fixed by an administrator."
 msgstr ""
 
-#: html/main.php:228
-msgid "Running out of memory!"
+#: html/main.php:198
+msgid "Your password is about to expire, please change your password!"
 msgstr ""
 
-#: html/main.php:285
-msgid "User ACL checks disabled"
+#: html/main.php:268
+msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:339
-msgid "Your password is about to expire, please change your password!"
+#: html/main.php:325
+msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr ""
 
-#: html/main.php:350
+#: html/main.php:374
 #, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr ""
 
-#: html/main.php:364
+#: html/main.php:388
 msgid "Configuration Error"
 msgstr ""
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -876,29 +886,29 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr ""
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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 ""
@@ -987,25 +997,25 @@ msgid "Use ACL defined in role"
 msgstr "Use ACL definida na regra"
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: plugins/personal/generic/class_user.inc:1674
+#: setup/class_setupStep_Migrate.inc:1040
 msgid "Users"
 msgstr "Usuários"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Grupos"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1014,7 +1024,7 @@ 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: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
@@ -1033,7 +1043,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1097,11 +1107,11 @@ 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:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1153,7 +1163,7 @@ msgstr "Regras de ACL"
 msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr ""
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1161,88 +1171,89 @@ msgstr ""
 msgid "Select all"
 msgstr ""
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "Criar"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Ir para departamento raiz"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Raiz"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Subir um departamento"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Ir para departamento de usuários"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Origem"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Recarregar lista"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Submeter"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr ""
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr ""
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr ""
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr ""
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 msgid "Restore snapshots"
 msgstr ""
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr ""
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 msgid "Create a new snapshot from this object"
 msgstr ""
 
@@ -1254,267 +1265,277 @@ msgstr "Editar esta entrada"
 msgid "Delete this entry"
 msgstr "Deletar esta entrada"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr ""
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr ""
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
 msgstr ""
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
 "administrator!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr ""
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
 msgstr ""
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr ""
 
-#: include/functions.inc:1235
+#: 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/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Configurar"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr ""
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr ""
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Editar mesmo assim"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr ""
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Aplicar filtro"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr ""
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "GOsa"
+
+#: include/functions.inc:2313
+#, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr ""
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr ""
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr ""
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr ""
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Alemão"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Francês"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Italiano"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Espanhol"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Inglês"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Holandês"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Polonês"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr ""
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr ""
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Russo"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr ""
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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 ""
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr ""
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr ""
 
@@ -1550,31 +1571,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1684,41 +1705,41 @@ msgstr "Tipo"
 msgid "Arguments"
 msgstr ""
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "de"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr ""
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr ""
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr ""
 
@@ -1997,315 +2018,316 @@ msgstr ""
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Adicionar"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Voltar"
 
-#: include/utils/class_msgPool.inc:377
+#: include/utils/class_msgPool.inc:380
 #, php-format
 msgid "This account has no valid %s extensions!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, 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:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:432
+#: 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"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Janeiro"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Fevereiro"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Março"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Abril"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Maio"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Junho"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Julho"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Agosto"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Setembro"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Outubro"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Novembro"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Dezembro"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Domingo"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Segunda"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr "Terça"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr "Quarta"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr "Quinta"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Sexta"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Sábado"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 msgid "MySQL operation failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, php-format
 msgid "This '%s' is still in use."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, php-format
 msgid "Cannot delete file '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, php-format
 msgid "Cannot create folder '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, php-format
 msgid "Checking for %s support"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2328,23 +2350,23 @@ msgstr ""
 "Não foi possível criar subárvores automaticamente com RDN '%s': classe de "
 "objeto não encontrada!"
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, 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_ldap.inc:828
+#: 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:830
+#: 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:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2353,7 +2375,7 @@ 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:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2422,14 +2444,17 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Todos os objetos nessa categoria"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 "O formato da configuração foi alterado. Por favor, execute novamente o "
 "configurador!"
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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"
 
@@ -2460,17 +2485,17 @@ msgstr "'%s' não é um objeto LDAP válido"
 msgid "No write permission in '%s'"
 msgstr "Sem permissão de escrita em '%s'"
 
-#: include/class_CopyPasteHandler.inc:394
+#: 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:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr "Esse objeto será colado: %s"
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "Impossível colar"
 
@@ -2479,12 +2504,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Geral"
@@ -2497,7 +2522,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Correio"
@@ -2505,14 +2530,14 @@ msgstr "Correio"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "FAX"
 
@@ -2530,7 +2555,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr ""
@@ -2541,10 +2566,9 @@ msgstr ""
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Departamento"
 
@@ -2552,16 +2576,14 @@ msgstr "Departamento"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2642,6 +2664,7 @@ 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
@@ -2657,6 +2680,7 @@ 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
@@ -2664,62 +2688,74 @@ msgid "User"
 msgstr "Usuário"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2727,32 +2763,32 @@ msgstr "Nome"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2763,6 +2799,7 @@ msgstr "Base"
 #: 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
@@ -2822,7 +2859,7 @@ msgid ""
 msgstr ""
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Grupos de objeto"
 
@@ -2832,7 +2869,7 @@ msgstr ""
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr ""
 
@@ -2844,104 +2881,104 @@ msgstr "Modelos"
 msgid "Windows Install"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "Usuários"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "Grupos"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "Aplicações"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "Departamentos"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "Servidores"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "Estações de Trabalho"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "Terminais"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "Telefones"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "Impressoras"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "Dn não existente:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 msgid "Sytem trust"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr ""
 
@@ -2961,7 +2998,7 @@ msgid "Descriptive text for this group"
 msgstr ""
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Sistema de confiança"
@@ -3000,7 +3037,7 @@ msgstr "Sumário FAI"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3060,7 +3097,7 @@ msgid "List of object groups"
 msgstr "Lista dos grupos"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3071,15 +3108,15 @@ msgid "Properties"
 msgstr "Propriedades"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Criar"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3087,12 +3124,12 @@ msgstr "Criar"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Remover"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr ""
@@ -3171,18 +3208,20 @@ msgstr ""
 "seus dados anteriores."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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"
 
 #: 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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "Sobrenome"
 
@@ -3258,6 +3297,12 @@ msgstr "Usuários do domínio"
 msgid "Show mail groups"
 msgstr "Usuários do domínio"
 
+#: 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 ""
+
 #: plugins/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr ""
@@ -3266,17 +3311,28 @@ msgstr ""
 msgid "List of groups"
 msgstr "Lista dos grupos"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "Lista dos grupos"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "Remover foto"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 msgid "Cannot find group SID in your configuration!"
 msgstr ""
 
@@ -3331,14 +3387,14 @@ msgstr ""
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3346,27 +3402,27 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr ""
 
@@ -3386,19 +3442,19 @@ msgid "Edit posix properties"
 msgstr "Editar propriedades de telefone"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 msgid "Edit mail properties"
 msgstr "Editar propriedades de correio"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr "Editar propriedades do samba"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 msgid "Edit phone properties"
 msgstr "Editar propriedades de telefone"
@@ -3415,7 +3471,7 @@ msgid "Edit start menu properties"
 msgstr "Editar propriedades do samba"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 msgid "Edit environment properties"
 msgstr "Editar propriedades de ambiente"
@@ -3440,7 +3496,8 @@ msgstr ""
 "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/password/password.tpl:8
+#: 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."
@@ -3448,19 +3505,51 @@ msgstr ""
 "Alteração de senha afeta a autenticação dos serviços de correio, proxy, "
 "samba e unix."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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"
 
-#: plugins/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Armazenamento da senha"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+msgid "Use proposal"
+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"
+
+#: 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!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Alteração de senha não permitida"
+
+#: 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"
 
@@ -3479,7 +3568,7 @@ msgstr ""
 "modelos."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3499,36 +3588,36 @@ msgstr "Primeiro nome"
 msgid "Manage users"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 msgid "You have no permission to change this users password!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 msgid "Account locking"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "Minha conta"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "Minha conta"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Editar propriedades gerais"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3536,20 +3625,20 @@ msgstr "Editar propriedades gerais"
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Editar propriedades UNIX"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "Editar propriedades do netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Editar propriedades UNIX"
@@ -3651,7 +3740,7 @@ msgstr "Lista dos departamentos"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "no domínio"
@@ -3664,29 +3753,27 @@ msgstr "Administradores do domínio"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: plugins/admin/departments/class_departmentManagement.inc:225
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 msgid "Locality"
 msgstr ""
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3708,27 +3795,46 @@ msgstr ""
 msgid "Descriptive text for department"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "Pager"
+
+#: 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/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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 ""
 
@@ -3746,8 +3852,8 @@ msgid "Descriptive text for   department"
 msgstr "Exibir sistemas do departamento"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr ""
@@ -3757,89 +3863,83 @@ msgstr ""
 msgid "Category for this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Endereço"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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 ""
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Departamentos"
 
@@ -3847,27 +3947,27 @@ msgstr "Departamentos"
 msgid "Manage Departments"
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 msgid "Organization name"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "Caixa postal"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr ""
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 msgid "Country name"
 msgstr ""
@@ -3885,44 +3985,44 @@ msgstr ""
 msgid "Name of country to create"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Nome do departamento"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr ""
@@ -4024,9 +4124,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Papel"
 
@@ -4062,27 +4161,27 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "feminino"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "masculino"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Número serial"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
@@ -4090,249 +4189,245 @@ msgstr ""
 "(Alguns tipos de certificados não são suportados atualmente e podem ser "
 "exibidos como 'inválidos'.)"
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, 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:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "válido"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "inválido"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "Nenhum certificado instalado"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 msgid "The selected password method is no longer available."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 msgid "The selected password method requires initial configuration!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Página pessoal"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: plugins/personal/generic/class_user.inc:1362
+#: plugins/personal/generic/class_user.inc:1825
+#: plugins/personal/generic/generic.tpl:407
 msgid "Mobile"
 msgstr "Celular"
 
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Unidade"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Identificação da residência"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Vocação"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Última entrega"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Localização da pessoa"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Descrição da unidade"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Área de assunto"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Título funcional"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: 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:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: 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:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Rua"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "CEP"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1616
+#: 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:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Título acadêmico"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Sexo"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1624
+#: 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:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Estações de Trabalho"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: 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:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Caixa postal residencial"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 msgid "User password method"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr ""
 
+#: plugins/personal/generic/class_user.inc:1923
+#, 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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4349,73 +4444,56 @@ msgid "Template name"
 msgstr "Nome modelo"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Linguagem preferida"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Telefone privativo"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Armazenamento da senha"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Certificados"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Editar certificados"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Informação organizacional"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Nº do departamento"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Nº do empregado"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Nº da sala"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Por favor, utilize a orelha telefone"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Escolha a sub-árvore para adicionar o usuário"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Selecione a base"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Configurações do usuário"
@@ -4433,23 +4511,31 @@ msgstr "Definir nova senha"
 msgid "Remove picture"
 msgstr "Remover foto"
 
-#: plugins/personal/generic/main.inc:115
-msgid "You have no permission to set your password!"
-msgstr ""
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Informação geral do usuário"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"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."
+"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
+#, 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"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4463,6 +4549,16 @@ msgstr "Certificado S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Certificado PKCS12"
 
+#: 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 ""
+
+#: plugins/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Sua senha foi alterada com sucesso."
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr ""
@@ -4532,7 +4628,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4565,53 +4661,53 @@ msgstr ""
 msgid "shadowInactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: 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:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 msgid "Force password change on login"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr ""
 
@@ -4719,71 +4815,45 @@ msgstr "O usuário deve alterar sua senha no primeiro acesso"
 msgid "Password expires on"
 msgstr "Senha expira em"
 
-#: 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/password/main.inc:57 setup/setup_config1.tpl:136
 msgid "Password settings"
 msgstr "Configurações de senha"
 
-#: 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/password/password.tpl:14
+msgid "Your Password has expired. Please choose a new password!"
 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Limpar campos"
 
 #: plugins/personal/password/class_password.inc:27
 msgid "Change user password"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:79
+#: 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/personal/password/class_password.inc:85
+#: 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/personal/password/class_password.inc:94
+#: plugins/personal/password/class_password.inc:144
 #, php-format
 msgid "External password changer reported a problem: %s."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:108
+#: 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/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 msgid "You have no permission to change your password."
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr ""
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Alteração de senha não permitida"
-
-#: plugins/personal/password/nochange.tpl:6
-msgid "You have no permission to change your password at this time"
-msgstr ""
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr ""
@@ -4846,11 +4916,11 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 msgid "Please specify a valid email address."
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -4985,12 +5055,12 @@ msgid "After migration"
 msgstr ""
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 ""
 
@@ -5143,11 +5213,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Recarregar"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5223,7 +5288,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -5584,30 +5651,34 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+msgid "GOsa version"
+msgstr ""
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr ""
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -5641,26 +5712,26 @@ msgid ""
 "GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, php-format
 msgid "Bind as user '%s' failed!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 msgid "Please specify user and password!"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr ""
@@ -5693,10 +5764,6 @@ msgstr ""
 msgid "Admin DN"
 msgstr ""
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr ""
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -5746,7 +5813,7 @@ msgid "Checking for invisible users"
 msgstr ""
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr ""
 
@@ -5785,24 +5852,24 @@ 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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 ""
 
 #: 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:655 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
+#: 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 ""
 
@@ -5816,16 +5883,16 @@ msgstr ""
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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 ""
 
@@ -5849,161 +5916,161 @@ msgstr ""
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 msgid "Migration error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
 #, php-format
 msgid "Cannot migrate department '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: setup/class_setupStep_Migrate.inc:1034
 msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Provided passwords do not match!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Specify a valid user ID!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 msgid "Try to create root object"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
 msgid "Please check your installation."
 msgstr "Por favor, verifique a combinação usuário / senha"
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, php-format
 msgid "Updating '%s' failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6348,6 +6415,25 @@ msgstr ""
 msgid "Automatic"
 msgstr ""
 
+#, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Membros do grupo"
+
+#~ 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 ""
+#~ "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 "Select to see servers"
 #~ msgstr "Selecione para ver servidores"
 
@@ -6396,9 +6482,6 @@ msgstr ""
 #~ msgid "phone users"
 #~ msgstr "Telefones"
 
-#~ msgid "GOsa"
-#~ msgstr "GOsa"
-
 #~ msgid "Edit UNIX properties"
 #~ msgstr "Editar propriedades UNIX"
 
diff --git a/gosa-core/locale/core/ru/LC_MESSAGES/messages.po b/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
index 824fe78..1c21033 100644
--- a/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -17,12 +17,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -30,10 +30,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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 "Предупреждение"
@@ -64,7 +64,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -140,7 +140,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Сохранить"
@@ -190,7 +190,7 @@ msgstr ""
 "Игнорировать ошибку и показать все возвращаемые объекты в пределах лимита и "
 "позволить использовать фильтры"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Установить"
@@ -217,7 +217,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -283,11 +283,13 @@ 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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 "Новый пароль"
 
@@ -345,8 +347,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "Объект"
 
@@ -387,8 +389,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Продолжить"
 
@@ -397,17 +399,19 @@ msgstr "Продолжить"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -417,27 +421,26 @@ msgstr "Продолжить"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -445,7 +448,7 @@ msgstr ""
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Информация"
 
@@ -453,17 +456,17 @@ msgstr "Информация"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -483,16 +486,16 @@ msgstr "Экспорт успешен."
 msgid "Your password has been changed successfully."
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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 "Сменить пароль"
@@ -505,7 +508,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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 "Текущий пароль"
 
@@ -515,7 +521,10 @@ msgid "New password repeated"
 msgstr "Новый пароль"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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 "Хэширование паролей"
@@ -604,7 +613,7 @@ 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -631,9 +640,9 @@ msgstr "Пользователь:"
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 msgid "Fatal error"
 msgstr "Терминал-сервер"
@@ -645,16 +654,16 @@ msgstr ""
 "Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -662,6 +671,7 @@ msgstr ""
 #: 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 "Настроить"
@@ -671,7 +681,7 @@ msgstr "Настроить"
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr "Недоступен каталог \"%s\", указанный как каталог компиляции!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "Password method"
 msgstr "Хэширование паролей"
@@ -680,29 +690,29 @@ msgstr "Хэширование паролей"
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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:88
+#: 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:91
+#: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -720,11 +730,11 @@ msgstr "У вас недостаточно прав для смены своег
 msgid "External password changer reported a problem: "
 msgstr "При попытке сменить пароль извне возникла проблема: "
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Использовать шифрование SSL"
 
@@ -762,44 +772,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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:"
@@ -836,7 +846,7 @@ msgstr ""
 "Не удается начать сеанс на LDAP-сервере. Обратитесь к системному "
 "администратору."
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -866,35 +876,35 @@ msgstr ""
 "Используется механизм register_globals. GOsa не допустит пользователей в "
 "систему, пока он не будет отключен администратором."
 
-#: html/main.php:228
+#: html/main.php:198
+#, fuzzy
+msgid "Your password is about to expire, please change your password!"
+msgstr "У вас недостаточно прав для смены своего пароля."
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:339
-#, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "У вас недостаточно прав для смены своего пароля."
-
-#: html/main.php:349
+#: html/main.php:373
 #, fuzzy
 msgid "Plugin"
 msgstr "в"
 
-#: html/main.php:350
+#: html/main.php:374
 #, fuzzy, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr "Не удается найти определение для модуля \"%s\"!"
 
-#: html/main.php:364
+#: html/main.php:388
 #, fuzzy
 msgid "Configuration Error"
 msgstr "Настроить"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -940,31 +950,31 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, fuzzy, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr "Вам не разрешено менять пароль."
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: include/class_management.inc:525 include/class_plugin.inc:1602
+#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
 #, fuzzy, php-format
 msgid "You are not allowed to restore a snapshot for %s."
 msgstr "Вам не разрешено менять пароль."
@@ -1059,25 +1069,25 @@ msgid "Use ACL defined in role"
 msgstr ""
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Группы"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 #, fuzzy
@@ -1087,7 +1097,7 @@ 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: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
@@ -1106,7 +1116,7 @@ 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1178,11 +1188,11 @@ msgstr "Включаемые объекты"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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
 #, fuzzy
@@ -1241,7 +1251,7 @@ msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr ""
 "Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1250,101 +1260,102 @@ msgstr ""
 msgid "Select all"
 msgstr "Удалить"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "Создать"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 #, fuzzy
 msgid "Go to root department"
 msgstr "Список подразделений"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 #, fuzzy
 msgid "Root"
 msgstr "Перезагрузить"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 #, fuzzy
 msgid "Go up one department"
 msgstr "Подразделение"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 #, fuzzy
 msgid "Go to users department"
 msgstr "Выберите подразделение"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 #, fuzzy
 msgid "Home"
 msgstr "Имя системы"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr ""
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr ""
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 #, fuzzy
 msgid "Copy"
 msgstr "Компания"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 #, fuzzy
 msgid "Cut"
 msgstr "Выполнить"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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 "Дата"
 
-#: include/class_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 #, fuzzy
 msgid "Cut this entry"
 msgstr "Редактиовать объект"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 #, fuzzy
 msgid "Copy this entry"
 msgstr "Редактиовать объект"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "Создать настройки запись эл. почты"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 #, fuzzy
 msgid "Export list"
 msgstr "Экспорт"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 #, fuzzy
 msgid "Create snapshot"
 msgstr "Создать настройки запись эл. почты"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 #, fuzzy
 msgid "Create a new snapshot from this object"
 msgstr "Объект группы"
@@ -1359,29 +1370,29 @@ msgstr "Редактиовать объект"
 msgid "Delete this entry"
 msgstr "Удалить"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, fuzzy, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 #, fuzzy
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr ""
 "Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 #, fuzzy
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
@@ -1389,11 +1400,11 @@ msgid ""
 msgstr ""
 "Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1402,12 +1413,12 @@ msgstr ""
 "Не удается считать блокировку в базе данных LDAP. Проверьте, раздел \"config"
 "\" в файле gosa.conf!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid "LDAP server returned: %s"
 msgstr "LDAP-сервер"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 #, fuzzy
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
@@ -1416,12 +1427,12 @@ msgstr ""
 "Для блокируемого объекта обнаружено несколько блокировок. Этого быть не "
 "должно, проверьте работу LDAP."
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr "Найдено более %d объектов."
 
-#: include/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1430,218 +1441,228 @@ msgstr ""
 "Установить новое значение лимита в %s и показать мне это сообщение если "
 "лимит будет исчерпан."
 
-#: include/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Настроить"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "не полный"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 #, fuzzy
 msgid "Continue anyway"
 msgstr "Продолжить"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 #, fuzzy
 msgid "Edit anyway"
 msgstr "Редактиовать объект"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, fuzzy, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr "Вы собираетесь удалить объект %s."
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr ""
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Служба печати"
+
+#: include/functions.inc:2313
+#, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr ""
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 #, fuzzy
 msgid "Cannot write to revision file!"
 msgstr "Удалить"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "LDAP warning"
 msgstr "Экспорт в LDIF"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr "Не удается получить информацию о схемах. Проверка схем невозможна!"
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, fuzzy, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Список подразделений"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr ""
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Немецкий"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Французский"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr ""
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Испанский"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Английский"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Датский"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 #, fuzzy
 msgid "Polish"
 msgstr "Английский"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 #, fuzzy
 msgid "Chinese"
 msgstr "сброс"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Имя"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Русский"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, fuzzy, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr ""
 "Не удается найти команду \"%s\", указанную в поле POSTREMOVE модуля \"%s\"."
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr "Слишком много пользователей, невозможно создать идентификатор!"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Список подразделений"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 #, fuzzy
 msgid "Cannot allocate a free ID!"
 msgstr "Слишком много пользователей, невозможно создать идентификатор!"
@@ -1679,31 +1700,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1828,46 +1849,46 @@ msgstr "Тип"
 msgid "Arguments"
 msgstr "подразделения"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 #, fuzzy
 msgid "from"
 msgstr "и"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 #, fuzzy
 msgid "Restore"
 msgstr "Повторить"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 #, fuzzy
 msgid "cut"
 msgstr "Выполнить"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr ""
 
@@ -2166,75 +2187,76 @@ msgstr "Обязательное поле \"Имя\" не заполнено."
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "Значение поля \"Имя\" содержит недопустимые символы."
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, fuzzy, php-format
 msgid "'%s' are not allowed!"
 msgstr "Сменить пароль"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr "Значение поля \"Имя\" содержит недопустимые символы."
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, fuzzy, php-format
 msgid "Missing %s PHP extension!"
 msgstr "Удалить параметры"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "Добавить"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, fuzzy, php-format
 msgid "Add %s"
 msgstr "Добавить"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, fuzzy, php-format
 msgid "Delete %s"
 msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, fuzzy, php-format
 msgid "Set %s"
 msgstr "Установить"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit..."
 msgstr "Изменить"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit %s..."
 msgstr "Пользователи домена"
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Назад"
 
-#: include/utils/class_msgPool.inc:377
+#: include/utils/class_msgPool.inc:380
 #, fuzzy, php-format
 msgid "This account has no valid %s extensions!"
 msgstr "Для этой учетной записи нет корректных расширений GOsa."
 
-#: include/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
@@ -2242,7 +2264,7 @@ msgstr ""
 "В этой учетной записи используются атрибуты POSIX. Вы можете отключить их "
 "использование, щелкнув ниже."
 
-#: include/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2251,7 +2273,7 @@ msgstr ""
 "В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
 "использование, сначала нужно удалить учетную запись Samba."
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
@@ -2259,7 +2281,7 @@ msgstr ""
 "В этой учетной записи не используются атрибуты POSIX. Вы можете использовать "
 "их, щелкнув ниже."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: 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 "
@@ -2268,231 +2290,231 @@ msgstr ""
 "В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
 "использование, сначала нужно удалить учетную запись Samba."
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, fuzzy, php-format
 msgid "Add %s settings"
 msgstr "Дополнительные записи в fstab"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, fuzzy, php-format
 msgid "Remove %s settings"
 msgstr "Атрибуты UNIX"
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr "Нажмите 'Изменить' чтобы отредактировать данные в этой форме."
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Январь"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Февраль"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Март"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Апрель"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Май"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Июнь"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Июль"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Август"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Сентябрь"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Октябрь"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Ноябрь"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Декабрь"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Sunday"
 msgstr "Имя сервера"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Monday"
 msgstr "месяц"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 #, fuzzy
 msgid "MySQL operation failed!"
 msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "read operation"
 msgstr "Почтовые настройки"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "modify operation"
 msgstr "Личная информация"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "delete operation"
 msgstr "Выберите чтобы посмотреть рабочие станции"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "search operation"
 msgstr "Учетная запись"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "authentication"
 msgstr "Рабочая станция Windows"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, fuzzy, php-format
 msgid "LDAP %s failed!"
 msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 #, fuzzy
 msgid "LDAP operation failed!"
 msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 #, fuzzy
 msgid "Upload failed!"
 msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, fuzzy, php-format
 msgid "Upload failed: %s"
 msgstr "Служба печати"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, fuzzy, php-format
 msgid "This '%s' is still in use."
 msgstr "Описание группы"
 
-#: include/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, fuzzy, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr "Описание группы"
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, fuzzy, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, fuzzy, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Список подразделений"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, fuzzy, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, fuzzy, php-format
 msgid "Checking for %s support"
 msgstr "Проверка поддержки gettext"
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2512,29 +2534,29 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: include/class_ldap.inc:831
 #, fuzzy, php-format
 msgid "while operating on '%s' using LDAP server '%s'"
 msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: include/class_ldap.inc:830
+#: include/class_ldap.inc:833
 #, fuzzy, php-format
 msgid "while operating on LDAP server %s"
 msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: include/class_ldap.inc:1052
+#: 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 ""
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2606,12 +2628,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Описание группы"
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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
 #, fuzzy
 msgid "Unknown"
 msgstr "состояние неизвестно"
@@ -2643,17 +2668,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr "Удалить"
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 #, fuzzy
 msgid "Cannot paste"
 msgstr "Создать телефонный аккаунт"
@@ -2663,12 +2688,12 @@ msgid "Please fix the above error and reload the page."
 msgstr ""
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "Общее"
@@ -2681,7 +2706,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Почта"
@@ -2689,14 +2714,14 @@ 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "Факс"
 
@@ -2714,7 +2739,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Группа"
@@ -2725,10 +2750,9 @@ msgstr "Группа"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "Подразделение"
 
@@ -2736,16 +2760,14 @@ msgstr "Подразделение"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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 "Телефон"
@@ -2829,6 +2851,7 @@ msgstr "Команда разработчиков 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
@@ -2846,6 +2869,7 @@ 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
@@ -2853,62 +2877,74 @@ msgid "User"
 msgstr "Пользователь"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2916,32 +2952,32 @@ msgstr "Фамилия"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2952,6 +2988,7 @@ msgstr "Ветка"
 #: 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
@@ -3013,7 +3050,7 @@ msgstr ""
 "сможет восстановить эти данные."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Объединения"
 
@@ -3024,7 +3061,7 @@ msgstr "Название группы"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 #, fuzzy
 msgid "Infrastructure error"
 msgstr "Ошибка LDAP:"
@@ -3039,110 +3076,110 @@ msgstr "Шаблон"
 msgid "Windows Install"
 msgstr "Рабочая станция Windows"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "слишком много различных объектов!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "пользователи"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "группы"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "приложения"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "подразделения"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "серверы"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "рабочие станции"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 #, fuzzy
 msgid "winstations"
 msgstr "Рабочая станция"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "терминалы"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "телефоны"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "принтеры"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 "отключен"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 "полный доступ"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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 "разрешить доступ только на эти хосты"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 #, fuzzy
 msgid "Non existing dn:"
 msgstr "Не существующий dn:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 #, fuzzy
 msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 "Вы можете комбинировать не более двух различных классов в одном объекте!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 #, fuzzy
 msgid "Object group generic"
 msgstr "Объект группы"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "Системные доверия"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 #, fuzzy
 msgid "Member"
 msgstr "Включаемые объекты"
@@ -3163,7 +3200,7 @@ msgid "Descriptive text for this group"
 msgstr "Описание группы"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Системные доверия"
@@ -3205,7 +3242,7 @@ msgstr ""
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3276,7 +3313,7 @@ msgid "List of object groups"
 msgstr "Название группы"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3287,15 +3324,15 @@ msgid "Properties"
 msgstr "Свойства"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Создать"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3303,12 +3340,12 @@ msgstr "Создать"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Удалить"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 #, fuzzy
 msgid "Send message"
@@ -3388,18 +3425,20 @@ msgstr ""
 "этой операции."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 #, fuzzy
 msgid "Surname"
 msgstr "Имя сервера"
@@ -3479,6 +3518,13 @@ msgstr "Показать группы samba"
 msgid "Show mail groups"
 msgstr "Показать группы samba"
 
+#: 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/admin/groups/paste_generic.tpl:1
 #, fuzzy
 msgid "Group settings"
@@ -3488,17 +3534,28 @@ msgstr "Настройки Samba"
 msgid "List of groups"
 msgstr "Список групп"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Члены группы"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Члены группы"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "Основная группа"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "серверы"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 #, fuzzy
 msgid "Cannot find group SID in your configuration!"
 msgstr "Не могу найти SID в базе LDAP или в сонфигурационном файле!"
@@ -3554,14 +3611,14 @@ msgstr "Удалить"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Удалить"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3569,32 +3626,32 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 #, fuzzy
 msgid "Generic group settings"
 msgstr "Общая информация о пользователе"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 #, fuzzy
 msgid "Samba group type"
 msgstr "Группа Samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 #, fuzzy
 msgid "Samba domain name"
 msgstr "Домашний каталог Samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 #, fuzzy
 msgid "Phone pickup group"
 msgstr "Члены телефонной группы"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 #, fuzzy
 msgid "Nagios group"
 msgstr "Контакт"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 #, fuzzy
 msgid "Group member"
 msgstr "Члены группы"
@@ -3616,21 +3673,21 @@ msgid "Edit posix properties"
 msgstr "Изменить свойства"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 #, fuzzy
 msgid "Edit mail properties"
 msgstr "Изменить свойства"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 #, fuzzy
 msgid "Edit samba properties"
 msgstr "Изменить свойства"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 #, fuzzy
 msgid "Edit phone properties"
@@ -3649,7 +3706,7 @@ msgid "Edit start menu properties"
 msgstr "Изменить свойства"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 #, fuzzy
 msgid "Edit environment properties"
@@ -3677,7 +3734,8 @@ msgstr ""
 "вступят в силу немедленно. Пожалуйста, запомните новый пароль, так как иначе "
 "пользователь не сможет войти в систему."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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 "
@@ -3686,20 +3744,54 @@ msgstr ""
 "Изменение пароля влияет на аутентификацию при использовании почты, прокси-"
 "сервера, Samba и служб UNIX."
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 #, fuzzy
 msgid "Strength"
 msgstr "Улица"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Пароль"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+#, fuzzy
+msgid "Use proposal"
+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 "Ссылки"
+
+#: 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 "Введите свой пароль!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Сменить пароль"
+
+#: plugins/admin/users/password.tpl:84
+#: plugins/personal/generic/password.tpl:88
+#: plugins/personal/password/password.tpl:93
 msgid "Set password"
 msgstr "Изменить пароль"
 
@@ -3719,7 +3811,7 @@ msgstr ""
 "использовать шаблоны."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3742,39 +3834,39 @@ msgstr "Список"
 msgid "Manage users"
 msgstr "Пользователи домена"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 #, fuzzy
 msgid "You have no permission to change this users password!"
 msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 #, fuzzy
 msgid "Account locking"
 msgstr "Учетная запись"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "Моя учетная запись"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "Моя учетная запись"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 #, fuzzy
 msgid "Edit generic properties"
 msgstr "Изменить свойства"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3782,21 +3874,21 @@ msgstr "Изменить свойства"
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Изменить свойства"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 #, fuzzy
 msgid "Edit netatalk properties"
 msgstr "Изменить свойства"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Изменить свойства"
@@ -3906,7 +3998,7 @@ msgstr "Список подразделений"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "в домене"
@@ -3919,30 +4011,28 @@ msgstr "Администраторы домена"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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 "Местоположение"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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 "Организация"
 
@@ -3966,28 +4056,47 @@ msgstr "Имя создаваемой ветки"
 msgid "Descriptive text for department"
 msgstr "Описание подразделения"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "Пользователи домена"
+
+#: 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
 #, fuzzy
 msgid "Administrative settings"
 msgstr "Администрирование"
 
-#: plugins/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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 ""
 
@@ -4005,8 +4114,8 @@ msgid "Descriptive text for   department"
 msgstr "Описание подразделения"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr "Категория"
@@ -4016,90 +4125,84 @@ msgstr "Категория"
 msgid "Category for this subtree"
 msgstr "Категория этой ветки"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "Адм. единица"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "Местоположение ветки"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Адрес"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr "Почтовый адрес для ветки"
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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/admin/departments/generic.tpl:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "Администраторы домена"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Подразделения"
 
@@ -4108,30 +4211,30 @@ msgstr "Подразделения"
 msgid "Manage Departments"
 msgstr "Подразделения"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
 msgid "Organization name"
 msgstr "Организация"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 #, fuzzy
 msgid "Postal address"
 msgstr "Почтовый индекс"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 #, fuzzy
 msgid "Phone number"
 msgstr "Телефонные номера"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 #, fuzzy
 msgid "Country name"
@@ -4152,45 +4255,45 @@ msgstr "Имя создаваемой ветки"
 msgid "Name of country to create"
 msgstr "Имя создаваемой ветки"
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 #, fuzzy
 msgid "Department name"
 msgstr "Управление подразделениями"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Телефон"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr ""
@@ -4305,9 +4408,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Роль"
 
@@ -4346,294 +4448,290 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "Дополнительные записи в fstab"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "женский"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "мужской"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 #, fuzzy
 msgid "Serial number"
 msgstr "Телефонные номера"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, php-format
 msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 #, fuzzy
 msgid "No certificate installed"
 msgstr "Изменить сертификаты"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "The selected password method is no longer available."
 msgstr "У выбранного приложения нет параметров."
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 #, fuzzy
 msgid "The selected password method requires initial configuration!"
 msgstr "У выбранного приложения нет параметров."
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Домашняя страница"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: plugins/personal/generic/class_user.inc:1362
+#: plugins/personal/generic/class_user.inc:1825
+#: plugins/personal/generic/generic.tpl:407
 msgid "Mobile"
 msgstr "Мобильный"
 
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: plugins/personal/generic/class_user.inc:1365
+#: plugins/personal/generic/class_user.inc:1828
+#: plugins/personal/generic/generic.tpl:415
 msgid "Pager"
 msgstr "Пейджер"
 
-#: plugins/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 #, fuzzy
 msgid "Cannot open certificate!"
 msgstr "Невозможно выбрать базу данных!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Подразделение"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Номер дома"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Специальность"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "Последняя доставка"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr "Местоположение сотрудника"
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Описание подразделения"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr "Область деятельности"
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "Должность"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "Серийный номер сертификата"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "Видимый всем"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Улица"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Почтовый индекс"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 #, fuzzy
 msgid "Generic user settings"
 msgstr "Общая информация о пользователе"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 #, fuzzy
 msgid "User identification"
 msgstr "Информация"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Обращение"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Академическое звание"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Пол"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 #, fuzzy
 msgid "Preferred language"
 msgstr "Язык по умолчанию"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 #, fuzzy
 msgid "User picture"
 msgstr "Изображение"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Срок действия пароля истекает"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 #, fuzzy
 msgid "Department number"
 msgstr "Управление подразделениями"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 #, fuzzy
 msgid "Employee number"
 msgstr "Форма трудоустройства"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Форма трудоустройства"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 #, fuzzy
 msgid "Room number"
 msgstr "Телефонные номера"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 #, fuzzy
 msgid "Telefon number"
 msgstr "Телефонные номера"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 #, fuzzy
 msgid "Pager number"
 msgstr "Телефонные номера"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 #, fuzzy
 msgid "Mobile number"
 msgstr "Домашний телефон"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 #, fuzzy
 msgid "Fax number"
 msgstr "Терминал"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 #, fuzzy
 msgid "Home phone number"
 msgstr "Телефонные номера"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "Хэширование паролей"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 #, fuzzy
 msgid "User certificates"
 msgstr "Стандартный сертификат"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, 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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4651,75 +4749,57 @@ msgid "Template name"
 msgstr "Шаблон"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 #, fuzzy
 msgid "Preferred langage"
 msgstr "Язык по умолчанию"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Личный телефон"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Хэширование паролей"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Сертификаты"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Изменить сертификаты"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Информация об организации"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Номер подразделения"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Номер работника"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Номер комнаты"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Воспользуйтесь закладкой \"Телефон\""
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Выберите ветку для пользователя"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-#, fuzzy
-msgid "Select a base"
-msgstr "Выберите, чтобы просмотреть серверы"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 #, fuzzy
 msgid "User settings"
@@ -4740,24 +4820,32 @@ msgstr "Изменить пароль"
 msgid "Remove picture"
 msgstr "Удалить изображение"
 
-#: plugins/personal/generic/main.inc:115
-#, fuzzy
-msgid "You have no permission to set your password!"
-msgstr "У вас недостаточно прав для смены своего пароля."
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Общая информация о пользователе"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+#, fuzzy
 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."
+"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 ""
-"Вы изменили метод шифрования паролей в базе LDAP. В связи с этим введите "
-"свой пароль снова. GOsa произведет шифрование в соответствии с выбраной "
-"схемой."
+"В полях ниже вы можете изменить свой пароль. Изменения вступят в силу "
+"немедленно. Пожалуйста, запомните новый пароль, так как иначе вы не сможете "
+"войти в систему."
+
+#: plugins/personal/generic/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Сменить пароль"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "Очистить поля"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4771,6 +4859,17 @@ msgstr "Сертификат S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Сертификат PKCS12"
 
+#: 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 "У вас недостаточно прав для смены своего пароля."
+
+#: plugins/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "У вас недостаточно прав для смены своего пароля."
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
 msgid "Edit users POSIX settings"
@@ -4849,7 +4948,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4886,61 +4985,61 @@ msgstr "Затенение"
 msgid "shadowInactive"
 msgstr "Затенение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 #, fuzzy
 msgid "POSIX account"
 msgstr "Аккаунт FTP"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Оболочка"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "Идентификатор пользователя"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 #, fuzzy
 msgid "Group ID"
 msgstr "Группа"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 #, fuzzy
 msgid "Force password change on login"
 msgstr "Сменить пароль"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 #, fuzzy
 msgid "Shadow min"
 msgstr "Затенение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 #, fuzzy
 msgid "Shadow max"
 msgstr "Затенение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 #, fuzzy
 msgid "Shadow warning"
 msgstr "Затенение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 #, fuzzy
 msgid "Shadow inactive"
 msgstr "Затенение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 #, fuzzy
 msgid "Shadow expire"
 msgstr "Показать людей"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 #, fuzzy
 msgid "System trust model"
 msgstr "Системные доверия"
@@ -5051,78 +5150,50 @@ msgstr "Пользователь должен сменить пароль при
 msgid "Password expires on"
 msgstr "Срок действия пароля истекает"
 
-#: 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/password/main.inc:57 setup/setup_config1.tpl:136
 #, fuzzy
 msgid "Password settings"
 msgstr "Почтовые настройки пользователя"
 
-#: plugins/personal/password/password.tpl:4
+#: plugins/personal/password/password.tpl:14
 #, fuzzy
-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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Очистить поля"
+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:79
+#: 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:85
+#: plugins/personal/password/class_password.inc:135
 msgid "The password you've entered as 'New password' is empty."
 msgstr "Вы не указали новый пароль."
 
-#: plugins/personal/password/class_password.inc:94
+#: plugins/personal/password/class_password.inc:144
 #, fuzzy, php-format
 msgid "External password changer reported a problem: %s."
 msgstr "При попытке сменить пароль извне возникла проблема: "
 
-#: plugins/personal/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
 msgstr "Введенный вами текущий пароль не совпадает с реальным."
 
-#: plugins/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 #, fuzzy
 msgid "You have no permission to change your password."
 msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 #, fuzzy
 msgid "User password"
 msgstr "Новый пароль"
 
-#: plugins/personal/password/nochange.tpl:2
-#, fuzzy
-msgid "Password change not allowed"
-msgstr "Сменить пароль"
-
-#: plugins/personal/password/nochange.tpl:6
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "У вас недостаточно прав для смены своего пароля."
-
 #: setup/class_setupStep_Feedback.inc:92
 #, fuzzy
 msgid "UNIX accounts/groups"
@@ -5195,12 +5266,12 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 #, fuzzy
 msgid "Please specify a valid email address."
 msgstr "Введите корректное имя пользователя!"
 
-#: setup/class_setupStep_Feedback.inc:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5359,12 +5430,12 @@ msgid "After migration"
 msgstr "Управление пользователями"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 "Дата"
@@ -5528,12 +5599,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Ссылки"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5621,7 +5686,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -6025,30 +6092,35 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Общая информация о пользователе"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr ""
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -6087,27 +6159,27 @@ msgid ""
 "GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, fuzzy, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, fuzzy, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, fuzzy, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
 msgid "Please specify user and password!"
 msgstr "Введите свой пароль!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, fuzzy, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
@@ -6144,11 +6216,6 @@ msgstr "Рабочая станция Windows"
 msgid "Admin DN"
 msgstr "DN администратора"
 
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "Удалить"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -6206,7 +6273,7 @@ msgid "Checking for invisible users"
 msgstr "Проверка поддержки gettext"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
 msgid "Checking for super administrator"
 msgstr "Проверка дополнительных программ"
@@ -6253,12 +6320,12 @@ msgstr "Проверка поддержки gettext"
 #: 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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 "Невозможно выполнить запрос к базе данных!"
@@ -6266,12 +6333,12 @@ 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:655 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
+#: 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 ""
 
@@ -6285,16 +6352,16 @@ msgstr "Укажите корректный номер телефона."
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr "Укажите корректный номер телефона."
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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 "Ошибка"
 
@@ -6319,169 +6386,169 @@ msgstr "Режим"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
 msgid "Migration error"
 msgstr "Дата"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
 #, fuzzy, php-format
 msgid "Cannot migrate department '%s':"
 msgstr "Список подразделений"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, fuzzy, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "Создать настройки запись эл. почты"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
 msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
 msgstr "Создать настройки запись эл. почты"
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Input error"
 msgstr "Ошибка LDAP:"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Password error"
 msgstr "Срок действия пароля истекает"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Provided passwords do not match!"
 msgstr "Введенные пароли не совпадают!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Specify a valid user ID!"
 msgstr "Введите корректное имя пользователя!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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 "Невозможно подключиться к серверу базы данных!"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
 msgid "Try to create root object"
 msgstr "Объект группы"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, fuzzy, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr "Список подразделений"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
 msgid "Please check your installation."
 msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, fuzzy, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "Ошибка при выполнении \"%s\"!"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, fuzzy, php-format
 msgid "Updating '%s' failed: %s"
 msgstr "Служба печати"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6873,6 +6940,34 @@ msgid "Automatic"
 msgstr "автоматически"
 
 #, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Члены группы"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Выберите ветку для пользователя"
+
+#, fuzzy
+#~ msgid "Select a base"
+#~ msgstr "Выберите, чтобы просмотреть серверы"
+
+#, fuzzy
+#~ 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 произведет шифрование в соответствии с выбраной "
+#~ "схемой."
+
+#, fuzzy
+#~ msgid "Password change not allowed"
+#~ msgstr "Сменить пароль"
+
+#, fuzzy
 #~ msgid "Choose a base"
 #~ msgstr "Выберите, чтобы просмотреть серверы"
 
@@ -7276,10 +7371,6 @@ msgstr "автоматически"
 #~ msgstr "Поиск"
 
 #, fuzzy
-#~ msgid "Password end"
-#~ msgstr "Пароль"
-
-#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Приложение"
 
@@ -8512,10 +8603,6 @@ msgstr "автоматически"
 #~ msgstr "Показать телефоны"
 
 #, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "Служба печати"
-
-#, fuzzy
 #~ msgid ""
 #~ "Can't connect to glpi database, there is no mysl extension available in "
 #~ "your php setup."
diff --git a/gosa-core/locale/core/vi/LC_MESSAGES/messages.po b/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
index f409e05..3d499f6 100644
--- a/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VIcore2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -21,12 +21,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -34,10 +34,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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"
@@ -67,7 +67,7 @@ msgstr ""
 #: 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:309
+#: 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
@@ -147,7 +147,7 @@ msgstr ""
 "có thể lại gặp lỗi khi paste đối tượng này!"
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "Lưu lại"
@@ -194,7 +194,7 @@ 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/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "Đặt"
@@ -218,7 +218,7 @@ msgstr "Chọn một dạng acl"
 
 #: 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -276,11 +276,13 @@ msgstr "Mật khẩu cũ"
 #: 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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"
 
@@ -344,8 +346,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "đối tượng"
 
@@ -390,8 +392,8 @@ msgstr "Lý do để tạo ra snapshot này"
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "Tiếp tục"
 
@@ -400,17 +402,19 @@ msgstr "Tiếp tục"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -420,27 +424,26 @@ msgstr "Tiếp tục"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -448,7 +451,7 @@ msgstr "Lỗi"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "Thông tin"
 
@@ -456,17 +459,17 @@ msgstr "Thông tin"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -484,16 +487,16 @@ msgstr "Thành công"
 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:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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"
 
@@ -508,7 +511,10 @@ msgstr ""
 "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/password/password.tpl:13
+#: 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"
 
@@ -517,7 +523,10 @@ msgid "New password repeated"
 msgstr "Mật khẩu mới được lặp lại"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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"
 
@@ -605,7 +614,7 @@ msgstr "Đăng xuất"
 
 #: 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -633,9 +642,9 @@ msgstr "Đăng nhập:"
 msgid "GOsa main menu"
 msgstr "Menu chính của GOsa"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 msgid "Fatal error"
 msgstr "Lỗi nặng"
 
@@ -645,16 +654,16 @@ 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:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -662,6 +671,7 @@ msgstr "Cấu hình GOsa %s/%s không đọc được. Bãi bỏ."
 #: 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"
 
@@ -671,7 +681,7 @@ 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!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: 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"
 
@@ -679,9 +689,8 @@ msgstr "Phương pháp lập mật khẩu"
 msgid "Error: Password method not available!"
 msgstr "Lỗi: Phương pháp mật khẩu không có!"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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."
@@ -689,21 +698,22 @@ 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:204 plugins/personal/password/class_password.inc:88
+#: 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."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:91
+#: 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."
 
 #: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -721,11 +731,11 @@ msgstr "Bạn không được phép thay đổi mật mã của bạn."
 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 đề: "
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "Phiên sẽ không được mã hóa."
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "Vào phiên SSL"
 
@@ -767,44 +777,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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"
 
@@ -839,7 +849,7 @@ 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/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -868,35 +878,35 @@ 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."
 
-#: html/main.php:228
+#: 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!"
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr "Hết dung lượng bộ nhớ!"
 
-#: html/main.php:285
+#: 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"
 
-#: html/main.php:339
-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:349
+#: html/main.php:373
 msgid "Plugin"
 msgstr "Plugin"
 
-#: html/main.php:350
+#: 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'!"
 
-#: html/main.php:364
+#: html/main.php:388
 #, fuzzy
 msgid "Configuration Error"
 msgstr "Lỗi cấu hình"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -941,29 +951,29 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: 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/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: 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."
@@ -1057,25 +1067,25 @@ msgid "Use ACL defined in role"
 msgstr "Sử dụng ACL được xác định trong vai trò"
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: plugins/personal/generic/class_user.inc:1674
+#: setup/class_setupStep_Migrate.inc:1040
 msgid "Users"
 msgstr "Người dùng"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "Các nhóm"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1084,7 +1094,7 @@ 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: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
@@ -1103,7 +1113,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1168,11 +1178,11 @@ msgstr "Hoàn thành đối tượng"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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"
@@ -1227,7 +1237,7 @@ 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/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1235,89 +1245,90 @@ msgstr ""
 msgid "Select all"
 msgstr "Chọn tất"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "Tạo "
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "Đi đến bộ phận gốc"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "Gốc"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "Đi lên một bộ phận"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "Đi đến bộ phận người dùng"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr "Nhà"
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "Danh sách reload"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "Nộp"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 msgid "Copy"
 msgstr "Copy"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 msgid "Cut"
 msgstr "Cut"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "Cắt entry này"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "Copy entry này"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "Phục hồi lại snapshot"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 msgid "Export list"
 msgstr ""
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: 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/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 msgid "Create snapshot"
 msgstr "Tạo ra snapshot"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: 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"
 
@@ -1329,14 +1340,14 @@ msgstr "Hiệu chỉnh entry này"
 msgid "Delete this entry"
 msgstr "Xóa bỏ entry"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, 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:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
@@ -1344,17 +1355,17 @@ 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:448
+#: include/functions.inc:455
 #, php-format
 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'."
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 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!"
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
@@ -1362,11 +1373,11 @@ 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:790 include/functions.inc:908
+#: 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:800
+#: include/functions.inc:825
 #, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
@@ -1375,12 +1386,12 @@ 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:800
+#: include/functions.inc:825
 #, php-format
 msgid "LDAP server returned: %s"
 msgstr "LDAP server trả về: %s"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
@@ -1388,12 +1399,12 @@ 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:1233
+#: include/functions.inc:1258
 #, php-format
 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!"
 
-#: include/functions.inc:1235
+#: include/functions.inc:1260
 #, php-format
 msgid ""
 "Set the new size limit to %s and show me this message if the limit still "
@@ -1402,73 +1413,83 @@ 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:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "Cấu hình"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "chưa hoàn thành"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "Cứ tiếp tục"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "Cứ hiệu chỉnh"
 
-#: include/functions.inc:1646
+#: 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:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "các entry cho mỗi trang"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "Áp dụng bộ lọc"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "GOsa"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "snapshot phát triển GOsa (Rev %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "snapshot phát triển GOsa (Rev %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr "File '%s' không thể bị xóa."
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 msgid "Cannot write to revision file!"
 msgstr "Không thể viết lên revision file!"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 #, 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:2676
+#: include/functions.inc:2720
 msgid "LDAP warning"
 msgstr "Cảnh báo LDAP"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 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 đồ!"
 
-#: include/functions.inc:2702
+#: 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:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
@@ -1476,27 +1497,27 @@ 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:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr "Lớp đối tượng '%s' được yêu cầu mất tích!"
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 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 '%s' được yêu cầu (!=%s)!"
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, php-format
 msgid "Class(es) available"
 msgstr "Đã có lớp"
 
-#: include/functions.inc:2787
+#: 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."
@@ -1504,7 +1525,7 @@ 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:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
@@ -1512,7 +1533,7 @@ msgstr ""
 "Để có thể sử dụng được nhóm conform rfc2307bis, objectClass "
 "'posixGroup' (nhóm posix) phải được hỗ trợ     "
 
-#: include/functions.inc:2792
+#: 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."
@@ -1520,51 +1541,51 @@ 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:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr "ObjectClass (Lớp đối tượng) 'posixGroup' phải CÓ CẤU TRÚC"
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "Tiếng Đức"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "Tiếng Pháp"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "Tiếng Ý"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "Tiếng Tây Ban Nha"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "Tiếng Anh"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "Tiếng Hà Lan"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "Tiếng Phần Lan"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "Tiếng Trung Quốc"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 msgid "Vietnamese"
 msgstr "Tiếng Việt"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "Tiếng Nga"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
@@ -1572,52 +1593,52 @@ 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:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr "Không thể sinh ra hàm băm samba!"
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr "Không thể phân phối một ID miễn phí!"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Không thể tạo ra folder '%s'!"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 #, fuzzy
 msgid "no ID available!"
 msgstr "Không có mẫu nào!"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 msgid "Cannot allocate a free ID!"
 msgstr "Không thể phân phối một ID miễn phí!"
 
@@ -1653,31 +1674,31 @@ msgstr "Y-m-d, H:i:s (Năm-tháng-ngày)"
 #: 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1790,13 +1811,13 @@ msgstr "Loại"
 msgid "Arguments"
 msgstr "Tranh luận"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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!"
@@ -1804,29 +1825,29 @@ 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:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr "Thay đổi ACL dn"
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "Từ"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 msgid "Restore"
 msgstr "Phục hồi"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "cắt"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "Copy"
 
@@ -2105,75 +2126,76 @@ msgstr "Trường được yêu cầu '%s' bị rỗng!"
 msgid "Example"
 msgstr "Ví dụ"
 
-#: include/utils/class_msgPool.inc:292
+#: 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/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr "'%s' không được phép:"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' are not allowed!"
 msgstr "'%s' không được cho phép!"
 
-#: include/utils/class_msgPool.inc:296
+#: 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/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, php-format
 msgid "Missing %s PHP extension!"
 msgstr "PHP mở rộng %s mất tích!"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: 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/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, php-format
 msgid "Add %s"
 msgstr "Thêm %s"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, php-format
 msgid "Delete %s"
 msgstr "Xóa %s"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set %s"
 msgstr "Thiết lập %s"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit..."
 msgstr "Hiệu chỉnh..."
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, php-format
 msgid "Edit %s..."
 msgstr "Hiệu chỉnh %s..."
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "Quay lại"
 
-#: include/utils/class_msgPool.inc:377
+#: 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/utils/class_msgPool.inc:383
+#: include/utils/class_msgPool.inc:386
 #, php-format
 msgid ""
 "This account has %s settings enabled. You can disable them by clicking below."
@@ -2181,7 +2203,7 @@ 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/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2190,7 +2212,7 @@ 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!"
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
@@ -2198,7 +2220,7 @@ 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."
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
 #, php-format
 msgid ""
 "This account has %s settings disabled. To enable them, you'll need to add "
@@ -2207,223 +2229,223 @@ 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!"
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, php-format
 msgid "Add %s settings"
 msgstr "Thêm thiết lập %s "
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, php-format
 msgid "Remove %s settings"
 msgstr "Xóa thiết lập %s"
 
-#: include/utils/class_msgPool.inc:432
+#: 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/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "Tháng Một"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "Tháng Hai"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "Tháng Ba"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "Tháng Tư"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "Tháng Năm"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "Tháng Sáu"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "Tháng Bảy"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "Tháng Tám"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "Tháng Chín"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "Tháng Mười"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "Tháng Mười Một"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "Tháng Mười Hai"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Sunday"
 msgstr "Chủ nhật"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Monday"
 msgstr "Thứ Hai"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr "Thứ Ba"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Wednesday"
 msgstr "Thứ Tư"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr "Thứ Năm"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr "Thứ Sáu"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr "Thứ Bảy"
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 #, fuzzy
 msgid "MySQL operation failed!"
 msgstr "Hoạt động LDAP thất bại!"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "read operation"
 msgstr "Đọc thao tác"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr "thêm tao tác"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "modify operation"
 msgstr "thay đối thao tác"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "delete operation"
 msgstr "xóa thao tác"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "search operation"
 msgstr "tìm kiếm thao tác"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 msgid "authentication"
 msgstr "Xác định thẩm quyền"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, php-format
 msgid "LDAP %s failed!"
 msgstr "LDAP %s thất bại!"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 msgid "LDAP operation failed!"
 msgstr "Hoạt động LDAP thất bại!"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 msgid "Upload failed!"
 msgstr "Tải lên thất bại!"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, php-format
 msgid "Upload failed: %s"
 msgstr "Tải lên thất bại: %s"
 
-#: include/utils/class_msgPool.inc:492
+#: 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/utils/class_msgPool.inc:494
+#: 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/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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/utils/class_msgPool.inc:507
+#: 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/utils/class_msgPool.inc:509
+#: 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/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr "File '%s' không tồn tại!"
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "Không thể mở file '%s' để đọc!"
 
-#: include/utils/class_msgPool.inc:527
+#: 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/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "Không thế xóa file '%s'!"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "Không thể tạo ra folder '%s'!"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "Không thể xóa folder '%s'!"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, php-format
 msgid "Checking for %s support"
 msgstr "Kiểm tra hỗ trợ %s"
 
-#: include/utils/class_msgPool.inc:563
+#: 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/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2446,22 +2468,22 @@ 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:741
+#: 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ợ "
 
-#: include/class_ldap.inc:828
+#: 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'"
 
-#: include/class_ldap.inc:830
+#: include/class_ldap.inc:833
 #, php-format
 msgid "while operating on LDAP server %s"
 msgstr "Trong khi chạy trên LDAP server %s"
 
-#: include/class_ldap.inc:1052
+#: include/class_ldap.inc:1055
 #, php-format
 msgid ""
 "This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
@@ -2470,7 +2492,7 @@ 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/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr ""
@@ -2539,12 +2561,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr "Tất cả các đối tượng trong hạng mục này"
 
-#: include/class_pluglist.inc:178
+#: 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!"
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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õ"
 
@@ -2575,17 +2600,17 @@ msgstr "'%s' không phải là một đối tượng LDAP hợp lệ"
 msgid "No write permission in '%s'"
 msgstr "Không có phép viết cho '%s'"
 
-#: include/class_CopyPasteHandler.inc:394
+#: 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"
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr "Đối tượng này sẽ được paste: %s"
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 msgid "Cannot paste"
 msgstr "Không thể paste"
 
@@ -2594,12 +2619,12 @@ 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/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: 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"
@@ -2612,7 +2637,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "Thư"
@@ -2620,14 +2645,14 @@ msgstr "Thư"
 #: 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "Fax"
 
@@ -2645,7 +2670,7 @@ msgstr "FTP "
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "Nhóm "
@@ -2656,10 +2681,9 @@ msgstr "Nhóm "
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: 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"
 
@@ -2667,16 +2691,14 @@ msgstr "Bộ phận"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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"
@@ -2758,6 +2780,7 @@ msgstr "Nhóm phát triển 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
@@ -2774,6 +2797,7 @@ msgstr "Thiết bị cuối "
 #: 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
@@ -2781,62 +2805,74 @@ msgid "User"
 msgstr "Người dùng"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2844,32 +2880,32 @@ msgstr "Tên"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2880,6 +2916,7 @@ msgstr "Cơ sở"
 #: 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
@@ -2941,7 +2978,7 @@ msgstr ""
 "cách nào để GOsa lấy lại dữ liệu cho bạn."
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "Tất cả các nhóm đối tượng"
 
@@ -2951,7 +2988,7 @@ msgstr "Quản lý các nhóm đối tượng "
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 msgid "Infrastructure error"
 msgstr "Lỗi cơ sở hạ tầng"
 
@@ -2964,107 +3001,107 @@ msgstr "Mẫu"
 msgid "Windows Install"
 msgstr "Cài đặt window"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 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/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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/admin/ogroups/class_ogroup.inc:387
+#: 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/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "người dùng"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "các nhóm"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "các ứng dụng"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "các bộ phận"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "các server"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "máy trạm"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 msgid "winstations"
 msgstr "máy trạm dùng win "
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "các thiết bị cuối"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "điện thoại"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "các máy in"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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/admin/ogroups/class_ogroup.inc:443
+#: 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/admin/ogroups/class_ogroup.inc:444
+#: 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/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "dn không tồn tại:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: 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/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 msgid "Object group generic"
 msgstr "Nhóm đối tượng chung"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "Ủy thác hệ thống"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 msgid "Member"
 msgstr "Thành viên"
 
@@ -3084,7 +3121,7 @@ msgid "Descriptive text for this group"
 msgstr "Văn bản mô tả cho nhóm này"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "Ủy thác hệ thống"
@@ -3123,7 +3160,7 @@ msgstr "Tóm tắt FAI"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3182,7 +3219,7 @@ msgid "List of object groups"
 msgstr "Danh sách các nhóm đối tượng"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3193,15 +3230,15 @@ msgid "Properties"
 msgstr "Properties"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "Tạo "
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3209,12 +3246,12 @@ msgstr "Tạo "
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "Xóa bỏ"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 msgid "Send message"
 msgstr ""
@@ -3293,18 +3330,20 @@ msgstr ""
 "liệu cho bạn."
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 #, fuzzy
 msgid "Surname"
 msgstr "Họ "
@@ -3383,6 +3422,12 @@ msgstr "các nhóm samba"
 msgid "Show mail groups"
 msgstr "các nhóm mail"
 
+#: 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/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "Thiết lập nhóm"
@@ -3391,17 +3436,28 @@ msgstr "Thiết lập nhóm"
 msgid "List of groups"
 msgstr "Danh sách các nhóm"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "Thành viên nhóm"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "Thành viên nhóm"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "các nhóm máy in"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, 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!"
 
@@ -3457,14 +3513,14 @@ msgstr "Không thể tìm thấy một SID nào cho '%s'!"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "Không thể tìm thấy một RIDBASE nào cho '%s'!"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3472,27 +3528,27 @@ msgstr ""
 msgid "GID"
 msgstr "Số ID của nhóm"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 msgid "Generic group settings"
 msgstr "Thiết lập nhóm chung"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 msgid "Samba group type"
 msgstr "Loại nhóm Samba"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 msgid "Samba domain name"
 msgstr "Tên miền Samba"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 msgid "Phone pickup group"
 msgstr "Nhóm nhấc điện thoại"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 msgid "Nagios group"
 msgstr "Nhóm phần mềm Nagios"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 msgid "Group member"
 msgstr "Thành viên nhóm"
 
@@ -3512,19 +3568,19 @@ msgid "Edit posix properties"
 msgstr "Hiệu chỉnh các tính năng điện thoại"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: 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/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: 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/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: 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"
@@ -3541,7 +3597,7 @@ msgid "Edit start menu properties"
 msgstr "Hiệu chỉnh các tính năng samba"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: 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"
@@ -3567,7 +3623,8 @@ msgstr ""
 "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/password/password.tpl:8
+#: 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."
@@ -3575,19 +3632,53 @@ 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:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 msgid "Strength"
 msgstr "Cường độ"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: 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/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/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/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/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Ép buộc thay đổi mật khẩu trong khi đăng nhập"
+
+#: 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"
 
@@ -3606,7 +3697,7 @@ msgstr ""
 "các mẫu."
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3626,37 +3717,37 @@ msgstr "Tên"
 msgid "Manage users"
 msgstr "Quản lý người dùng"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: 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/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 #, fuzzy
 msgid "Account locking"
 msgstr "Tài khoản"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "Tài khoản của tôi"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "Tài khoản của tôi"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "Hiệu chỉnh các tính năng chung"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3664,20 +3755,20 @@ msgstr "Hiệu chỉnh các tính năng chung"
 msgid "POSIX"
 msgstr "POSIX (giao diện hệ điều hành lưu động)"
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "Hiệu chỉnh các tính năng UNIX"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: 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/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "Hiệu chỉnh các tính năng UNIX"
@@ -3786,7 +3877,7 @@ msgstr "Danh sách các bộ phận"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "trong miền"
@@ -3799,30 +3890,28 @@ msgstr "Admin miền"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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"
 
@@ -3846,27 +3935,46 @@ msgstr "Tên của cây con được tạo"
 msgid "Descriptive text for department"
 msgstr "Văn bản mô tả cho bộ phận"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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/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/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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"
 
@@ -3884,8 +3992,8 @@ msgid "Descriptive text for   department"
 msgstr "Văn bản mô tả cho bộ phận"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: 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"
@@ -3895,90 +4003,84 @@ msgstr "Các danh mục"
 msgid "Category for this subtree"
 msgstr "Các danh mục cho cây con"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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/departments/generic.tpl:70
-#: plugins/admin/departments/organization.tpl:70
+#: 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/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "Địa chỉ"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: 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/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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/departments/generic.tpl:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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/departments/generic.tpl:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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/departments/class_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "Admin miền"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "Các bộ phận"
 
@@ -3986,7 +4088,7 @@ msgstr "Các bộ phận"
 msgid "Manage Departments"
 msgstr "Quản lý  các bộ phận"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 "
@@ -3996,22 +4098,22 @@ 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:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
 msgid "Organization name"
 msgstr "Tổ chức"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: 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/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 #, fuzzy
 msgid "Phone number"
 msgstr "Số điện thoại nhà"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 #, fuzzy
 msgid "Country name"
@@ -4032,44 +4134,44 @@ msgstr "Tên của cây con được tạo"
 msgid "Name of country to create"
 msgstr "Tên của cây con được tạo"
 
-#: plugins/admin/departments/class_department.inc:372
+#: 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/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "Tagging '%s'."
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "Chuyển từ '%s' đến '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: 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/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "Tên bộ phận"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "Số điện thoại"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "Đối tượng '%s' đã bị tag"
 
-#: plugins/admin/departments/class_department.inc:673
+#: 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/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "Bỏ tag từ đối tượng '%s'"
@@ -4182,9 +4284,8 @@ 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "Vai trò"
 
@@ -4223,27 +4324,27 @@ msgstr ""
 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:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "Nữ"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "Nam"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr "Không thể tải file lên!"
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 msgid "Serial number"
 msgstr "Số seri"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
@@ -4251,250 +4352,246 @@ 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/personal/generic/class_user.inc:532
+#: 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/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "hợp lệ"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "không hợp lệ"
 
-#: plugins/personal/generic/class_user.inc:541
+#: 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/personal/generic/class_user.inc:567
+#: 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/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: 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:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "Trang chủ"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: 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:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: 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:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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:1433
+#: plugins/personal/generic/class_user.inc:1485
 msgid "Cannot open certificate!"
 msgstr "Không mở được giấy chứng nhận!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "Đơn vị"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "Mô tả căn nhà"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "Nghề nghiệp"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: 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/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: 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/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "Mô tả đơn vị "
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: 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/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: 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/personal/generic/class_user.inc:1595
+#: 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/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: 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/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "Phố"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "Mã bưu điện"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 msgid "Generic user settings"
 msgstr "Thiết lập chung của người dùng"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 msgid "User identification"
 msgstr "Chứng nhận người dùng"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "Chức danh cá nhân"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "Chức danh học thuật"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "Giới tính"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 msgid "Preferred language"
 msgstr "Ngôn ngữ muốn sử dụng"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: 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/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Các hạn chế mật khẩu"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 msgid "Department number"
 msgstr "Số phòng làm việc"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 msgid "Employee number"
 msgstr "Số nhân viên"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "Loại nhân viên"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 msgid "Room number"
 msgstr "Số phòng"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 msgid "Telefon number"
 msgstr "Số điện thoại"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 msgid "Pager number"
 msgstr "Số máy nhắn tin"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 msgid "Mobile number"
 msgstr "Số di động"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 msgid "Fax number"
 msgstr "Số fax"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "Đại chỉ nhà theo bưu điện"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 msgid "Home phone number"
 msgstr "Số điện thoại nhà"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "Phương pháp lập mật khẩu"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 msgid "User certificates"
 msgstr "Giấy phép của người dùng"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, fuzzy
+msgid "Entries differ"
+msgstr "các entry cho mỗi trang"
+
+#: 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 ""
+"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/generic/generic.tpl:6
-#: plugins/personal/generic/multiple_generic.tpl:5
 msgid "Personal information"
 msgstr "Thông tin cá nhân"
 
 #: plugins/personal/generic/generic.tpl:20
 #: plugins/personal/generic/generic.tpl:22
 #: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4511,73 +4608,56 @@ msgid "Template name"
 msgstr "Tên Mẫu"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "Ngôn ngữ muốn dùng"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "Số điện thoại riêng"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "Kho lưu mật khẩu"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "Các giấy phép"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "Hiệu chỉnh các giấy phép"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "Thông tin về tổ chức"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "Số phòng ban"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "Số nhân viên"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "Số phòng"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "Xin hãy sử dụng Phone Tab"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "Chọn một cây con để cho người dùng vào"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "Chọn một cơ sở"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "Thiết lập của người dùng"
@@ -4595,23 +4675,31 @@ msgstr "Đặt mật khẩu mới"
 msgid "Remove picture"
 msgstr "Xóa ảnh "
 
-#: plugins/personal/generic/main.inc:115
-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!"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "Thông tin chung của người dùng"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"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."
+"Để 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
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Thay đổi mật khẩu"
+
+#: 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/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4625,6 +4713,16 @@ msgstr "Giấy phép S/MIME"
 msgid "PKCS12 certificate"
 msgstr "Giấy phép PKCS12"
 
+#: 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/personal/generic/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/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"
@@ -4699,7 +4797,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4732,53 +4830,53 @@ msgstr "Cảnh báo về Shadow"
 msgid "shadowInactive"
 msgstr "Shadow  không hoạt động"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 msgid "POSIX account"
 msgstr "tài khoản POSIX"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "ID người dùng"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 msgid "Group ID"
 msgstr "ID nhóm"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: 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/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 msgid "Shadow min"
 msgstr "Shadow min"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr "Shadow max"
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 msgid "Shadow warning"
 msgstr "Cảnh báo Shadow"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 msgid "Shadow inactive"
 msgstr "Shadow không hoạt động"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 msgid "Shadow expire"
 msgstr "Shadow hết hạn"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 msgid "System trust model"
 msgstr "Mô hình ủy thác hệ thống"
 
@@ -4888,72 +4986,47 @@ msgstr "Người dùng phải thay đổi mật khẩu ngay lần đăng nhập
 msgid "Password expires on"
 msgstr "Mật khẩu hết hạn vào ngày"
 
-#: 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 ""
-"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/password/main.inc:57 setup/setup_config1.tpl:136
 msgid "Password settings"
 msgstr "Thiết lập mật khẩu"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "Dọn sạch các trường "
+#: plugins/personal/password/password.tpl:14
+#, 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!"
 
 #: plugins/personal/password/class_password.inc:27
 msgid "Change user password"
 msgstr "Thay đổi mật khẩu người dùng"
 
-#: plugins/personal/password/class_password.inc:79
+#: 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/personal/password/class_password.inc:85
+#: 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/personal/password/class_password.inc:94
+#: plugins/personal/password/class_password.inc:144
 #, 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:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
 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:114
+#: 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/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 msgid "User password"
 msgstr "Mật khẩu người dùng"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "Bạn không được phép thay đổi mật khẩu"
-
-#: plugins/personal/password/nochange.tpl:6
-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"
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr "Tài khoản/nhóm UNIX"
@@ -5017,11 +5090,11 @@ msgstr "Không thể gửi phản hồi đển '%s': %s"
 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:180
+#: 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:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5163,12 +5236,12 @@ msgid "After migration"
 msgstr "Sau khi di trú"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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ú"
 
@@ -5351,12 +5424,6 @@ msgstr ""
 "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/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Các tham chiếu"
-
 #: setup/setup_migrate.tpl:488
 #, fuzzy
 msgid ""
@@ -5445,7 +5512,10 @@ 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:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+#, 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:105
@@ -5860,31 +5930,36 @@ msgid "What PHP version do you use?"
 msgstr "Bạn sử dụng phiên bản PHP nào?"
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "Thiết lập GOsa chung "
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr "LDAP"
 
-#: setup/setup_feedback.tpl:119
+#: 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?"
 
-#: setup/setup_feedback.tpl:125
+#: 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?"
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 msgid "Features"
 msgstr "Các tính năng"
 
-#: setup/setup_feedback.tpl:135
+#: 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?"
 
-#: setup/setup_feedback.tpl:145
+#: 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?"
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr "Gửi phản hồi"
 
@@ -5919,26 +5994,26 @@ msgid ""
 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:105
+#: 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!"
 
-#: setup/class_setupStep_Ldap.inc:107
+#: 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!"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: 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."
 
-#: setup/class_setupStep_Ldap.inc:113
+#: 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!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: 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!"
@@ -5972,10 +6047,6 @@ msgstr "Thẩm định quyền"
 msgid "Admin DN"
 msgstr "Admin DN"
 
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Chọn người dùng"
-
 #: 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"
@@ -6027,7 +6098,7 @@ msgid "Checking for invisible users"
 msgstr "Kiểm tra những người dùng ẩn"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 msgid "Checking for super administrator"
 msgstr "Kiểm tra siêu admin"
 
@@ -6069,24 +6140,24 @@ msgstr "Kiểm tra các bộ phận ẩn"
 #: 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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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"
 
 #: 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:655 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
+#: 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."
 
@@ -6100,16 +6171,16 @@ msgstr "Đã tìm được %s giá trị nhân bản cho thuộc tính  'uidNumd
 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:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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"
 
@@ -6135,166 +6206,166 @@ msgstr "Chuyển"
 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/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:663
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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ú"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: 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':"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: 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':"
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 msgid "Input error"
 msgstr "Lỗi nhập vào"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 msgid "Password error"
 msgstr "Lỗi mật mã"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: 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ệ!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr "Máy trạm Win sẽ được chuyển từ"
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr "Nhóm sẽ được chuyển từ"
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr "Người dùng sẽ được chuyển từ"
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr "Tham chiếu sau sẽ được cập nhật"
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: 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ó."
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: 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ó."
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: 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!"
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: 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."
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: 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:"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: 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"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6669,6 +6740,31 @@ msgstr "Bước này cho phép bạn lựa chọn ngôn ngữ bạn muốn dùng
 msgid "Automatic"
 msgstr "Tự động"
 
+#, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "Thành viên nhóm"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Chọn một cây con để cho người dùng vào"
+
+#~ 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 ""
+#~ "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 "Password change not allowed"
+#~ msgstr "Bạn không được phép thay đổi mật khẩu"
+
 #~ msgid "Inconsistent DN encoding detected: '%s'"
 #~ msgstr "Việc mã hóa DN không thống nhất phát hiện: '%s'"
 
@@ -6822,9 +6918,6 @@ msgstr "Tự động"
 #~ msgid "phone users"
 #~ msgstr "Người dùng Proxy"
 
-#~ msgid "GOsa"
-#~ msgstr "GOsa"
-
 #~ msgid "Edit UNIX properties"
 #~ msgstr "Hiệu chỉnh các tính năng UNIX"
 
diff --git a/gosa-core/locale/core/zh/LC_MESSAGES/messages.po b/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
index 03e5e42..41b0a72 100644
--- a/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 19:47+0100\n"
+"POT-Creation-Date: 2010-07-09 20:24+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"
@@ -19,12 +19,12 @@ msgstr ""
 #: 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:414 html/index.php:420
-#: include/functions.inc:929 include/functions.inc:2642
-#: include/functions.inc:2646 include/functions.inc:2652
+#: 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:1003 plugins/admin/users/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
@@ -32,10 +32,10 @@ msgstr ""
 #: 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:662 setup/class_setupStep_Migrate.inc:803
-#: setup/class_setupStep_Migrate.inc:2572
-#: setup/class_setupStep_Migrate.inc:2725
-#: setup/class_setupStep_Migrate.inc:3057 setup/setup_checks.tpl:32
+#: 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 "警告"
@@ -62,7 +62,7 @@ msgstr "所以,如果您确定,请按“删除”继续,否则按“取消
 #: 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:309
+#: 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
@@ -139,7 +139,7 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:327
+#: include/utils/class_msgPool.inc:330
 #, php-format
 msgid "Save"
 msgstr "保存"
@@ -182,7 +182,7 @@ msgid ""
 "and let me use filters instead"
 msgstr "忽略错误并显示在定义限制长度内的所有条目,并让我使用过滤器。"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:345
+#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
 #, php-format
 msgid "Set"
 msgstr "设置"
@@ -209,7 +209,7 @@ 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:321 setup/setup_migrate.tpl:161
+#: 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
@@ -273,11 +273,13 @@ 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:13
-#: plugins/admin/users/class_userManagement.inc:249
-#: plugins/personal/generic/main.inc:97
-#: plugins/personal/generic/password.tpl:7
-#: plugins/personal/password/password.tpl:18
+#: 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 "新口令"
 
@@ -335,8 +337,8 @@ 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:472
-#: plugins/admin/departments/class_department.inc:560
+#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
+#: plugins/admin/departments/class_department.inc:621
 msgid "Object"
 msgstr "对象"
 
@@ -378,8 +380,8 @@ msgstr ""
 
 #: ihtml/themes/default/snapshotdialog.tpl:87
 #: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:500
-#: plugins/admin/departments/class_department.inc:582
+#: plugins/admin/departments/class_department.inc:561
+#: plugins/admin/departments/class_department.inc:643
 msgid "Continue"
 msgstr "继续"
 
@@ -388,17 +390,19 @@ msgstr "继续"
 #: 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/class_listing.inc:477 include/functions.inc:3349
-#: include/functions.inc:3363 include/functions.inc:3393
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441 include/functions.inc:3501
-#: include/class_tabs.inc:56 include/class_plugin.inc:658
-#: include/class_plugin.inc:700 include/class_plugin.inc:743
-#: include/class_plugin.inc:1612 include/utils/class_xml.inc:40
+#: 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:454
-#: include/utils/class_msgPool.inc:475 include/utils/class_msgPool.inc:494
+#: 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
@@ -408,27 +412,26 @@ msgstr "继续"
 #: include/class_CopyPasteHandler.inc:185
 #: include/class_CopyPasteHandler.inc:193
 #: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:375 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:500
+#: 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:1230
-#: plugins/admin/departments/class_department.inc:250
+#: 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:279
-#: plugins/personal/generic/class_user.inc:382
-#: plugins/personal/generic/class_user.inc:477
-#: plugins/personal/generic/class_user.inc:754
-#: plugins/personal/generic/class_user.inc:1143
-#: plugins/personal/generic/class_user.inc:1150
-#: plugins/personal/generic/class_user.inc:1168
-#: plugins/personal/generic/class_user.inc:1433
-#: plugins/personal/generic/class_user.inc:1709
-#: plugins/personal/generic/main.inc:115
-#: setup/class_setupStep_Migrate.inc:1200 setup/setup_checks.tpl:30
+#: 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"
@@ -436,7 +439,7 @@ msgstr "错误"
 
 #: ihtml/themes/default/msg_dialog.tpl:61
 #: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:249 setup/setup_ldap.tpl:121
+#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
 msgid "Information"
 msgstr "提示信息"
 
@@ -444,17 +447,17 @@ msgstr "提示信息"
 #: 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:315
+#: 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:605
-#: setup/class_setupStep_Migrate.inc:658 setup/class_setupStep_Migrate.inc:799
-#: setup/class_setupStep_Migrate.inc:1045
-#: setup/class_setupStep_Migrate.inc:2012
-#: setup/class_setupStep_Migrate.inc:2156
-#: setup/class_setupStep_Migrate.inc:2578
-#: setup/class_setupStep_Migrate.inc:2732
-#: setup/class_setupStep_Migrate.inc:3062 setup/setup_checks.tpl:27
+#: 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"
@@ -474,16 +477,16 @@ msgstr "访问"
 msgid "Your password has been changed successfully."
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:339
-#: plugins/admin/users/class_userManagement.inc:277
-#: plugins/personal/password/class_password.inc:78
-#: plugins/personal/password/class_password.inc:81
-#: plugins/personal/password/class_password.inc:84
-#: plugins/personal/password/class_password.inc:87
-#: plugins/personal/password/class_password.inc:90
-#: plugins/personal/password/class_password.inc:93
-#: plugins/personal/password/class_password.inc:107
-#: plugins/personal/password/class_password.inc:113
+#: 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 "不允许修改口令"
@@ -496,7 +499,10 @@ msgid ""
 msgstr ""
 
 #: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/password/password.tpl:13
+#: 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 "当前口令"
 
@@ -506,7 +512,10 @@ msgid "New password repeated"
 msgstr "新口令"
 
 #: ihtml/themes/default/password.tpl:90
-#: plugins/personal/password/password.tpl:28
+#: 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 "口令存储"
@@ -592,7 +601,7 @@ 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:207
+#: include/class_pluglist.inc:212
 msgid ""
 "You are currently editing a database entry. Do you want to dismiss the "
 "changes?"
@@ -618,9 +627,9 @@ msgstr "登录:"
 msgid "GOsa main menu"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:447
+#: html/password.php:58 html/main.php:147 include/functions.inc:454
 #: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 msgid "Fatal error"
 msgstr "终端服务器"
@@ -631,16 +640,16 @@ msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
 
 #: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:228
+#: 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:800
-#: include/functions.inc:3023 include/functions.inc:3055
-#: include/functions.inc:3068 include/utils/class_timezone.inc:47
+#: 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:177
+#: 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
@@ -648,6 +657,7 @@ msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
 #: 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 "配置文件"
@@ -657,7 +667,7 @@ msgstr "配置文件"
 msgid "Directory '%s' specified as compile directory is not accessible!"
 msgstr "目录 '%s' 作为编译目录无法访问!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:567
+#: html/password.php:159 plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "Password method"
 msgstr "口令存储"
@@ -666,29 +676,29 @@ msgstr "口令存储"
 msgid "Error: Password method not available!"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:246
-#: plugins/personal/generic/main.inc:92
-#: plugins/personal/password/class_password.inc:82
+#: 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:88
+#: 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:91
+#: 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:1266
-#: plugins/personal/generic/class_user.inc:1284
-#: plugins/personal/generic/class_user.inc:1298
-#: plugins/personal/generic/class_user.inc:1300
+#: 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"
@@ -706,11 +716,11 @@ msgstr "您无权修改您的口令。"
 msgid "External password changer reported a problem: "
 msgstr "外部口令更改程序报告错误:"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Session will not be encrypted."
 msgstr "会话不会被加密。"
 
-#: html/password.php:280 html/index.php:414
+#: html/password.php:280 html/index.php:406
 msgid "Enter SSL session"
 msgstr "进入 SSL 会话"
 
@@ -748,44 +758,44 @@ msgstr ""
 #: 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:476
-#: include/functions.inc:511 include/functions.inc:519
-#: include/functions.inc:564 include/functions.inc:815
-#: include/functions.inc:864 include/functions.inc:921
-#: include/functions.inc:974 include/functions.inc:3002
-#: include/functions.inc:3275 include/class_plugin.inc:1289
-#: include/class_plugin.inc:1338 include/class_plugin.inc:1342
-#: include/class_plugin.inc:1358 include/class_plugin.inc:1398
-#: include/class_plugin.inc:1456 include/class_plugin.inc:1522
-#: include/class_plugin.inc:1537 include/class_ldap.inc:753
-#: include/class_ldap.inc:1219 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:915
-#: plugins/admin/ogroups/class_ogroup.inc:929
+#: 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:1027
-#: plugins/admin/departments/class_department.inc:218
-#: plugins/admin/departments/class_department.inc:415
-#: plugins/admin/departments/class_department.inc:688
-#: plugins/admin/departments/class_department.inc:719
+#: 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:685
-#: plugins/personal/generic/class_user.inc:1065
+#: 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:1211
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
-#: setup/class_setupStep_Migrate.inc:2142
-#: setup/class_setupStep_Migrate.inc:2439
-#: setup/class_setupStep_Migrate.inc:2443
-#: setup/class_setupStep_Migrate.inc:2633
-#: setup/class_setupStep_Migrate.inc:2653
-#: setup/class_setupStep_Migrate.inc:2770
-#: setup/class_setupStep_Migrate.inc:3117
-#: setup/class_setupStep_Migrate.inc:3131
+#: 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 错误:"
@@ -821,7 +831,7 @@ msgstr ""
 msgid "Account locked. Please contact your system administrator!"
 msgstr "账户锁定。请联系管理员。"
 
-#: html/index.php:420
+#: html/index.php:412
 msgid ""
 "Your browser has cookies disabled. Please enable cookies and reload this "
 "page before logging in!"
@@ -848,35 +858,35 @@ msgid ""
 "fixed by an administrator."
 msgstr "致命错误:全局注册已打开。GOsa 将拒绝登录直到被管理修正。"
 
-#: html/main.php:228
+#: html/main.php:198
+#, fuzzy
+msgid "Your password is about to expire, please change your password!"
+msgstr "您的口令就要过期,请修改您的口令"
+
+#: html/main.php:268
 msgid "Running out of memory!"
 msgstr ""
 
-#: html/main.php:285
+#: html/main.php:325
 msgid "User ACL checks disabled"
 msgstr ""
 
-#: html/main.php:339
-#, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "您的口令就要过期,请修改您的口令"
-
-#: html/main.php:349
+#: html/main.php:373
 #, fuzzy
 msgid "Plugin"
 msgstr "于"
 
-#: html/main.php:350
+#: html/main.php:374
 #, fuzzy, php-format
 msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
 msgstr "警告: 没有发现针对插件 '%s' 的任何插件定义!"
 
-#: html/main.php:364
+#: html/main.php:388
 #, fuzzy
 msgid "Configuration Error"
 msgstr "配置文件"
 
-#: html/main.php:365
+#: html/main.php:389
 #, php-format
 msgid ""
 "FATAL: not all POST variables have been transfered by PHP - please inform "
@@ -920,31 +930,31 @@ 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:1560
-#: include/class_plugin.inc:1572 include/class_plugin.inc:1587
-#: include/class_plugin.inc:1600
-#: plugins/admin/users/class_userManagement.inc:221
-#: plugins/admin/users/class_userManagement.inc:618
+#: 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/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:576
-#: plugins/admin/users/class_userManagement.inc:580
+#: 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/class_management.inc:427 include/class_plugin.inc:1560
+#: include/class_management.inc:427 include/class_plugin.inc:1590
 #, fuzzy, php-format
 msgid "You are not allowed to create a snapshot for %s."
 msgstr "您无权删除这个用户!"
 
 #: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1572
-#: include/class_plugin.inc:1587 include/class_plugin.inc:1600
+#: include/class_management.inc:525 include/class_plugin.inc:1602
+#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
 #, fuzzy, php-format
 msgid "You are not allowed to restore a snapshot for %s."
 msgstr "您无权删除这个用户!"
@@ -1039,25 +1049,25 @@ msgid "Use ACL defined in role"
 msgstr ""
 
 #: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1608
-#: setup/class_setupStep_Migrate.inc:1039
+#: 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:1189
+#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
 #: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1042
+#: setup/class_setupStep_Migrate.inc:1043
 msgid "Groups"
 msgstr "用户组"
 
-#: include/class_acl.inc:496 include/class_listing.inc:239
-#: include/class_listing.inc:996 include/class_listing.inc:998
+#: 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:239
+#: include/class_acl.inc:498 include/class_listing.inc:242
 #: include/class_sortableListing.inc:225
 #: plugins/admin/acl/class_aclRole.inc:374
 msgid "Down"
@@ -1066,7 +1076,7 @@ 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: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
@@ -1085,7 +1095,7 @@ msgstr "ACL"
 
 #: 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:339 plugins/admin/acl/class_aclRole.inc:381
+#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
 #: plugins/admin/acl/class_aclRole.inc:430
 #, php-format
 msgid "Delete"
@@ -1156,11 +1166,11 @@ msgstr "成员对象"
 
 #: include/class_acl.inc:960 include/class_session.inc:76
 #: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:604 include/functions.inc:790
-#: include/functions.inc:908 include/functions.inc:1306
-#: include/functions.inc:2370 include/functions.inc:2404
-#: include/functions.inc:2424 include/class_ldap.inc:693
-#: include/class_ldap.inc:741 include/class_log.inc:87
+#: 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
 #, fuzzy
@@ -1218,7 +1228,7 @@ msgstr "MAC 地址"
 msgid "Requested channel does not exist! Please contact your Administrator."
 msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 
-#: include/class_listing.inc:298 setup/setup_migrate.tpl:93
+#: 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
@@ -1227,93 +1237,94 @@ msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 msgid "Select all"
 msgstr "选择"
 
-#: include/class_listing.inc:519
+#: include/class_listing.inc:522
 #, fuzzy
 msgid "created by"
 msgstr "创建"
 
-#: include/class_listing.inc:988
+#: include/class_listing.inc:991
 msgid "Go to root department"
 msgstr "转到根部门"
 
-#: include/class_listing.inc:988 include/class_listing.inc:990
+#: include/class_listing.inc:991 include/class_listing.inc:993
 #: include/class_baseSelector.inc:159
 msgid "Root"
 msgstr "根"
 
-#: include/class_listing.inc:996
+#: include/class_listing.inc:999
 msgid "Go up one department"
 msgstr "向上跳转一个部门"
 
-#: include/class_listing.inc:1004
+#: include/class_listing.inc:1007
 msgid "Go to users department"
 msgstr "转到用户部门"
 
-#: include/class_listing.inc:1004 include/class_listing.inc:1006
+#: include/class_listing.inc:1007 include/class_listing.inc:1009
 msgid "Home"
 msgstr ""
 
-#: include/class_listing.inc:1011
+#: include/class_listing.inc:1014
 msgid "Reload list"
 msgstr "重新加载列表"
 
-#: include/class_listing.inc:1011 include/class_baseSelector.inc:206
+#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
 msgid "Submit"
 msgstr "提交"
 
-#: include/class_listing.inc:1106 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/group-list.xml:62 plugins/admin/users/user-list.xml:78
+#: 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_listing.inc:1376 include/class_listing.inc:1426
-#: include/class_plugin.inc:2084
+#: include/class_listing.inc:1380 include/class_listing.inc:1430
+#: include/class_plugin.inc:2114
 #, fuzzy
 msgid "Copy"
 msgstr "复制"
 
-#: include/class_listing.inc:1382 include/class_listing.inc:1416
-#: include/class_plugin.inc:2088
+#: include/class_listing.inc:1386 include/class_listing.inc:1420
+#: include/class_plugin.inc:2118
 #, fuzzy
 msgid "Cut"
 msgstr "剪切"
 
-#: include/class_listing.inc:1390 include/class_listing.inc:1392
-#: include/class_plugin.inc:2095 include/class_plugin.inc:2098
-#: include/class_CopyPasteHandler.inc:514
+#: 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 "粘贴"
 
-#: include/class_listing.inc:1416 include/class_plugin.inc:2042
+#: include/class_listing.inc:1420 include/class_plugin.inc:2072
 msgid "Cut this entry"
 msgstr "剪切条目"
 
-#: include/class_listing.inc:1426 include/class_plugin.inc:2050
+#: include/class_listing.inc:1430 include/class_plugin.inc:2080
 msgid "Copy this entry"
 msgstr "拷贝条目"
 
-#: include/class_listing.inc:1458 include/class_listing.inc:1460
+#: include/class_listing.inc:1462 include/class_listing.inc:1464
 #, fuzzy
 msgid "Restore snapshots"
 msgstr "删除记录"
 
-#: include/class_listing.inc:1474
+#: include/class_listing.inc:1478
 #, fuzzy
 msgid "Export list"
 msgstr "导出"
 
-#: include/class_listing.inc:1509 include/class_listing.inc:1510
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2016
+#: include/class_listing.inc:1513 include/class_listing.inc:1514
+#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
 msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_listing.inc:1519 include/class_plugin.inc:2023
+#: include/class_listing.inc:1523 include/class_plugin.inc:2053
 #, fuzzy
 msgid "Create snapshot"
 msgstr "创建 nagios 账户"
 
-#: include/class_listing.inc:1520 include/class_plugin.inc:2024
+#: include/class_listing.inc:1524 include/class_plugin.inc:2054
 #, fuzzy
 msgid "Create a new snapshot from this object"
 msgstr "创建新 FAI 对象"
@@ -1326,278 +1337,288 @@ msgstr "编辑这条记录"
 msgid "Delete this entry"
 msgstr "删除这个条目"
 
-#: include/functions.inc:127
+#: include/functions.inc:134
 #, php-format
 msgid "Fatal error: no class locations defined - please run '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:134
+#: include/functions.inc:141
 #, php-format
 msgid ""
 "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
 msgstr ""
 
-#: include/functions.inc:448
+#: include/functions.inc:455
 #, php-format
 msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
 msgstr "致命错误:连接 LDAP 错误。服务器返回 '%s'。"
 
-#: include/functions.inc:519
+#: include/functions.inc:526
 #, fuzzy
 msgid "Username / UID is not unique inside the LDAP tree!"
 msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 
-#: include/functions.inc:604
+#: include/functions.inc:611
 #, fuzzy
 msgid ""
 "Username / UID is not unique inside the LDAP tree. Please contact your "
 "Administrator."
 msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 
-#: include/functions.inc:790 include/functions.inc:908
+#: include/functions.inc:815 include/functions.inc:933
 msgid "Error while adding a lock. Contact the developers!"
 msgstr ""
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid ""
 "Cannot create locking information in LDAP tree. Please contact your "
 "administrator!"
 msgstr "无法获得 LDAP 数据库的锁信息。检查 gosa.conf 中的 'config' 条目!"
 
-#: include/functions.inc:800
+#: include/functions.inc:825
 #, fuzzy, php-format
 msgid "LDAP server returned: %s"
 msgstr "LDAP 服务器"
 
-#: include/functions.inc:929
+#: include/functions.inc:954
 #, fuzzy
 msgid ""
 "Found multiple locks for object to be locked. This should not happen - "
 "cleaning up multiple references."
 msgstr "发现要锁定的对象由多个锁。这虽然不可能──清除多个引用。"
 
-#: include/functions.inc:1233
+#: include/functions.inc:1258
 #, php-format
 msgid "The size limit of %d entries is exceed!"
 msgstr "超过了 %d 个条目的大小限制!"
 
-#: include/functions.inc:1235
+#: 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/functions.inc:1247 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
 msgid "Configure"
 msgstr "配置"
 
-#: include/functions.inc:1252
+#: include/functions.inc:1277
 msgid "incomplete"
 msgstr "不完整"
 
-#: include/functions.inc:1642
+#: include/functions.inc:1667
 msgid "Continue anyway"
 msgstr "仍然继续"
 
-#: include/functions.inc:1644
+#: include/functions.inc:1669
 msgid "Edit anyway"
 msgstr "仍然编辑"
 
-#: include/functions.inc:1646
+#: include/functions.inc:1671
 #, fuzzy, php-format
 msgid "You're going to edit the LDAP entry/entries %s"
 msgstr "您将要拷贝条目 '%s'。"
 
-#: include/functions.inc:1886
+#: include/functions.inc:1911
 msgid "Entries per page"
 msgstr "每页条目数"
 
-#: include/functions.inc:1915 include/class_filter.inc:314
+#: include/functions.inc:1940 include/class_filter.inc:315
 msgid "Apply filter"
 msgstr "应用过滤器"
 
-#: include/functions.inc:2227 include/class_filter.inc:280
+#: include/functions.inc:2252 include/class_filter.inc:281
 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: include/functions.inc:2273
+#: include/functions.inc:2306
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Syslog 服务"
+
+#: include/functions.inc:2313
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "GOsa 开发版(版本 %s)"
+
+#: include/functions.inc:2318
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa 开发版(版本 %s)"
 
-#: include/functions.inc:2370
+#: include/functions.inc:2414
 #, php-format
 msgid "File '%s' could not be deleted."
 msgstr ""
 
-#: include/functions.inc:2404 include/functions.inc:2424
+#: include/functions.inc:2448 include/functions.inc:2468
 #, fuzzy
 msgid "Cannot write to revision file!"
 msgstr "无法创建文件 '%s'。"
 
-#: include/functions.inc:2642 include/functions.inc:2646
-#: include/functions.inc:2652
+#: include/functions.inc:2686 include/functions.inc:2690
+#: include/functions.inc:2696
 #, fuzzy
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "警告: nextIdHook不可用。使用缺省 base。"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "LDAP warning"
 msgstr "LDAP 管理"
 
-#: include/functions.inc:2676
+#: include/functions.inc:2720
 #, fuzzy
 msgid "Cannot get schema information from server. No schema check possible!"
 msgstr "不能从服务器得到 schema 信息。无法对 schema 检查!"
 
-#: include/functions.inc:2702
+#: include/functions.inc:2746
 msgid "Used to store account specific informations."
 msgstr ""
 
-#: include/functions.inc:2709
+#: include/functions.inc:2753
 msgid ""
 "Used to lock currently edited entries to avoid multiple changes at the same "
 "time."
 msgstr ""
 
-#: include/functions.inc:2754
+#: include/functions.inc:2798
 #, php-format
 msgid "Missing required object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2757
+#: include/functions.inc:2801
 #, php-format
 msgid "Missing optional object class '%s'!"
 msgstr ""
 
-#: include/functions.inc:2762
+#: include/functions.inc:2806
 #, php-format
 msgid "Version mismatch for required object class '%s' (!=%s)!"
 msgstr ""
 
-#: include/functions.inc:2765
+#: include/functions.inc:2809
 #, fuzzy, php-format
 msgid "Class(es) available"
 msgstr "文件可用。"
 
-#: include/functions.inc:2787
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2788
+#: include/functions.inc:2832
 msgid ""
 "In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
 "be      AUXILIARY"
 msgstr ""
 
-#: include/functions.inc:2792
+#: 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."
 msgstr ""
 
-#: include/functions.inc:2793
+#: include/functions.inc:2837
 msgid "The objectClass 'posixGroup' must be STRUCTURAL"
 msgstr ""
 
-#: include/functions.inc:2817
+#: include/functions.inc:2861
 msgid "German"
 msgstr "德语"
 
-#: include/functions.inc:2818
+#: include/functions.inc:2862
 msgid "French"
 msgstr "法语"
 
-#: include/functions.inc:2819
+#: include/functions.inc:2863
 msgid "Italian"
 msgstr "意大利语"
 
-#: include/functions.inc:2820
+#: include/functions.inc:2864
 msgid "Spanish"
 msgstr "西班牙语"
 
-#: include/functions.inc:2821
+#: include/functions.inc:2865
 msgid "English"
 msgstr "英语"
 
-#: include/functions.inc:2822
+#: include/functions.inc:2866
 msgid "Dutch"
 msgstr "荷兰语"
 
-#: include/functions.inc:2823
+#: include/functions.inc:2867
 msgid "Polish"
 msgstr "波兰语"
 
-#: include/functions.inc:2825
+#: include/functions.inc:2869
 msgid "Chinese"
 msgstr "芯片组"
 
-#: include/functions.inc:2826
+#: include/functions.inc:2870
 #, fuzzy
 msgid "Vietnamese"
 msgstr "名"
 
-#: include/functions.inc:2827
+#: include/functions.inc:2871
 msgid "Russian"
 msgstr "俄语"
 
-#: include/functions.inc:3022
+#: include/functions.inc:3066
 #, php-format
 msgid ""
 "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
 msgstr "命令 '%s',作为插件 '%s' 的 POSTMODIFY 好像并不存在。"
 
-#: include/functions.inc:3055
+#: include/functions.inc:3099
 msgid "Cannot generate samba hash!"
 msgstr ""
 
-#: include/functions.inc:3068
+#: include/functions.inc:3112
 #, php-format
 msgid ""
 "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
 msgstr ""
 
-#: include/functions.inc:3349 include/functions.inc:3363
-#: include/functions.inc:3401 include/functions.inc:3413
-#: include/functions.inc:3417 include/functions.inc:3432
-#: include/functions.inc:3441
+#: 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
 #, fuzzy
 msgid "Cannot allocate a free ID:"
 msgstr "太多用户,无法分配一个可用的 ID!"
 
-#: include/functions.inc:3349
+#: include/functions.inc:3393
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3363
+#: include/functions.inc:3407
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3437
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "转到根部门"
 
-#: include/functions.inc:3401
+#: include/functions.inc:3445
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3413 include/functions.inc:3417
+#: include/functions.inc:3457 include/functions.inc:3461
 #, fuzzy
 msgid "no ID available!"
 msgstr "文件可用。"
 
-#: include/functions.inc:3441
+#: include/functions.inc:3485
 msgid "maximum tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3501
+#: include/functions.inc:3545
 #, fuzzy
 msgid "Cannot allocate a free ID!"
 msgstr "太多用户,无法分配一个可用的 ID!"
@@ -1635,31 +1656,31 @@ 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:1004
+#: 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:49
-#: plugins/admin/groups/class_group.inc:1193
+#: 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:59
-#: plugins/admin/departments/class_domain.inc:87
-#: plugins/admin/departments/class_localityGeneric.inc:60
-#: plugins/admin/departments/class_localityGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:119
-#: plugins/admin/departments/class_countryGeneric.inc:59
-#: plugins/admin/departments/class_countryGeneric.inc:88
-#: plugins/admin/departments/class_dcObject.inc:59
-#: plugins/admin/departments/class_dcObject.inc:87
+#: 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:298
-#: plugins/admin/departments/class_department.inc:605
+#: 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
@@ -1775,44 +1796,44 @@ msgstr "类型"
 msgid "Arguments"
 msgstr "参数"
 
-#: include/class_filter.inc:321 include/utils/class_msgPool.inc:24
+#: 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_plugin.inc:509
+#: 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_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "Changing ACL dn"
 msgstr ""
 
-#: include/class_plugin.inc:1814
+#: include/class_plugin.inc:1844
 msgid "from"
 msgstr "从"
 
-#: include/class_plugin.inc:1815 setup/class_setupStep_Migrate.inc:1249
-#: setup/class_setupStep_Migrate.inc:1299
-#: setup/class_setupStep_Migrate.inc:1347
+#: 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_plugin.inc:1998 include/class_plugin.inc:2000
+#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
 #, fuzzy
 msgid "Restore"
 msgstr "仓库"
 
-#: include/class_plugin.inc:2042
+#: include/class_plugin.inc:2072
 msgid "cut"
 msgstr "剪切"
 
-#: include/class_plugin.inc:2050
+#: include/class_plugin.inc:2080
 msgid "copy"
 msgstr "复制"
 
@@ -2105,81 +2126,82 @@ msgstr "需要的“姓名”字段没有设置"
 msgid "Example"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:292
+#: include/utils/class_msgPool.inc:295
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters"
 msgstr "“姓名”字段包含无效字符。"
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, php-format
 msgid "'%s' is not allowed:"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:293
+#: include/utils/class_msgPool.inc:296
 #, fuzzy, php-format
 msgid "'%s' are not allowed!"
 msgstr "不允许修改口令"
 
-#: include/utils/class_msgPool.inc:296
+#: include/utils/class_msgPool.inc:299
 #, fuzzy, php-format
 msgid "The Field '%s' contains invalid characters!"
 msgstr "“姓名”字段包含无效字符。"
 
-#: include/utils/class_msgPool.inc:303
+#: include/utils/class_msgPool.inc:306
 #, fuzzy, php-format
 msgid "Missing %s PHP extension!"
 msgstr "删除打印机扩展"
 
-#: include/utils/class_msgPool.inc:333
+#: 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:250
-#: setup/class_setupStep_Migrate.inc:2868
+#: plugins/personal/generic/generic.tpl:251
+#: plugins/personal/generic/generic.tpl:269
+#: setup/class_setupStep_Migrate.inc:2869
 #, php-format
 msgid "Add"
 msgstr "添加"
 
-#: include/utils/class_msgPool.inc:333
+#: include/utils/class_msgPool.inc:336
 #, fuzzy, php-format
 msgid "Add %s"
 msgstr "添加"
 
-#: include/utils/class_msgPool.inc:339
+#: include/utils/class_msgPool.inc:342
 #, fuzzy, php-format
 msgid "Delete %s"
 msgstr "删除"
 
-#: include/utils/class_msgPool.inc:345
+#: include/utils/class_msgPool.inc:348
 #, fuzzy, php-format
 msgid "Set %s"
 msgstr "设置"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit..."
 msgstr "编辑"
 
-#: include/utils/class_msgPool.inc:351
+#: include/utils/class_msgPool.inc:354
 #, fuzzy, php-format
 msgid "Edit %s..."
 msgstr "编辑用户"
 
-#: include/utils/class_msgPool.inc:357
+#: include/utils/class_msgPool.inc:360
 msgid "Back"
 msgstr "返回"
 
-#: include/utils/class_msgPool.inc:377
+#: include/utils/class_msgPool.inc:380
 #, fuzzy, php-format
 msgid "This account has no valid %s extensions!"
 msgstr "该账户没有有效的 Gosa 扩展。"
 
-#: include/utils/class_msgPool.inc:383
+#: 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/utils/class_msgPool.inc:386 include/utils/class_msgPool.inc:393
+#: 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 "
@@ -2187,13 +2209,13 @@ msgid ""
 msgstr ""
 "这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
 
-#: include/utils/class_msgPool.inc:402
+#: include/utils/class_msgPool.inc:405
 #, fuzzy, php-format
 msgid ""
 "This account has %s settings disabled. You can enable them by clicking below."
 msgstr "这个账户已经启用 posix 功能。要启用请点击下面按钮。"
 
-#: include/utils/class_msgPool.inc:405 include/utils/class_msgPool.inc:412
+#: 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 "
@@ -2201,232 +2223,232 @@ msgid ""
 msgstr ""
 "这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
 
-#: include/utils/class_msgPool.inc:420
+#: include/utils/class_msgPool.inc:423
 #, fuzzy, php-format
 msgid "Add %s settings"
 msgstr "应用程序设置"
 
-#: include/utils/class_msgPool.inc:426
+#: include/utils/class_msgPool.inc:429
 #, fuzzy, php-format
 msgid "Remove %s settings"
 msgstr "Posix 设置"
 
-#: include/utils/class_msgPool.inc:432
+#: include/utils/class_msgPool.inc:435
 msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr "点击下面的“编辑”按钮修改该对话框内的信息"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "January"
 msgstr "一月"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "February"
 msgstr "二月"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "March"
 msgstr "三月"
 
-#: include/utils/class_msgPool.inc:438
+#: include/utils/class_msgPool.inc:441
 msgid "April"
 msgstr "四月"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "May"
 msgstr "五月"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "June"
 msgstr "六月"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "July"
 msgstr "七月"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "August"
 msgstr "八月"
 
-#: include/utils/class_msgPool.inc:439
+#: include/utils/class_msgPool.inc:442
 msgid "September"
 msgstr "九月"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "October"
 msgstr "十月"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "November"
 msgstr "十一月"
 
-#: include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:443
 msgid "December"
 msgstr "十二月"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Sunday"
 msgstr "姓"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Monday"
 msgstr "月"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Tuesday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 #, fuzzy
 msgid "Wednesday"
 msgstr "星期三"
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Thursday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Friday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:446
+#: include/utils/class_msgPool.inc:449
 msgid "Saturday"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:453
+#: include/utils/class_msgPool.inc:456
 #, fuzzy
 msgid "MySQL operation failed!"
 msgstr "Mysql 查询失败。"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "read operation"
 msgstr "邮件选项"
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 msgid "add operation"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:461
+#: include/utils/class_msgPool.inc:464
 #, fuzzy
 msgid "modify operation"
 msgstr "个人信息"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "delete operation"
 msgstr "选择查看工作站"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "search operation"
 msgstr "账号过期于"
 
-#: include/utils/class_msgPool.inc:462
+#: include/utils/class_msgPool.inc:465
 #, fuzzy
 msgid "authentication"
 msgstr "Nagios 鉴权"
 
-#: include/utils/class_msgPool.inc:465
+#: include/utils/class_msgPool.inc:468
 #, fuzzy, php-format
 msgid "LDAP %s failed!"
 msgstr "Mysql 查询失败。"
 
-#: include/utils/class_msgPool.inc:467
+#: include/utils/class_msgPool.inc:470
 #, fuzzy
 msgid "LDAP operation failed!"
 msgstr "Mysql 查询失败。"
 
-#: include/utils/class_msgPool.inc:482
+#: include/utils/class_msgPool.inc:485
 #, fuzzy
 msgid "Upload failed!"
 msgstr "用户登录失败。LDAP 服务器返回 '%s'。"
 
-#: include/utils/class_msgPool.inc:485
+#: include/utils/class_msgPool.inc:488
 #, fuzzy, php-format
 msgid "Upload failed: %s"
 msgstr "Logging DB 用户"
 
-#: include/utils/class_msgPool.inc:492
+#: include/utils/class_msgPool.inc:495
 msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:494
+#: include/utils/class_msgPool.inc:497
 #, php-format
 msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:501 include/utils/class_msgPool.inc:504
+#: 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:507
+#: include/utils/class_msgPool.inc:510
 #, fuzzy, php-format
 msgid "This '%s' is still in use."
 msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
-#: include/utils/class_msgPool.inc:509
+#: include/utils/class_msgPool.inc:512
 #, fuzzy, php-format
 msgid "This '%s' is still in use by these objects: %s"
 msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
-#: include/utils/class_msgPool.inc:515
+#: include/utils/class_msgPool.inc:518
 #, php-format
 msgid "File '%s' does not exist!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:521
+#: include/utils/class_msgPool.inc:524
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for reading!"
 msgstr "无法打开文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:527
+#: include/utils/class_msgPool.inc:530
 #, fuzzy, php-format
 msgid "Cannot open file '%s' for writing!"
 msgstr "无法打开文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:533
+#: 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:539
+#: include/utils/class_msgPool.inc:542
 #, fuzzy, php-format
 msgid "Cannot delete file '%s'!"
 msgstr "无法打开文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:545
+#: include/utils/class_msgPool.inc:548
 #, fuzzy, php-format
 msgid "Cannot create folder '%s'!"
 msgstr "转到根部门"
 
-#: include/utils/class_msgPool.inc:551
+#: include/utils/class_msgPool.inc:554
 #, fuzzy, php-format
 msgid "Cannot delete folder '%s'!"
 msgstr "无法打开文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:557
+#: include/utils/class_msgPool.inc:560
 #, fuzzy, php-format
 msgid "Checking for %s support"
 msgstr "检查 iconv 支持"
 
-#: include/utils/class_msgPool.inc:563
+#: include/utils/class_msgPool.inc:566
 #, php-format
 msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:569
+#: 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:575
+#: include/utils/class_msgPool.inc:578
 msgid ""
 "The supplied base is not valid and has been reset to the previous value!"
 msgstr ""
@@ -2446,29 +2468,29 @@ msgid ""
 "Cannot automatically create subtrees with RDN '%s': no object class found!"
 msgstr ""
 
-#: include/class_ldap.inc:741
+#: include/class_ldap.inc:744
 #, php-format
 msgid "Cannot automatically create subtrees with RDN '%s': not supported"
 msgstr ""
 
-#: include/class_ldap.inc:828
+#: include/class_ldap.inc:831
 #, php-format
 msgid "while operating on '%s' using LDAP server '%s'"
 msgstr "当操作 '%s' 使用 LDAP 服务器 '%s' 时"
 
-#: include/class_ldap.inc:830
+#: include/class_ldap.inc:833
 #, php-format
 msgid "while operating on LDAP server %s"
 msgstr "当操作  LDAP 服务器 '%s' 时"
 
-#: include/class_ldap.inc:1052
+#: 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 "这不是一条有效的 DN: '%s'。导入数据应该以 'dn:...' 开始于行 %s"
 
-#: include/class_ldap.inc:1081
+#: include/class_ldap.inc:1084
 #, php-format
 msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
 msgstr "导入 dn: '%s' 时错误,请从行 %s 开始检查您的 LDIF!"
@@ -2537,12 +2559,15 @@ msgstr ""
 msgid "All objects in this category"
 msgstr ""
 
-#: include/class_pluglist.inc:178
+#: include/class_pluglist.inc:183
 msgid "The configuration format has changed. Please re-run setup!"
 msgstr ""
 
-#: include/class_pluglist.inc:197 include/class_pluglist.inc:198
-#: include/class_pluglist.inc:311
+#: 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 "未知"
 
@@ -2573,17 +2598,17 @@ msgstr ""
 msgid "No write permission in '%s'"
 msgstr "无法创建文件 '%s'。"
 
-#: include/class_CopyPasteHandler.inc:394
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:418
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
 msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:516
+#: include/class_CopyPasteHandler.inc:572
 #, fuzzy
 msgid "Cannot paste"
 msgstr "无法粘贴"
@@ -2594,12 +2619,12 @@ msgid "Please fix the above error and reload the page."
 msgstr "请看一下 GOsa 日志文件。"
 
 #: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:993
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:744
-#: plugins/admin/departments/class_department.inc:595
+#: 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:1602
+#: plugins/personal/generic/class_user.inc:1668
 #: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
 msgid "Generic"
 msgstr "通用配置"
@@ -2612,7 +2637,7 @@ 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:751
+#: plugins/admin/users/class_userManagement.inc:877
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
 msgid "Mail"
 msgstr "邮件"
@@ -2620,14 +2645,14 @@ 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:756
+#: 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/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:768
+#: plugins/admin/users/class_userManagement.inc:894
 msgid "FAX"
 msgstr "传真"
 
@@ -2645,7 +2670,7 @@ msgstr "FTP"
 #: 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:79
+#: plugins/admin/groups/group-list.xml:96
 #: plugins/personal/posix/groupSelect/group-list.xml:15
 msgid "Group"
 msgstr "组"
@@ -2656,10 +2681,9 @@ msgstr "组"
 #: 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:237
-#: plugins/personal/generic/class_user.inc:1629
-#: plugins/personal/generic/generic.tpl:288
-#: plugins/personal/generic/multiple_generic.tpl:159
+#: plugins/admin/departments/class_departmentManagement.inc:249
+#: plugins/personal/generic/class_user.inc:1695
+#: plugins/personal/generic/generic.tpl:307
 msgid "Department"
 msgstr "部门"
 
@@ -2667,16 +2691,14 @@ msgstr "部门"
 #: 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:772
-#: plugins/admin/departments/generic.tpl:82
-#: plugins/admin/departments/class_department.inc:309
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1309
-#: plugins/personal/generic/class_user.inc:1739
-#: plugins/personal/generic/generic.tpl:339
-#: plugins/personal/generic/generic.tpl:520
-#: plugins/personal/generic/multiple_generic.tpl:217
-#: plugins/personal/generic/multiple_generic.tpl:428
+#: 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 "电话"
@@ -2754,6 +2776,7 @@ msgstr "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
@@ -2770,6 +2793,7 @@ 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
@@ -2777,62 +2801,74 @@ msgid "User"
 msgstr "用户"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/class_ogroup.inc:799
-#: plugins/admin/ogroups/class_ogroup.inc:814
-#: plugins/admin/ogroups/class_ogroup.inc:1002
+#: 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/group-list.xml:41
-#: plugins/admin/groups/class_group.inc:1054
-#: plugins/admin/groups/class_group.inc:1065
-#: plugins/admin/groups/class_group.inc:1067
-#: plugins/admin/groups/class_group.inc:1084
-#: plugins/admin/groups/class_group.inc:1098
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1192
-#: plugins/admin/users/class_userManagement.inc:412
-#: plugins/admin/users/class_userManagement.inc:459
-#: plugins/admin/departments/class_domain.inc:43
-#: plugins/admin/departments/class_domain.inc:45
-#: plugins/admin/departments/class_domain.inc:50
-#: plugins/admin/departments/class_domain.inc:52
+#: 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:86
-#: plugins/admin/departments/class_localityGeneric.inc:44
-#: plugins/admin/departments/class_localityGeneric.inc:46
-#: plugins/admin/departments/class_localityGeneric.inc:51
-#: plugins/admin/departments/class_localityGeneric.inc:53
+#: 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_organizationGeneric.inc:75
-#: plugins/admin/departments/class_organizationGeneric.inc:77
-#: plugins/admin/departments/class_organizationGeneric.inc:82
-#: plugins/admin/departments/class_organizationGeneric.inc:84
+#: 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_countryGeneric.inc:43
-#: plugins/admin/departments/class_countryGeneric.inc:45
-#: plugins/admin/departments/class_countryGeneric.inc:50
-#: plugins/admin/departments/class_countryGeneric.inc:52
+#: 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_dcObject.inc:43
-#: plugins/admin/departments/class_dcObject.inc:45
-#: plugins/admin/departments/class_dcObject.inc:50
-#: plugins/admin/departments/class_dcObject.inc:52
+#: 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:86
-#: plugins/admin/departments/class_department.inc:288
-#: plugins/admin/departments/class_department.inc:290
-#: plugins/admin/departments/class_department.inc:295
-#: plugins/admin/departments/class_department.inc:302
-#: plugins/admin/departments/class_department.inc:306
+#: 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_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1271
-#: plugins/personal/generic/class_user.inc:1289
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1754
+#: 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"
@@ -2840,32 +2876,32 @@ msgstr "名称"
 
 #: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
 #: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:1003
+#: 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:1194
+#: 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:88
-#: plugins/admin/departments/class_localityGeneric.inc:89
-#: plugins/admin/departments/class_organizationGeneric.inc:121
-#: plugins/admin/departments/class_countryGeneric.inc:89
-#: plugins/admin/departments/class_dcObject.inc:88
+#: 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:607
+#: 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:1622
+#: plugins/personal/generic/class_user.inc:1688
 #: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/generic/multiple_generic.tpl:47
 #: plugins/personal/posix/trustSelect/trust-list.tpl:13
 #: plugins/personal/posix/groupSelect/group-list.tpl:13
 #: setup/setup_ldap.tpl:55
@@ -2876,6 +2912,7 @@ msgstr "位置"
 #: 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
@@ -2935,7 +2972,7 @@ msgid ""
 msgstr "请再次检查您是否要这么做,因为 GOsa 没有办法将您的数据找回。"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:999
+#: plugins/admin/ogroups/class_ogroup.inc:972
 msgid "Object groups"
 msgstr "对象组"
 
@@ -2946,7 +2983,7 @@ msgstr "对象组名称"
 
 #: plugins/admin/ogroups/class_ogroupManagement.inc:115
 #: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:189
+#: plugins/admin/users/class_userManagement.inc:204
 #, fuzzy
 msgid "Infrastructure error"
 msgstr "PHP 错误"
@@ -2961,108 +2998,108 @@ msgstr "模板"
 msgid "Windows Install"
 msgstr "Windows 工作站"
 
-#: plugins/admin/ogroups/class_ogroup.inc:249
+#: plugins/admin/ogroups/class_ogroup.inc:238
 msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:385
-#: plugins/admin/users/class_userManagement.inc:337
-#: plugins/admin/users/class_userManagement.inc:371
-#: plugins/admin/users/class_userManagement.inc:402
+#: 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:387
+#: plugins/admin/ogroups/class_ogroup.inc:356
 msgid "too many different objects!"
 msgstr "太多不同对象!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:389
+#: plugins/admin/ogroups/class_ogroup.inc:358
 msgid "users"
 msgstr "用户"
 
-#: plugins/admin/ogroups/class_ogroup.inc:390
+#: plugins/admin/ogroups/class_ogroup.inc:359
 msgid "groups"
 msgstr "组"
 
-#: plugins/admin/ogroups/class_ogroup.inc:391
+#: plugins/admin/ogroups/class_ogroup.inc:360
 msgid "applications"
 msgstr "应用程序"
 
-#: plugins/admin/ogroups/class_ogroup.inc:392
+#: plugins/admin/ogroups/class_ogroup.inc:361
 msgid "departments"
 msgstr "部门"
 
-#: plugins/admin/ogroups/class_ogroup.inc:393
+#: plugins/admin/ogroups/class_ogroup.inc:362
 msgid "servers"
 msgstr "服务器"
 
-#: plugins/admin/ogroups/class_ogroup.inc:394
+#: plugins/admin/ogroups/class_ogroup.inc:363
 msgid "workstations"
 msgstr "工作站"
 
-#: plugins/admin/ogroups/class_ogroup.inc:395
+#: plugins/admin/ogroups/class_ogroup.inc:364
 #, fuzzy
 msgid "winstations"
 msgstr "Windows 工作站"
 
-#: plugins/admin/ogroups/class_ogroup.inc:396
+#: plugins/admin/ogroups/class_ogroup.inc:365
 msgid "terminals"
 msgstr "终端"
 
-#: plugins/admin/ogroups/class_ogroup.inc:397
+#: plugins/admin/ogroups/class_ogroup.inc:366
 msgid "phones"
 msgstr "电话"
 
-#: plugins/admin/ogroups/class_ogroup.inc:398
+#: plugins/admin/ogroups/class_ogroup.inc:367
 msgid "printers"
 msgstr "打印机"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 "禁用"
 
-#: plugins/admin/ogroups/class_ogroup.inc:443
+#: 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 "完全访问权限"
 
-#: plugins/admin/ogroups/class_ogroup.inc:444
+#: 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 "允许访问这些主机"
 
-#: plugins/admin/ogroups/class_ogroup.inc:632
+#: plugins/admin/ogroups/class_ogroup.inc:601
 msgid "Non existing dn:"
 msgstr "不存在的 dn:"
 
-#: plugins/admin/ogroups/class_ogroup.inc:789
+#: plugins/admin/ogroups/class_ogroup.inc:758
 #, php-format
 msgid ""
 "These systems are already configured by other object groups and cannot be "
 "added:"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:819
+#: plugins/admin/ogroups/class_ogroup.inc:792
 #, fuzzy
 msgid "You can combine two different object types at maximum, only!"
 msgstr "您最多只能组合两个不同的对象类!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:994
+#: plugins/admin/ogroups/class_ogroup.inc:967
 #, fuzzy
 msgid "Object group generic"
 msgstr "对象组"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1005
+#: plugins/admin/ogroups/class_ogroup.inc:978
 #, fuzzy
 msgid "Sytem trust"
 msgstr "信赖的系统"
 
-#: plugins/admin/ogroups/class_ogroup.inc:1006
+#: plugins/admin/ogroups/class_ogroup.inc:979
 #, fuzzy
 msgid "Member"
 msgstr "成员"
@@ -3083,7 +3120,7 @@ msgid "Descriptive text for this group"
 msgstr "组的描述文字"
 
 #: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/class_group.inc:1191
 #: plugins/personal/posix/generic.tpl:139
 msgid "System trust"
 msgstr "信赖的系统"
@@ -3123,7 +3160,7 @@ msgstr "自动化安装说明"
 
 #: plugins/admin/ogroups/tabs_ogroups.inc:222
 #: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:764
+#: plugins/admin/users/class_userManagement.inc:890
 #: plugins/personal/posix/class_posixAccount.inc:324
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
 msgid "Environment"
@@ -3192,7 +3229,7 @@ msgid "List of object groups"
 msgstr "对象组列表"
 
 #: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:57 plugins/admin/users/user-list.xml:73
+#: 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
@@ -3203,15 +3240,15 @@ msgid "Properties"
 msgstr "属性"
 
 #: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:73 plugins/admin/users/user-list.xml:89
+#: 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:1035
-#: setup/class_setupStep_Migrate.inc:1051
+#: setup/class_setupStep_Migrate.inc:1036
+#: setup/class_setupStep_Migrate.inc:1052
 msgid "Create"
 msgstr "创建"
 
 #: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-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
@@ -3219,12 +3256,12 @@ msgstr "创建"
 #: 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:2869
+#: setup/class_setupStep_Migrate.inc:2870
 msgid "Remove"
 msgstr "删除"
 
 #: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/groups/group-list.xml:123
 #: plugins/admin/users/user-list.xml:156
 #, fuzzy
 msgid "Send message"
@@ -3303,18 +3340,20 @@ msgstr ""
 "数据找回。"
 
 #: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:415
+#: 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:1281
 #: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1614
-#: plugins/personal/generic/class_user.inc:1751
+#: 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/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:1613
+#: plugins/personal/generic/class_user.inc:1679
 msgid "Surname"
 msgstr "姓"
 
@@ -3390,6 +3429,13 @@ msgstr "显示 samba 用户组"
 msgid "Show mail groups"
 msgstr "显示 samba 用户组"
 
+#: 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/admin/groups/paste_generic.tpl:1
 msgid "Group settings"
 msgstr "组设置"
@@ -3398,17 +3444,28 @@ msgstr "组设置"
 msgid "List of groups"
 msgstr "组列表"
 
-#: plugins/admin/groups/group-list.xml:138
+#: plugins/admin/groups/group-list.xml:23
+#, fuzzy
+msgid "Group submenu entry"
+msgstr "组成员"
+
+#: plugins/admin/groups/group-list.xml:31
+#, fuzzy
+msgid "Group menu entry"
+msgstr "组成员"
+
+#: plugins/admin/groups/group-list.xml:155
 #, fuzzy
 msgid "Edit group"
 msgstr "主要用户组"
 
-#: plugins/admin/groups/group-list.xml:151
+#: plugins/admin/groups/group-list.xml:168
 #, fuzzy
 msgid "Remove group"
 msgstr "服务器"
 
 #: plugins/admin/groups/class_group.inc:162
+#: plugins/admin/groups/class_group.inc:1358
 #, fuzzy
 msgid "Cannot find group SID in your configuration!"
 msgstr "无法在 LDAP 或您的配置文件中查找这个组 SID。"
@@ -3464,14 +3521,14 @@ msgstr "无法创建文件 '%s'。"
 msgid "Cannot find any RIDBASE for '%s'!"
 msgstr "无法创建文件 '%s'。"
 
-#: plugins/admin/groups/class_group.inc:1003
+#: plugins/admin/groups/class_group.inc:994
 #, php-format
 msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1114
-#: plugins/admin/groups/class_group.inc:1117
-#: plugins/admin/groups/class_group.inc:1196
+#: 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
@@ -3479,32 +3536,32 @@ msgstr ""
 msgid "GID"
 msgstr "GID"
 
-#: plugins/admin/groups/class_group.inc:1184
+#: plugins/admin/groups/class_group.inc:1175
 #, fuzzy
 msgid "Generic group settings"
 msgstr "组设置"
 
-#: plugins/admin/groups/class_group.inc:1198
+#: plugins/admin/groups/class_group.inc:1189
 #, fuzzy
 msgid "Samba group type"
 msgstr "Samba 组"
 
-#: plugins/admin/groups/class_group.inc:1199
+#: plugins/admin/groups/class_group.inc:1190
 #, fuzzy
 msgid "Samba domain name"
 msgstr "Samba 主目录"
 
-#: plugins/admin/groups/class_group.inc:1201
+#: plugins/admin/groups/class_group.inc:1192
 #, fuzzy
 msgid "Phone pickup group"
 msgstr "成员属于电话应答组"
 
-#: plugins/admin/groups/class_group.inc:1202
+#: plugins/admin/groups/class_group.inc:1193
 #, fuzzy
 msgid "Nagios group"
 msgstr "Nagios 账号"
 
-#: plugins/admin/groups/class_group.inc:1204
+#: plugins/admin/groups/class_group.inc:1195
 #, fuzzy
 msgid "Group member"
 msgstr "组成员"
@@ -3525,19 +3582,19 @@ msgid "Edit posix properties"
 msgstr "编辑电话属性"
 
 #: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:753
+#: plugins/admin/users/class_userManagement.inc:879
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
 msgid "Edit mail properties"
 msgstr "编辑邮件属性"
 
 #: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:757
+#: plugins/admin/users/class_userManagement.inc:883
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
 msgid "Edit samba properties"
 msgstr "编辑 samba 属性"
 
 #: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:773
+#: plugins/admin/users/class_userManagement.inc:899
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
 msgid "Edit phone properties"
 msgstr "编辑电话属性"
@@ -3555,7 +3612,7 @@ msgid "Edit start menu properties"
 msgstr "编辑 samba 属性"
 
 #: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:765
+#: plugins/admin/users/class_userManagement.inc:891
 #: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
 msgid "Edit environment properties"
 msgstr "编辑环境属性"
@@ -3576,26 +3633,61 @@ msgid ""
 "able to login without it."
 msgstr "用下面的字段修改用口令。修改即时生效。请记住新密码,否则无法登录。"
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/password/password.tpl:8
+#: 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等的登录。"
 
-#: plugins/admin/users/password.tpl:17
-#: plugins/personal/generic/password.tpl:11
-#: plugins/personal/password/password.tpl:23
+#: 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/admin/users/password.tpl:21
+#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
 #, fuzzy
 msgid "Strength"
 msgstr "街道"
 
-#: plugins/admin/users/password.tpl:30
-#: plugins/personal/generic/password.tpl:17
-#: plugins/personal/password/password.tpl:39
+#: plugins/admin/users/password.tpl:35
+#, fuzzy
+msgid "Password input dialog"
+msgstr "口令"
+
+#: plugins/admin/users/password.tpl:39
+#: plugins/personal/generic/password.tpl:51
+#: plugins/personal/password/password.tpl:56
+#, fuzzy
+msgid "Use proposal"
+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 "参考"
+
+#: 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 "请输入您的口令!"
+
+#: plugins/admin/users/password.tpl:77
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "不允许修改口令"
+
+#: plugins/admin/users/password.tpl:84
+#: plugins/personal/generic/password.tpl:88
+#: plugins/personal/password/password.tpl:93
 msgid "Set password"
 msgstr "设置口令"
 
@@ -3613,7 +3705,7 @@ msgstr ""
 "板选择。"
 
 #: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:409
+#: 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"
@@ -3634,38 +3726,38 @@ msgstr "名"
 msgid "Manage users"
 msgstr "域用户"
 
-#: plugins/admin/users/class_userManagement.inc:278
+#: plugins/admin/users/class_userManagement.inc:391
 #, fuzzy
 msgid "You have no permission to change this users password!"
 msgstr "您无权修改您的口令。"
 
-#: plugins/admin/users/class_userManagement.inc:656
+#: plugins/admin/users/class_userManagement.inc:782
 #, fuzzy
 msgid "Account locking"
 msgstr "账户"
 
-#: plugins/admin/users/class_userManagement.inc:657
+#: 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/admin/users/class_userManagement.inc:730
+#: plugins/admin/users/class_userManagement.inc:856
 #, fuzzy
 msgid "Unlock account"
 msgstr "我的账号"
 
-#: plugins/admin/users/class_userManagement.inc:732
+#: plugins/admin/users/class_userManagement.inc:858
 #, fuzzy
 msgid "Lock account"
 msgstr "我的账号"
 
-#: plugins/admin/users/class_userManagement.inc:745
+#: plugins/admin/users/class_userManagement.inc:871
 msgid "Edit generic properties"
 msgstr "编辑通用属性"
 
-#: plugins/admin/users/class_userManagement.inc:748
+#: 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
@@ -3673,20 +3765,20 @@ msgstr "编辑通用属性"
 msgid "POSIX"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:749
+#: plugins/admin/users/class_userManagement.inc:875
 #, fuzzy
 msgid "Edit POSIX properties"
 msgstr "编辑 UNIX 属性"
 
-#: plugins/admin/users/class_userManagement.inc:760
+#: plugins/admin/users/class_userManagement.inc:886
 msgid "Netatalk"
 msgstr "Netatalk"
 
-#: plugins/admin/users/class_userManagement.inc:761
+#: plugins/admin/users/class_userManagement.inc:887
 msgid "Edit netatalk properties"
 msgstr "编辑 netatalk 属性"
 
-#: plugins/admin/users/class_userManagement.inc:769
+#: plugins/admin/users/class_userManagement.inc:895
 #, fuzzy
 msgid "Edit FAX properties"
 msgstr "编辑 UNIX 属性"
@@ -3792,7 +3884,7 @@ msgstr "部门列表"
 
 #: plugins/admin/departments/dep-list.xml:15
 #: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:177
+#: plugins/admin/departments/class_departmentManagement.inc:189
 #, fuzzy
 msgid "Domain"
 msgstr "于域"
@@ -3805,30 +3897,28 @@ msgstr "域管理员"
 
 #: plugins/admin/departments/dep-list.xml:31
 #: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_countryGeneric.inc:78
-#: plugins/admin/departments/class_countryGeneric.inc:79
+#: 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/admin/departments/dep-list.xml:39
 #: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_localityGeneric.inc:78
-#: plugins/admin/departments/class_localityGeneric.inc:79
+#: 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 "位置"
 
 #: plugins/admin/departments/dep-list.xml:47
 #: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_organizationGeneric.inc:109
-#: plugins/admin/departments/class_organizationGeneric.inc:110
-#: plugins/personal/generic/class_user.inc:1628
-#: plugins/personal/generic/generic.tpl:280
-#: plugins/personal/generic/multiple_generic.tpl:149
-#: setup/setup_feedback.tpl:23
+#: 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 "组织/公司"
 
@@ -3852,27 +3942,46 @@ msgstr "要创建子树的名称"
 msgid "Descriptive text for department"
 msgstr "部门描述文件"
 
-#: plugins/admin/departments/locality.tpl:44
-#: plugins/admin/departments/generic.tpl:108
-#: plugins/admin/departments/class_domain.inc:89
-#: plugins/admin/departments/class_localityGeneric.inc:90
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_countryGeneric.inc:90
-#: plugins/admin/departments/class_dcObject.inc:89
-#: plugins/admin/departments/domain.tpl:44
-#: plugins/admin/departments/country.tpl:44
-#: plugins/admin/departments/dcObject.tpl:44
-#: plugins/admin/departments/class_department.inc:615
-#: plugins/admin/departments/organization.tpl:108
+#: 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 "域用户"
+
+#: 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/admin/departments/locality.tpl:46
-#: plugins/admin/departments/generic.tpl:110
-#: plugins/admin/departments/domain.tpl:46
-#: plugins/admin/departments/country.tpl:46
-#: plugins/admin/departments/dcObject.tpl:46
-#: plugins/admin/departments/organization.tpl:110
+#: 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 "将部门标记为独立的管理单元"
 
@@ -3890,8 +3999,8 @@ msgid "Descriptive text for   department"
 msgstr "部门描述文件"
 
 #: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:120
-#: plugins/admin/departments/class_department.inc:606
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/class_department.inc:667
 #: plugins/admin/departments/organization.tpl:27
 msgid "Category"
 msgstr "分类"
@@ -3901,90 +4010,84 @@ msgstr "分类"
 msgid "Category for this subtree"
 msgstr "这个子树的分类"
 
-#: plugins/admin/departments/generic.tpl:55
-#: plugins/admin/departments/generic.tpl:67
-#: plugins/admin/departments/class_localityGeneric.inc:87
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:610
-#: plugins/admin/departments/organization.tpl:55
-#: plugins/admin/departments/organization.tpl:67
-#: plugins/personal/generic/class_user.inc:1641
-#: plugins/personal/generic/generic.tpl:382
-#: plugins/personal/generic/multiple_generic.tpl:265
+#: 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/admin/departments/generic.tpl:59
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_department.inc:609
-#: plugins/admin/departments/organization.tpl:59
-#: plugins/personal/generic/class_user.inc:1640
-#: plugins/personal/generic/generic.tpl:390
-#: plugins/personal/generic/multiple_generic.tpl:275
+#: 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 "州/省"
 
-#: plugins/admin/departments/generic.tpl:62
-#: plugins/admin/departments/organization.tpl:62
+#: 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:70
-#: plugins/admin/departments/organization.tpl:70
+#: plugins/admin/departments/generic.tpl:94
+#: plugins/admin/departments/organization.tpl:93
 msgid "Location of this subtree"
 msgstr "这个子树的位置"
 
-#: plugins/admin/departments/generic.tpl:75
-#: plugins/admin/departments/class_department.inc:611
-#: plugins/admin/departments/organization.tpl:75
+#: 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:398
-#: plugins/personal/generic/multiple_generic.tpl:67
-#: plugins/personal/generic/multiple_generic.tpl:285
+#: plugins/personal/generic/generic.tpl:457
 msgid "Address"
 msgstr "住址"
 
-#: plugins/admin/departments/generic.tpl:78
-#: plugins/admin/departments/organization.tpl:78
+#: plugins/admin/departments/generic.tpl:102
+#: plugins/admin/departments/organization.tpl:101
 msgid "Postal address of this subtree"
 msgstr "这个子树的地址"
 
-#: plugins/admin/departments/generic.tpl:85
-#: plugins/admin/departments/organization.tpl:85
+#: 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:90
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_department.inc:312
-#: plugins/admin/departments/class_department.inc:613
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1312
-#: plugins/personal/generic/class_user.inc:1742
-#: plugins/personal/generic/generic.tpl:364
-#: plugins/personal/generic/generic.tpl:532
-#: plugins/personal/generic/multiple_generic.tpl:247
-#: plugins/personal/generic/multiple_generic.tpl:438
+#: 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/admin/departments/generic.tpl:93
-#: plugins/admin/departments/organization.tpl:93
+#: 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_domain.inc:77
-#: plugins/admin/departments/class_domain.inc:78
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#: plugins/admin/departments/class_dcObject.inc:77
-#: plugins/admin/departments/class_dcObject.inc:78
+#: 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
 #, fuzzy
 msgid "Domain Component"
 msgstr "域管理员"
 
 #: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:596
-#: plugins/admin/departments/class_department.inc:601
+#: plugins/admin/departments/class_department.inc:657
+#: plugins/admin/departments/class_department.inc:662
 msgid "Departments"
 msgstr "部门"
 
@@ -3993,28 +4096,28 @@ msgstr "部门"
 msgid "Manage Departments"
 msgstr "部门"
 
-#: plugins/admin/departments/class_departmentManagement.inc:128
+#: 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 ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:118
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
 msgid "Organization name"
 msgstr "组织/公司"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/personal/generic/class_user.inc:1642
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#: plugins/personal/generic/class_user.inc:1709
 msgid "Postal address"
 msgstr "地址"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:126
+#: plugins/admin/departments/class_organizationGeneric.inc:132
 msgid "Phone number"
 msgstr "电话号码"
 
-#: plugins/admin/departments/class_countryGeneric.inc:87
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #: plugins/admin/departments/country.tpl:11
 #, fuzzy
 msgid "Country name"
@@ -4035,45 +4138,45 @@ msgstr "要创建子树的名称"
 msgid "Name of country to create"
 msgstr "要创建子树的名称"
 
-#: plugins/admin/departments/class_department.inc:372
+#: plugins/admin/departments/class_department.inc:433
 #, fuzzy
 msgid "Cannot find an unused tag for this administrative unit!"
 msgstr "致命错误:无法找到一个未使用的标志来标记管理单元!"
 
-#: plugins/admin/departments/class_department.inc:443
+#: plugins/admin/departments/class_department.inc:504
 #, php-format
 msgid "Tagging '%s'."
 msgstr "标记 '%s'。"
 
-#: plugins/admin/departments/class_department.inc:524
+#: plugins/admin/departments/class_department.inc:585
 #, php-format
 msgid "Moving '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s'"
 
-#: plugins/admin/departments/class_department.inc:565
+#: plugins/admin/departments/class_department.inc:626
 #, php-format
 msgid "FAILED to copy %s, aborting operation"
 msgstr "拷贝 %s 失败,退出操作"
 
-#: plugins/admin/departments/class_department.inc:604
+#: plugins/admin/departments/class_department.inc:665
 msgid "Department name"
 msgstr "部门名称"
 
-#: plugins/admin/departments/class_department.inc:612
+#: plugins/admin/departments/class_department.inc:673
 msgid "Telephone"
 msgstr "电话"
 
-#: plugins/admin/departments/class_department.inc:666
+#: plugins/admin/departments/class_department.inc:728
 #, php-format
 msgid "Object '%s' is already tagged"
 msgstr "对象 '%s' 已经做标记"
 
-#: plugins/admin/departments/class_department.inc:673
+#: plugins/admin/departments/class_department.inc:735
 #, php-format
 msgid "Adding tag (%s) to object '%s'"
 msgstr "添加标识(%s)到对象 '%s'"
 
-#: plugins/admin/departments/class_department.inc:705
+#: plugins/admin/departments/class_department.inc:767
 #, php-format
 msgid "Removing tag from object '%s'"
 msgstr "从对象 '%s' 删除标记"
@@ -4187,9 +4290,8 @@ msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
 #: 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:1598
-#: plugins/personal/generic/generic.tpl:449
-#: plugins/personal/generic/multiple_generic.tpl:345
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:508
 msgid "Role"
 msgstr "角色"
 
@@ -4228,292 +4330,286 @@ msgstr ""
 msgid "Edit organizational user settings"
 msgstr "应用程序设置"
 
-#: plugins/personal/generic/class_user.inc:279
+#: plugins/personal/generic/class_user.inc:297
 msgid "Please add a single IP address or a network/netmask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "female"
 msgstr "女"
 
-#: plugins/personal/generic/class_user.inc:294
+#: plugins/personal/generic/class_user.inc:340
 msgid "male"
 msgstr "男"
 
-#: plugins/personal/generic/class_user.inc:382
+#: plugins/personal/generic/class_user.inc:408
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:477
+#: plugins/personal/generic/class_user.inc:503
 #, fuzzy
 msgid "Serial number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:548
 msgid ""
 "(Some types of certificates are currently not supported and may be displayed "
 "as 'invalid'.)"
 msgstr "(目前有的种类的证书不支持,可能显示为“无效”)"
 
-#: plugins/personal/generic/class_user.inc:532
+#: plugins/personal/generic/class_user.inc:558
 #, php-format
 msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr "证书从 %s 到 %s 是有效的,当前为 %s。"
 
-#: plugins/personal/generic/class_user.inc:535
+#: plugins/personal/generic/class_user.inc:561
 msgid "valid"
 msgstr "有效"
 
-#: plugins/personal/generic/class_user.inc:536
+#: plugins/personal/generic/class_user.inc:562
 msgid "invalid"
 msgstr "无效"
 
-#: plugins/personal/generic/class_user.inc:541
+#: plugins/personal/generic/class_user.inc:567
 msgid "No certificate installed"
 msgstr "未安装证书"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:593
 #, fuzzy
 msgid "The selected password method is no longer available."
 msgstr "此应用程序不再可用。"
 
-#: plugins/personal/generic/class_user.inc:1143
+#: plugins/personal/generic/class_user.inc:1190
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1150
+#: plugins/personal/generic/class_user.inc:1197
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1168
+#: plugins/personal/generic/class_user.inc:1215
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1239
+#: plugins/personal/generic/class_user.inc:1286
 #, fuzzy
 msgid "The selected password method requires initial configuration!"
 msgstr "此应用程序不再可用。"
 
-#: plugins/personal/generic/class_user.inc:1304
-#: plugins/personal/generic/class_user.inc:1646
-#: plugins/personal/generic/class_user.inc:1736
+#: 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/multiple_generic.tpl:88
 msgid "Homepage"
 msgstr "个人主页"
 
-#: plugins/personal/generic/class_user.inc:1315
-#: plugins/personal/generic/class_user.inc:1745
-#: plugins/personal/generic/generic.tpl:348
-#: plugins/personal/generic/multiple_generic.tpl:227
+#: plugins/personal/generic/class_user.inc:1362
+#: plugins/personal/generic/class_user.inc:1825
+#: plugins/personal/generic/generic.tpl:407
 msgid "Mobile"
 msgstr "手机"
 
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1748
-#: plugins/personal/generic/generic.tpl:356
-#: plugins/personal/generic/multiple_generic.tpl:237
+#: plugins/personal/generic/class_user.inc:1365
+#: plugins/personal/generic/class_user.inc:1828
+#: plugins/personal/generic/generic.tpl:415
 msgid "Pager"
 msgstr "呼机"
 
-#: plugins/personal/generic/class_user.inc:1323
-#: plugins/personal/generic/class_user.inc:1619
+#: 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/personal/generic/class_user.inc:1433
+#: plugins/personal/generic/class_user.inc:1485
 #, fuzzy
 msgid "Cannot open certificate!"
 msgstr "无法打开指定证书!"
 
-#: plugins/personal/generic/class_user.inc:1587
-#: plugins/personal/generic/generic.tpl:472
-#: plugins/personal/generic/multiple_generic.tpl:371
+#: plugins/personal/generic/class_user.inc:1653
+#: plugins/personal/generic/generic.tpl:531
 msgid "Unit"
 msgstr "单元"
 
-#: plugins/personal/generic/class_user.inc:1588
-#: plugins/personal/generic/generic.tpl:497
-#: plugins/personal/generic/multiple_generic.tpl:402
+#: plugins/personal/generic/class_user.inc:1654
+#: plugins/personal/generic/generic.tpl:556
 msgid "House identifier"
 msgstr "家庭角色"
 
-#: plugins/personal/generic/class_user.inc:1589
-#: plugins/personal/generic/generic.tpl:414
-#: plugins/personal/generic/multiple_generic.tpl:302
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:473
 msgid "Vocation"
 msgstr "行业"
 
-#: plugins/personal/generic/class_user.inc:1590
-#: plugins/personal/generic/generic.tpl:541
-#: plugins/personal/generic/multiple_generic.tpl:449
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:600
 msgid "Last delivery"
 msgstr "最后传递"
 
-#: plugins/personal/generic/class_user.inc:1591
-#: plugins/personal/generic/generic.tpl:463
-#: plugins/personal/generic/multiple_generic.tpl:360
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:522
 msgid "Person locality"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1592
-#: plugins/personal/generic/generic.tpl:422
-#: plugins/personal/generic/multiple_generic.tpl:312
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:481
 msgid "Unit description"
 msgstr "单元描述"
 
-#: plugins/personal/generic/class_user.inc:1593
-#: plugins/personal/generic/generic.tpl:431
-#: plugins/personal/generic/multiple_generic.tpl:323
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:490
 msgid "Subject area"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1594
-#: plugins/personal/generic/generic.tpl:440
-#: plugins/personal/generic/multiple_generic.tpl:334
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:499
 msgid "Functional title"
 msgstr "单位职称"
 
-#: plugins/personal/generic/class_user.inc:1595
+#: plugins/personal/generic/class_user.inc:1661
 #: plugins/personal/generic/generic_certs.tpl:78
 msgid "Certificate serial number"
 msgstr "证书系列号"
 
-#: plugins/personal/generic/class_user.inc:1596
-#: plugins/personal/generic/generic.tpl:550
-#: plugins/personal/generic/multiple_generic.tpl:460
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:609
 msgid "Public visible"
 msgstr "公开"
 
-#: plugins/personal/generic/class_user.inc:1597
-#: plugins/personal/generic/generic.tpl:481
-#: plugins/personal/generic/multiple_generic.tpl:382
+#: plugins/personal/generic/class_user.inc:1663
+#: plugins/personal/generic/generic.tpl:540
 msgid "Street"
 msgstr "街道"
 
-#: plugins/personal/generic/class_user.inc:1599
-#: plugins/personal/generic/generic.tpl:489
-#: plugins/personal/generic/multiple_generic.tpl:392
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:548
 msgid "Postal code"
 msgstr "邮编"
 
-#: plugins/personal/generic/class_user.inc:1603
+#: plugins/personal/generic/class_user.inc:1669
 #, fuzzy
 msgid "Generic user settings"
 msgstr "通用队列设置"
 
-#: plugins/personal/generic/class_user.inc:1607
-#: plugins/personal/posix/class_posixAccount.inc:1444
-#: plugins/personal/password/class_password.inc:150
+#: 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/personal/generic/class_user.inc:1615
+#: plugins/personal/generic/class_user.inc:1681
 #, fuzzy
 msgid "User identification"
 msgstr "用户信息"
 
-#: plugins/personal/generic/class_user.inc:1616
+#: plugins/personal/generic/class_user.inc:1682
 #: plugins/personal/generic/generic.tpl:98
 msgid "Personal title"
 msgstr "个人称谓"
 
-#: plugins/personal/generic/class_user.inc:1617
+#: plugins/personal/generic/class_user.inc:1683
 #: plugins/personal/generic/generic.tpl:108
-#: plugins/personal/generic/multiple_generic.tpl:23
 msgid "Academic title"
 msgstr "学位头衔"
 
-#: plugins/personal/generic/class_user.inc:1620
+#: plugins/personal/generic/class_user.inc:1686
 #: plugins/personal/generic/generic.tpl:138
 msgid "Sex"
 msgstr "性别"
 
-#: plugins/personal/generic/class_user.inc:1621
+#: plugins/personal/generic/class_user.inc:1687
 #, fuzzy
 msgid "Preferred language"
 msgstr "首选语种"
 
-#: plugins/personal/generic/class_user.inc:1624
+#: plugins/personal/generic/class_user.inc:1690
 #: plugins/personal/generic/paste_generic.tpl:47
 msgid "User picture"
 msgstr "用户图片"
 
-#: plugins/personal/generic/class_user.inc:1626
+#: plugins/personal/generic/class_user.inc:1692
 #, fuzzy
 msgid "Login restrictions"
 msgstr "口令过期截止日"
 
-#: plugins/personal/generic/class_user.inc:1630
+#: plugins/personal/generic/class_user.inc:1696
 #, fuzzy
 msgid "Department number"
 msgstr "部门名称"
 
-#: plugins/personal/generic/class_user.inc:1631
+#: plugins/personal/generic/class_user.inc:1698
 #, fuzzy
 msgid "Employee number"
 msgstr "员工类别"
 
-#: plugins/personal/generic/class_user.inc:1632
-#: plugins/personal/generic/generic.tpl:312
-#: plugins/personal/generic/multiple_generic.tpl:189
+#: plugins/personal/generic/class_user.inc:1699
+#: plugins/personal/generic/generic.tpl:331
 msgid "Employee type"
 msgstr "员工类别"
 
-#: plugins/personal/generic/class_user.inc:1634
+#: plugins/personal/generic/class_user.inc:1701
 #, fuzzy
 msgid "Room number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:1635
+#: plugins/personal/generic/class_user.inc:1702
 #, fuzzy
 msgid "Telefon number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:1636
+#: plugins/personal/generic/class_user.inc:1703
 #, fuzzy
 msgid "Pager number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:1637
+#: plugins/personal/generic/class_user.inc:1704
 #, fuzzy
 msgid "Mobile number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:1638
+#: plugins/personal/generic/class_user.inc:1705
 #, fuzzy
 msgid "Fax number"
 msgstr "系列号"
 
-#: plugins/personal/generic/class_user.inc:1644
+#: plugins/personal/generic/class_user.inc:1711
 msgid "Home postal address"
 msgstr "住宅地址"
 
-#: plugins/personal/generic/class_user.inc:1645
+#: plugins/personal/generic/class_user.inc:1712
 #, fuzzy
 msgid "Home phone number"
 msgstr "电话号码"
 
-#: plugins/personal/generic/class_user.inc:1647
+#: plugins/personal/generic/class_user.inc:1714
 #, fuzzy
 msgid "User password method"
 msgstr "口令存储"
 
-#: plugins/personal/generic/class_user.inc:1648
+#: plugins/personal/generic/class_user.inc:1715
 #, fuzzy
 msgid "User certificates"
 msgstr "编辑证书"
 
+#: plugins/personal/generic/class_user.inc:1923
+#, 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
-#: plugins/personal/generic/multiple_generic.tpl:5
 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/multiple_generic.tpl:13
 #: plugins/personal/generic/paste_generic.tpl:37
 #: plugins/personal/generic/generic_picture.tpl:5
 #: plugins/personal/generic/generic_picture.tpl:15
@@ -4530,73 +4626,56 @@ msgid "Template name"
 msgstr "模板名称"
 
 #: plugins/personal/generic/generic.tpl:151
-#: plugins/personal/generic/multiple_generic.tpl:33
 msgid "Preferred langage"
 msgstr "首选语种"
 
 #: plugins/personal/generic/generic.tpl:191
-#: plugins/personal/generic/multiple_generic.tpl:78
 msgid "Private phone"
 msgstr "私人电话"
 
 #: plugins/personal/generic/generic.tpl:212
-#: plugins/personal/generic/multiple_generic.tpl:105
 msgid "Password storage"
 msgstr "口令存储"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/multiple_generic.tpl:117
 #: plugins/personal/generic/generic_certs.tpl:3
 msgid "Certificates"
 msgstr "证书"
 
 #: plugins/personal/generic/generic.tpl:232
-#: plugins/personal/generic/multiple_generic.tpl:121
 msgid "Edit certificates"
 msgstr "编辑证书"
 
-#: plugins/personal/generic/generic.tpl:245
+#: plugins/personal/generic/generic.tpl:244
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:250
+#: plugins/personal/generic/generic.tpl:266
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:268
-#: plugins/personal/generic/multiple_generic.tpl:137
+#: plugins/personal/generic/generic.tpl:287
 msgid "Organizational information"
 msgstr "组织信息"
 
-#: plugins/personal/generic/generic.tpl:296
-#: plugins/personal/generic/multiple_generic.tpl:169
+#: plugins/personal/generic/generic.tpl:315
 msgid "Department No."
 msgstr "部门编号"
 
-#: plugins/personal/generic/generic.tpl:304
-#: plugins/personal/generic/multiple_generic.tpl:179
+#: plugins/personal/generic/generic.tpl:323
 msgid "Employee No."
 msgstr "员工编号"
 
-#: plugins/personal/generic/generic.tpl:330
-#: plugins/personal/generic/generic.tpl:512
-#: plugins/personal/generic/multiple_generic.tpl:207
-#: plugins/personal/generic/multiple_generic.tpl:418
+#: plugins/personal/generic/generic.tpl:389
+#: plugins/personal/generic/generic.tpl:571
 msgid "Room No."
 msgstr "房间号"
 
-#: plugins/personal/generic/generic.tpl:526
+#: plugins/personal/generic/generic.tpl:585
 msgid "Please use the phone tab"
 msgstr "请使用电话页面"
 
-#: plugins/personal/generic/multiple_generic.tpl:53
-msgid "Choose subtree to place user in"
-msgstr "将用户放到所选择子树中"
-
-#: plugins/personal/generic/multiple_generic.tpl:56
-msgid "Select a base"
-msgstr "选择一个位置"
-
 #: plugins/personal/generic/paste_generic.tpl:1
 msgid "User settings"
 msgstr "用户设置"
@@ -4614,23 +4693,30 @@ msgstr "设置新密码"
 msgid "Remove picture"
 msgstr "删除图片"
 
-#: plugins/personal/generic/main.inc:115
-#, fuzzy
-msgid "You have no permission to set your password!"
-msgstr "您无权修改您的口令。"
-
-#: plugins/personal/generic/main.inc:206
+#: plugins/personal/generic/main.inc:168
 msgid "Generic user information"
 msgstr "用户一般信息"
 
-#: plugins/personal/generic/password.tpl:2
+#: plugins/personal/generic/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 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."
+"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 ""
-"您已经修改了口令在 LDAP 数据库中存储的方法。因此您需要再输入您的口令。GOsa 将"
-"会按照您选择的方法重新编码。"
+"用下面的表格更改个人口令。口令更改即时生效。请记住新口令,忘记口令将无法登"
+"录。"
+
+#: plugins/personal/generic/password.tpl:42
+#: plugins/personal/password/password.tpl:47
+#, fuzzy
+msgid "Password change dialog"
+msgstr "不允许修改口令"
+
+#: plugins/personal/generic/password.tpl:90
+#: plugins/personal/password/password.tpl:95
+msgid "Clear fields"
+msgstr "清除字段"
 
 #: plugins/personal/generic/generic_certs.tpl:8
 msgid "Standard certificate"
@@ -4644,6 +4730,17 @@ msgstr "S/MIME 证书"
 msgid "PKCS12 certificate"
 msgstr "PKCS12 证书"
 
+#: 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 "您无权修改您的口令。"
+
+#: plugins/personal/generic/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "您的口令已经过期 !! 选择一个新口令"
+
 #: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
 msgid "Edit users POSIX settings"
@@ -4716,7 +4813,7 @@ msgstr ""
 #: 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:1450
+#: plugins/personal/posix/class_posixAccount.inc:1461
 #: plugins/personal/posix/generic.tpl:7
 #: plugins/personal/posix/paste_generic.tpl:8
 msgid "Home directory"
@@ -4752,60 +4849,60 @@ msgstr "显示分区"
 msgid "shadowInactive"
 msgstr "显示打印机"
 
-#: plugins/personal/posix/class_posixAccount.inc:1440
+#: plugins/personal/posix/class_posixAccount.inc:1451
 #, fuzzy
 msgid "POSIX account"
 msgstr "GLPI 账号"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1462
 #: plugins/personal/posix/generic.tpl:15
 msgid "Shell"
 msgstr "Shell"
 
-#: plugins/personal/posix/class_posixAccount.inc:1452
+#: plugins/personal/posix/class_posixAccount.inc:1463
 #: setup/setup_migrate.tpl:291
 msgid "User ID"
 msgstr "用户 ID"
 
-#: plugins/personal/posix/class_posixAccount.inc:1453
+#: plugins/personal/posix/class_posixAccount.inc:1464
 #, fuzzy
 msgid "Group ID"
 msgstr "组"
 
-#: plugins/personal/posix/class_posixAccount.inc:1455
+#: plugins/personal/posix/class_posixAccount.inc:1466
 #, fuzzy
 msgid "Force password change on login"
 msgstr "不允许修改口令"
 
-#: plugins/personal/posix/class_posixAccount.inc:1456
+#: plugins/personal/posix/class_posixAccount.inc:1467
 #, fuzzy
 msgid "Shadow min"
 msgstr "显示终端"
 
-#: plugins/personal/posix/class_posixAccount.inc:1457
+#: plugins/personal/posix/class_posixAccount.inc:1468
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1458
+#: plugins/personal/posix/class_posixAccount.inc:1469
 #, fuzzy
 msgid "Shadow warning"
 msgstr "显示分区"
 
-#: plugins/personal/posix/class_posixAccount.inc:1459
+#: plugins/personal/posix/class_posixAccount.inc:1470
 #, fuzzy
 msgid "Shadow inactive"
 msgstr "显示打印机"
 
-#: plugins/personal/posix/class_posixAccount.inc:1460
+#: plugins/personal/posix/class_posixAccount.inc:1471
 #, fuzzy
 msgid "Shadow expire"
 msgstr "显示人员"
 
-#: plugins/personal/posix/class_posixAccount.inc:1461
+#: plugins/personal/posix/class_posixAccount.inc:1472
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
+#: plugins/personal/posix/class_posixAccount.inc:1473
 #, fuzzy
 msgid "System trust model"
 msgstr "信赖的系统"
@@ -4914,73 +5011,50 @@ msgstr "用户必须在第一次登录修改口令"
 msgid "Password expires on"
 msgstr "口令过期截止日"
 
-#: 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/password/main.inc:57 setup/setup_config1.tpl:136
 #, fuzzy
 msgid "Password settings"
 msgstr "用户设置"
 
-#: 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/password/password.tpl:41
-msgid "Clear fields"
-msgstr "清除字段"
+#: plugins/personal/password/password.tpl:14
+#, 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:79
+#: 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:85
+#: plugins/personal/password/class_password.inc:135
 msgid "The password you've entered as 'New password' is empty."
 msgstr "输入的“新口令”为空。"
 
-#: plugins/personal/password/class_password.inc:94
+#: plugins/personal/password/class_password.inc:144
 #, fuzzy, php-format
 msgid "External password changer reported a problem: %s."
 msgstr "外部口令更改程序报告错误:"
 
-#: plugins/personal/password/class_password.inc:108
+#: plugins/personal/password/class_password.inc:158
 msgid ""
 "The password you've entered as your current password doesn't match the real "
 "one."
 msgstr "您输入的当前口令不正确。"
 
-#: plugins/personal/password/class_password.inc:114
+#: plugins/personal/password/class_password.inc:164
 #, fuzzy
 msgid "You have no permission to change your password."
 msgstr "您无权修改您的口令。"
 
-#: plugins/personal/password/class_password.inc:146
+#: plugins/personal/password/class_password.inc:201
 #, fuzzy
 msgid "User password"
 msgstr "清除口令"
 
-#: plugins/personal/password/nochange.tpl:2
-msgid "Password change not allowed"
-msgstr "不允许修改口令"
-
-#: plugins/personal/password/nochange.tpl:6
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "您无权修改您的口令。"
-
 #: setup/class_setupStep_Feedback.inc:92
 msgid "UNIX accounts/groups"
 msgstr ""
@@ -5051,12 +5125,12 @@ msgstr ""
 msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:180
+#: setup/class_setupStep_Feedback.inc:181
 #, fuzzy
 msgid "Please specify a valid email address."
 msgstr "请输入一个有效的 iSerial。"
 
-#: setup/class_setupStep_Feedback.inc:184
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
 "You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
@@ -5208,12 +5282,12 @@ msgid "After migration"
 msgstr "用户管理"
 
 #: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:665 setup/class_setupStep_Migrate.inc:805
-#: setup/class_setupStep_Migrate.inc:1034
-#: setup/class_setupStep_Migrate.inc:2132
-#: setup/class_setupStep_Migrate.inc:2575
-#: setup/class_setupStep_Migrate.inc:2729
-#: setup/class_setupStep_Migrate.inc:3059
+#: 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 "创建"
@@ -5375,12 +5449,6 @@ msgid ""
 "'Migrate' button below."
 msgstr ""
 
-#: setup/setup_migrate.tpl:470 setup/setup_migrate.tpl:513
-#: setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "参考"
-
 #: setup/setup_migrate.tpl:488
 msgid ""
 "The listed services are currently invalid for the GOsa version you are going "
@@ -5463,7 +5531,9 @@ msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:97
-msgid "GOsa requires this module to make use of SSHA encryption."
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
 #: setup/class_setupStep_Checks.inc:105
@@ -5877,31 +5947,36 @@ msgid "What PHP version do you use?"
 msgstr ""
 
 #: setup/setup_feedback.tpl:115
+#, fuzzy
+msgid "GOsa version"
+msgstr "用户设置"
+
+#: setup/setup_feedback.tpl:123
 msgid "LDAP"
 msgstr ""
 
-#: setup/setup_feedback.tpl:119
+#: setup/setup_feedback.tpl:127
 msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:125
+#: setup/setup_feedback.tpl:133
 msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:132
+#: setup/setup_feedback.tpl:140
 #, fuzzy
 msgid "Features"
 msgstr "功能"
 
-#: setup/setup_feedback.tpl:135
+#: setup/setup_feedback.tpl:143
 msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:145
+#: setup/setup_feedback.tpl:153
 msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:152
+#: setup/setup_feedback.tpl:160
 msgid "Send feedback"
 msgstr ""
 
@@ -5939,27 +6014,27 @@ msgid ""
 "GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:105
+#: setup/class_setupStep_Ldap.inc:112
 #, fuzzy, php-format
 msgid "Anonymous bind to server '%s' failed!"
 msgstr "为服务器 '%s' 插入新宏失败。"
 
-#: setup/class_setupStep_Ldap.inc:107
+#: setup/class_setupStep_Ldap.inc:114
 #, fuzzy, php-format
 msgid "Bind as user '%s' failed!"
 msgstr "为服务器 '%s' 插入新宏失败。"
 
-#: setup/class_setupStep_Ldap.inc:112
+#: setup/class_setupStep_Ldap.inc:119
 #, fuzzy, php-format
 msgid "Anonymous bind to server '%s' succeeded."
 msgstr "为服务器 '%s' 插入新宏失败。"
 
-#: setup/class_setupStep_Ldap.inc:113
+#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
 msgid "Please specify user and password!"
 msgstr "请输入您的口令!"
 
-#: setup/class_setupStep_Ldap.inc:115
+#: setup/class_setupStep_Ldap.inc:122
 #, fuzzy, php-format
 msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr "无法在主服务器 '%s' 上选择数据库 '%s'。"
@@ -5996,11 +6071,6 @@ msgstr "Nagios 鉴权"
 msgid "Admin DN"
 msgstr "管理员 DN"
 
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "删除用户"
-
 #: setup/setup_ldap.tpl:86
 msgid "Automatically append LDAP base to admin DN"
 msgstr ""
@@ -6058,7 +6128,7 @@ msgid "Checking for invisible users"
 msgstr "检查 iconv 支持"
 
 #: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3210
+#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
 msgid "Checking for super administrator"
 msgstr "检查一些附加程序"
@@ -6105,12 +6175,12 @@ msgstr "检查函数 %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:654 setup/class_setupStep_Migrate.inc:795
-#: setup/class_setupStep_Migrate.inc:891
-#: setup/class_setupStep_Migrate.inc:2037
-#: setup/class_setupStep_Migrate.inc:2505
-#: setup/class_setupStep_Migrate.inc:2696
-#: setup/class_setupStep_Migrate.inc:2833
+#: 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 查询失败。"
@@ -6118,12 +6188,12 @@ msgstr "Mysql 查询失败。"
 #: 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:655 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
+#: 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 ""
 
@@ -6137,16 +6207,16 @@ msgstr "发现记录类型 '%s' 有重复。"
 msgid "Found %s duplicate values for attribute 'gidNumber'."
 msgstr "发现记录类型 '%s' 有重复。"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:584
-#: setup/class_setupStep_Migrate.inc:597
-#: setup/class_setupStep_Migrate.inc:1031
-#: setup/class_setupStep_Migrate.inc:1049
-#: setup/class_setupStep_Migrate.inc:1989
-#: setup/class_setupStep_Migrate.inc:2002
-#: setup/class_setupStep_Migrate.inc:2057
-#: setup/class_setupStep_Migrate.inc:2078
-#: setup/class_setupStep_Migrate.inc:2130
-#: setup/class_setupStep_Migrate.inc:3212
+#: 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 "失败"
 
@@ -6171,168 +6241,168 @@ msgstr "模式"
 msgid "Found %s user(s) outside the configured tree '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:586 setup/class_setupStep_Migrate.inc:599
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:663
+#: setup/class_setupStep_Migrate.inc:662
 #, php-format
 msgid "Found %s user(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
 msgid "Migration error"
 msgstr "创建"
 
-#: setup/class_setupStep_Migrate.inc:713 setup/class_setupStep_Migrate.inc:856
+#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
 #, fuzzy, php-format
 msgid "Cannot migrate department '%s':"
 msgstr "转到根部门"
 
-#: setup/class_setupStep_Migrate.inc:804
+#: setup/class_setupStep_Migrate.inc:805
 #, php-format
 msgid "Found %s department(s) that will not be visible in GOsa."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1028
+#: setup/class_setupStep_Migrate.inc:1029
 #, fuzzy, php-format
 msgid "GOsa 2.5 administrative accounts found: %s"
 msgstr "创建 netatalk 账号"
 
-#: setup/class_setupStep_Migrate.inc:1033
+#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
 msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
 msgstr "创建 netatalk 账号"
 
-#: setup/class_setupStep_Migrate.inc:1050
+#: setup/class_setupStep_Migrate.inc:1051
 msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1119
+#: setup/class_setupStep_Migrate.inc:1120
 #, php-format
 msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1157
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1158
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Input error"
 msgstr "PHP 错误"
 
-#: setup/class_setupStep_Migrate.inc:1157
+#: setup/class_setupStep_Migrate.inc:1158
 msgid "Uid"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Password error"
 msgstr "口令过期截止日"
 
-#: setup/class_setupStep_Migrate.inc:1162
+#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
 msgid "Provided passwords do not match!"
 msgstr "输入的新口令和重复口令不匹配!"
 
-#: setup/class_setupStep_Migrate.inc:1167
+#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
 msgid "Specify a valid user ID!"
 msgstr "请输入一个有效的用户名!"
 
-#: setup/class_setupStep_Migrate.inc:1200
+#: setup/class_setupStep_Migrate.inc:1201
 #, fuzzy, php-format
 msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr "为对象 '%s' 设置动作状态(FAIstate) 失败,值为 '%s'。"
 
-#: setup/class_setupStep_Migrate.inc:1239
-#: setup/class_setupStep_Migrate.inc:1288
-#: setup/class_setupStep_Migrate.inc:1337
+#: 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 "选择放置部门的子树"
 
-#: setup/class_setupStep_Migrate.inc:1249
+#: setup/class_setupStep_Migrate.inc:1250
 msgid "Winstation will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1260
-#: setup/class_setupStep_Migrate.inc:1309
+#: setup/class_setupStep_Migrate.inc:1261
+#: setup/class_setupStep_Migrate.inc:1310
 msgid "Updating following references too"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1299
+#: setup/class_setupStep_Migrate.inc:1300
 msgid "Group will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1347
+#: setup/class_setupStep_Migrate.inc:1348
 msgid "User will be moved from"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1357
+#: setup/class_setupStep_Migrate.inc:1358
 msgid "The following references will be updated"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1990
+#: setup/class_setupStep_Migrate.inc:1991
 msgid ""
 "The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-#: setup/class_setupStep_Migrate.inc:2004
+#: setup/class_setupStep_Migrate.inc:1992
+#: setup/class_setupStep_Migrate.inc:2005
 msgid "Try to create root object"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2003
+#: setup/class_setupStep_Migrate.inc:2004
 msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2058
+#: setup/class_setupStep_Migrate.inc:2059
 #, php-format
 msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2059
+#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
 msgid "Please check your installation."
 msgstr "请检查用户名/口令。"
 
-#: setup/class_setupStep_Migrate.inc:2080
+#: 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 ""
 
-#: setup/class_setupStep_Migrate.inc:2439
+#: setup/class_setupStep_Migrate.inc:2440
 #, fuzzy, php-format
 msgid "Copy '%s' to '%s' failed:"
 msgstr "移动 '%s' 到 '%s'"
 
-#: setup/class_setupStep_Migrate.inc:2574
+#: setup/class_setupStep_Migrate.inc:2575
 #, php-format
 msgid "There are %s devices that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2634
+#: setup/class_setupStep_Migrate.inc:2635
 #, php-format
 msgid "Adding '%s' to the LDAP failed: %s"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
+#: setup/class_setupStep_Migrate.inc:2655
+#: setup/class_setupStep_Migrate.inc:2772
 #, fuzzy, php-format
 msgid "Updating '%s' failed: %s"
 msgstr "Logging DB 用户"
 
-#: setup/class_setupStep_Migrate.inc:2727
+#: setup/class_setupStep_Migrate.inc:2728
 #, php-format
 msgid "There are %s services that need to be migrated."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3058
+#: setup/class_setupStep_Migrate.inc:3059
 #, php-format
 msgid "There are %s application menus which have to be migrated."
 msgstr ""
@@ -6723,6 +6793,31 @@ msgid "Automatic"
 msgstr "自动"
 
 #, fuzzy
+#~ msgid "Group submenu menu"
+#~ msgstr "组成员"
+
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "将用户放到所选择子树中"
+
+#~ msgid "Select a base"
+#~ msgstr "选择一个位置"
+
+#, fuzzy
+#~ 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 "Password change not allowed"
+#~ msgstr "不允许修改口令"
+
+#, fuzzy
 #~ msgid "Choose a base"
 #~ msgstr "选择一个位置"
 
@@ -7118,10 +7213,6 @@ msgstr "自动"
 #~ msgstr "查找"
 
 #, fuzzy
-#~ msgid "Password end"
-#~ msgstr "口令"
-
-#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "应用程序名称"
 
@@ -8345,10 +8436,6 @@ msgstr "自动"
 #~ msgid "Packages"
 #~ msgstr "软件包"
 
-#, fuzzy
-#~ msgid "GOsa logs"
-#~ msgstr "Syslog 服务"
-
 #~ msgid ""
 #~ "Can't connect to glpi database, there is no mysl extension available in "
 #~ "your php setup."
diff --git a/gosa-core/plugins/admin/acl/acl-filter.tpl b/gosa-core/plugins/admin/acl/acl-filter.tpl
index c5f2fc2..4485a9a 100644
--- a/gosa-core/plugins/admin/acl/acl-filter.tpl
+++ b/gosa-core/plugins/admin/acl/acl-filter.tpl
@@ -18,7 +18,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/departments/class_department.inc b/gosa-core/plugins/admin/departments/class_department.inc
index b79811a..dcfb8ff 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 17912 2010-04-28 13:45:23Z hickert $$
+ * ID: $$Id: class_department.inc 19186 2010-07-28 09:57: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
@@ -390,101 +390,99 @@ class department extends plugin
 	}
 
 
-	/* Save to LDAP */
-	function save()
-	{
-		$ldap= $this->config->get_ldap_link();
-
-    /* Ensure that ou is saved too, it is required by objectClass gosaDepartment 
-     */
-    $nA = $this->namingAttr;
-    $this->ou = $this->$nA;
+    /* Save to LDAP */
+    function save()
+    {
+        $ldap= $this->config->get_ldap_link();
 
-    /* Add tag objects if needed */
-    if ($this->is_administrational_unit){
-
-      /* If this wasn't tagged before add oc an reset unit tag */
-      if(!$this->initially_was_tagged){
-        $this->objectclasses[]= "gosaAdministrativeUnit";
-        $this->gosaUnitTag= "";
-
-        /* It seams that this method is called twice, 
-           set this to true. to avoid adding this oc twice */
-        $this->initially_was_tagged = true;
-      }
-
-      if ($this->gosaUnitTag == ""){
-
-        /* It's unlikely, but check if already used... */
-        $try= 5;
-        $ldap->cd($this->config->current['BASE']);
-        while ($try--){
-
-          /* Generate microtime stamp as tag */
-          list($usec, $sec)= explode(" ", microtime());
-          $time_stamp= preg_replace("/\./", "", $sec.$usec);
-
-          $ldap->search("(&(objectClass=gosaAdministrativeUnit)(gosaUnitTag=$time_stamp))",array("gosaUnitTag"));
-          if ($ldap->count() == 0){
-            break;
-          }
+        /* Ensure that ou is saved too, it is required by objectClass gosaDepartment 
+         */
+        $nA = $this->namingAttr;
+        $this->ou = $this->$nA;
+
+        /* Add tag objects if needed */
+        if ($this->is_administrational_unit){
+
+            /* If this wasn't tagged before add oc an reset unit tag */
+            if(!$this->initially_was_tagged){
+                $this->objectclasses[]= "gosaAdministrativeUnit";
+                $this->gosaUnitTag= "";
+
+                /* It seams that this method is called twice, 
+                   set this to true. to avoid adding this oc twice */
+                $this->initially_was_tagged = true;
+            }
+
+            if ($this->gosaUnitTag == ""){
+
+                /* It's unlikely, but check if already used... */
+                $try= 5;
+                $ldap->cd($this->config->current['BASE']);
+                while ($try--){
+
+                    /* Generate microtime stamp as tag */
+                    list($usec, $sec)= explode(" ", microtime());
+                    $time_stamp= preg_replace("/\./", "", $sec.$usec);
+
+                    $ldap->search("(&(objectClass=gosaAdministrativeUnit)(gosaUnitTag=$time_stamp))",array("gosaUnitTag"));
+                    if ($ldap->count() == 0){
+                        break;
+                    }
+                }
+                if($try == 0) {
+                    msg_dialog::display(_("Fatal error"), _("Cannot find an unused tag for this administrative unit!"), WARNING_DIALOG);
+                    return;
+                }
+                $this->gosaUnitTag= preg_replace("/\./", "", $sec.$usec);
+            }
         }
-        if($try == 0) {
-          msg_dialog::display(_("Fatal error"), _("Cannot find an unused tag for this administrative unit!"), WARNING_DIALOG);
-          return;
+        $this->skipTagging = TRUE;
+        plugin::save();
+
+        /* Remove tag information if needed */
+        if (!$this->is_administrational_unit && $this->initially_was_tagged){
+            $tmp= array();
+
+            /* Remove gosaAdministrativeUnit from this plugin */
+            foreach($this->attrs['objectClass'] as $oc){
+                if (preg_match("/^gosaAdministrativeUnitTag$/i", $oc)){
+                    continue;
+                }
+                if (!preg_match("/^gosaAdministrativeUnit$/i", $oc)){
+                    $tmp[]= $oc;
+                }
+            }
+            $this->attrs['objectClass']= $tmp;
+            $this->attrs['gosaUnitTag']= array();
+            $this->gosaUnitTag = "";
         }
-        $this->gosaUnitTag= preg_replace("/\./", "", $sec.$usec);
-      }
-    }
-    $this->skipTagging = TRUE;
-    plugin::save();
 
-    /* Remove tag information if needed */
-    if (!$this->is_administrational_unit && $this->initially_was_tagged){
-      $tmp= array();
 
-      /* Remove gosaAdministrativeUnit from this plugin */
-      foreach($this->attrs['objectClass'] as $oc){
-        if (preg_match("/^gosaAdministrativeUnitTag$/i", $oc)){
-          continue;
+        /* Write back to ldap */
+        $ldap->cat($this->dn, array('dn'));
+        $ldap->cd($this->dn);
+
+        if ($ldap->count()){
+            $this->cleanup();
+            $ldap->modify ($this->attrs); 
+            new log("modify","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+            $this->handle_post_events('modify');
+        } else {
+            $ldap->add($this->attrs);
+            $this->handle_post_events('add');
+            new log("create","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
         }
-        if (!preg_match("/^gosaAdministrativeUnit$/i", $oc)){
-          $tmp[]= $oc;
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
         }
-      }
-      $this->attrs['objectClass']= $tmp;
-      $this->attrs['gosaUnitTag']= array();
-      $this->gosaUnitTag = "";
-    }
 
+        /* The parameter forces only to set must_be_tagged, and don't touch any objects 
+           This will be done later */
+        $this->tag_objects(true);
 
-		/* Write back to ldap */
-		$ldap->cat($this->dn, array('dn'));
-		$ldap->cd($this->dn);
-
-		if ($ldap->count()){
-			$this->cleanup();
-			$ldap->modify ($this->attrs); 
-      new log("modify","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-			$this->handle_post_events('modify');
-		} else {
-			$ldap->add($this->attrs);
-			$this->handle_post_events('add');
-      new log("create","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, 0, get_class()));
+        return(false);
     }
 
-    /* The parameter forces only to set must_be_tagged, and don't touch any objects 
-       This will be done later */
-    $this->tag_objects(true);
-    
-    /* Optionally execute a command after we're done */
-		$this->postcreate();
-    return(false);
-	}
-
 
 	/* Tag objects to have the gosaAdministrativeUnitTag */
 	function tag_objects($OnlySetTagFlag = false)
diff --git a/gosa-core/plugins/admin/departments/dep-filter.tpl b/gosa-core/plugins/admin/departments/dep-filter.tpl
index 3d4595c..0078dfa 100644
--- a/gosa-core/plugins/admin/departments/dep-filter.tpl
+++ b/gosa-core/plugins/admin/departments/dep-filter.tpl
@@ -10,7 +10,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/groups/class_group.inc b/gosa-core/plugins/admin/groups/class_group.inc
index eee5334..d7ca5cf 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 15620 2010-02-12 14:12:14Z cajus $$
+ * ID: $$Id: class_group.inc 18853 2010-06-07 12:28:28Z 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
@@ -1327,6 +1327,49 @@ class group extends plugin
   {
     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;
+    }
+
+
+    // Detect samba groups and adapt its values.
+    $this->smbgroup = in_array('sambaGroupMapping', $source['objectClass']);
     if ($this->smbgroup) { 
       $this->sambaSID = $this->getSambaSID(); 
     } 
diff --git a/gosa-core/plugins/admin/groups/group-filter.tpl b/gosa-core/plugins/admin/groups/group-filter.tpl
index c115cd0..8bcae4b 100644
--- a/gosa-core/plugins/admin/groups/group-filter.tpl
+++ b/gosa-core/plugins/admin/groups/group-filter.tpl
@@ -18,7 +18,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/groups/group-list.xml b/gosa-core/plugins/admin/groups/group-list.xml
index efdcca1..27133af 100644
--- a/gosa-core/plugins/admin/groups/group-list.xml
+++ b/gosa-core/plugins/admin/groups/group-list.xml
@@ -20,7 +20,7 @@
     </objectType>
 
     <objectType>
-      <label>Group submenu menu</label>
+      <label>Group submenu entry</label>
       <objectClass>gotoSubmenuEntry</objectClass>
       <category>groups</category>
       <class>group</class>
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl
index ba7af5c..977b343 100644
--- a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl
+++ b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl
@@ -14,7 +14,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl
index e1016c0..a24a079 100644
--- a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl
+++ b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl
@@ -18,7 +18,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl b/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl
index ba7af5c..977b343 100644
--- a/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl
+++ b/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl
@@ -14,7 +14,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl
index 860be55..b7f3311 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl
@@ -26,7 +26,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl b/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl
index 0c04347..6f9a54d 100644
--- a/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl
+++ b/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl
@@ -26,7 +26,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/admin/users/class_userManagement.inc b/gosa-core/plugins/admin/users/class_userManagement.inc
index fda95a9..9a63e59 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 15708 2010-02-25 09:04:12Z hickert $$
+ * ID: $$Id: class_userManagement.inc 19031 2010-07-21 09:59:03Z 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,14 @@ class userManagement extends management
   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;
@@ -105,6 +113,13 @@ class userManagement extends management
   }
 
 
+  function refreshProposal()
+  {
+    $this->proposal = passwordMethod::getPasswordProposal($this->config);
+    $this->proposalEnabled = (!empty($this->proposal));
+  }
+
+
   // Inject user actions 
   function detectPostActions()
   {
@@ -115,7 +130,7 @@ class userManagement extends management
     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']))){
+    }elseif((count($this->pwd_change_queue) || isset($_POST['password_finish']) || isset($_POST['refreshProposal']))){
       $action['action'] = "passwordQueue";
     }
     return($action);
@@ -228,67 +243,167 @@ class userManagement extends management
 
   function handlePasswordQueue()
   {
-    // Get next entry from queue.
-    if(empty($this->dn) && count($this->pwd_change_queue)){
-      $this->dn = array_pop($this->pwd_change_queue);
-      set_object_info($this->dn);
-      $smarty = get_smarty();
-      return ($smarty->fetch(get_template_path('password.tpl', TRUE)));
-    }
+      // skip if nothing is to do
+      if(empty($this->dn) && !count($this->pwd_change_queue)) return;
 
-    // Check permissions
-    $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)){
-      $message= array();
-      if ($_POST['new_password'] != $_POST['repeated_password']){
-        $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"));
-        }
+      // 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)));
       }
 
-      // Display errors
-      if (count($message) != 0){
-        msg_dialog::displayChecks($message);
-        $smarty = get_smarty();
-        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)));
       }
 
-      // Change cassword 
-      if(isset($this->force_hash_type[$this->dn])){
-        if(!change_password ($this->dn, $_POST['new_password'],0,$this->force_hash_type[$this->dn])){
-          return($smarty->fetch(get_template_path('password.tpl', TRUE)));
-        }
-      }else{
-        if(!change_password ($this->dn, $_POST['new_password'])){
-          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);
+          }
       }
-      if ($this->config->get_cfg_value("passwordHook") != ""){
-        exec($this->config->get_cfg_value("passwordHook")." ".$username." ".$_POST['new_password'], $resarr);
+      // Cleanup
+      if(!count($this->pwd_change_queue) && $this->dn=""){
+          $this->remove_lock();
+          $this->closeDialogs();
+      }else{
+          return($this->handlePasswordQueue());
       }
-      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->remove_lock();
-      $this->closeDialogs();
-    }else{
-      return($this->handlePasswordQueue());
-    }
   }
 
 
+
+
   /*! \brief  Save user modifications. 
    *          Whenever we save a 'new' user, request a password change for him.
    */ 
diff --git a/gosa-core/plugins/admin/users/password.tpl b/gosa-core/plugins/admin/users/password.tpl
index 18b8b07..2e9ad82 100644
--- a/gosa-core/plugins/admin/users/password.tpl
+++ b/gosa-core/plugins/admin/users/password.tpl
@@ -8,23 +8,84 @@
  {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
 </p>
 
-<table summary="" style="vertical-align:top; text-align:left;" 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" size="30" maxlength="40" 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 type="password" id="repeated_password" name="repeated_password" size="30" maxlength="40" onFocus="nextfiled= '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>
-    </td>
-  </tr>
-</table>
+<hr>
+
+{if !$proposalEnabled}
+
+  <table summary="" style="vertical-align:top; text-align:left;" 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>
+    </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>
+    </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>
+      </td>
+    </tr>
+  </table>
+
+{else}
+
+  <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>
+      </td>
+      <td>
+        <div id='proposalText' 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' onClick='updateFields();'
+            {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 type="password" id="new_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 type="password" id="repeated_password" name="repeated_password" onFocus="nextfiled='password_finish'"></td>
+    </tr>
+    <tr>
+      <td style='padding-left:40px;'><b>{t}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}
+
+{if $passwordChangeForceable}
+    <hr>
+    <input type='checkbox' name='enforcePasswordChange' value='1' id='enforcePasswordChange'
+        {if $enforcePasswordChange} checked {/if}> 
+            <LABEL for='enforcePasswordChange'>{t}Enforce password change on next login.{/t}</LABEL>
+{/if}
+
+
+
 <br>
 <p class="plugbottom">
   <input type=submit name="password_finish" value="{t}Set password{/t}">
@@ -32,11 +93,35 @@
   <input type=submit name="password_cancel" value="{msgPool type=cancelButton}">
   <input type='hidden' id='formSubmit'>
 </p>
-
-<!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-  	nextfield= "new_password";
-	focus_field('new_password');
-  -->
+    nextfield= 'current_password';
+    focus_field('current_password');
+
+
+    function updateFields()
+    {
+        if($('proposalSelected').checked){
+            $('new_password').disable();
+            $('repeated_password').disable();
+            $('proposalText').setStyle(
+                 'background-color:#FFF;' +
+                 'color:#000;' +
+                 'width:180px;' +
+                 'border:1px solid #CCC;' +
+                 'padding:3px;' );
+        }else{
+            $('new_password').enable();
+            $('repeated_password').enable();
+            $('proposalText').setStyle(
+                 'background-color:#DDD;' +
+                 'color:#888;' +
+                 'width:180px;' +
+                 'border:1px solid #CCC;' +
+                 'padding:3px;');
+        }
+    }
+    updateFields();
 </script>
+
+
+
diff --git a/gosa-core/plugins/admin/users/user-filter.tpl b/gosa-core/plugins/admin/users/user-filter.tpl
index 227243d..4e98592 100644
--- a/gosa-core/plugins/admin/users/user-filter.tpl
+++ b/gosa-core/plugins/admin/users/user-filter.tpl
@@ -21,7 +21,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/personal/generic/changed.tpl b/gosa-core/plugins/personal/generic/changed.tpl
new file mode 100644
index 0000000..4fe49ed
--- /dev/null
+++ b/gosa-core/plugins/personal/generic/changed.tpl
@@ -0,0 +1,12 @@
+
+<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 5a7a439..957c677 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 17970 2010-04-29 14:12:17Z hickert $$
+ * ID: $$Id: class_user.inc 19039 2010-07-21 13:07:54Z 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
@@ -1538,13 +1538,18 @@ class user extends plugin
       $this->givenName= $this->parent->givenName;
     }
 
-    if ($this->dateOfBirth) {
+
+    /* Generate dateOfBirth entry */
+    if (isset ($this->attrs['dateOfBirth'])){
       /* This entry is ISO 8601 conform */
-      list($year, $month, $day)= explode("-", $this->dateOfBirth, 3);
-    
+      list($year, $month, $day)= explode("-", $this->attrs['dateOfBirth'][0], 3);
+
       #TODO: use $lang to convert date
       $this->dateOfBirth= "$day.$month.$year";
+    } else {
+      $this->dateOfBirth= "";
     }
+
   }
 
  
diff --git a/gosa-core/plugins/personal/generic/main.inc b/gosa-core/plugins/personal/generic/main.inc
index 448d191..da690e9 100644
--- a/gosa-core/plugins/personal/generic/main.inc
+++ b/gosa-core/plugins/personal/generic/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 13288 2008-12-12 14:54:13Z hickert $$
+ * 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
@@ -38,7 +38,7 @@ if ( $cleanup ){
 }else{
 
   /* Reset requested? */
-  if (isset($_POST['edit_cancel']) || isset($_POST['password_cancel'])){
+  if (isset($_POST['edit_cancel']) || isset($_POST['password_cancel'])|| isset($_POST['password_changed'])){
     session::un_set ('edit');
     session::un_set ('user');
   }
@@ -76,129 +76,91 @@ if ( $cleanup ){
     }
   }
 
-  /* Perform password change */
-  if (isset($_POST['password_finish'])){
-
-    /* For security reasons, check if user is allowed to set password again */
-    if ($user->acl_is_writeable("userPassword") || $user->acl_is_createable()){
-
-      /* Check input and feed errors into 'message' */
-      $message= array();
-
-      /* Sanity checks... */
-      if ($_POST['new_password'] != $_POST['repeated_password']){
-
-        /* Matching passwords in new and repeated? */
-        $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
-      } else {
-
-        /* Empty password is not permitted by default. */
-        if ($_POST['new_password'] == ""){
-          $message[]= msgPool::required(_("New password"));
-        }
-      }
-
-      /* Errors, or change password? */
-      if (count($message) != 0){
-
-        /* Show error message and continue editing */
-        msg_dialog::displayChecks($message);
-        $display.= $smarty->fetch(get_template_path('password.tpl', TRUE));
-        return ($display);
-      }
-      change_password ($user->dn, $_POST['new_password'], 0, $user->pw_storage);
-      new log("modify","users/password","",array(),"Password has been changed");
-
-    } else {
-
-      /* Missing permissions, show message */
-      msg_dialog::display(_("Error"), _("You have no permission to set your password!"), ERROR_DIALOG);
-    }
-
-    del_lock ($ui->dn);
-    session::un_set ('user');
-  }
-
   /* save changes to LDAP and disable edit mode */
+  $info = "";
   if (isset($_POST['edit_finish'])){
 
-    /* Perform checks */
-    $message= $user->check ();
+      /* 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()){
 
-    /* No errors, save object */
-    if (count ($message) == 0){
-      $user->save ();
-      del_lock ($ui->dn);
-      session::un_set ('edit');
+              $user->passwordClass= new password($config, $ui->dn);
+              $user->passwordClass->forceHash($user->pw_storage);
 
-      /* Need to reset the password? */
-      if($user->password_change_needed()){
-        /* Save object */
-        session::set('user',$user);
+              session::set('user',$user);
+              $display.=$user->passwordClass->execute();
+          } else {
+              session::un_set ('user');
+          }
 
-        $display.= $smarty->fetch(get_template_path('password.tpl', TRUE));
-        return ($display);
       } else {
-        session::un_set ('user');
+          /* Errors found, show message */
+          msg_dialog::displayChecks($message);
       }
+  }elseif(isset($user->passwordClass)){
 
-    } else {
-      /* Errors found, show message */
-      msg_dialog::displayChecks($message);
-    }
-  }
+    $display.=$user->passwordClass->execute();
 
-  /* 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);
-  }
-
-  $info = "";
 
-  /* 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." ";
+      /* Execute formular */
+      if($lock_msg){
+          $display.= $lock_msg;
+      }else{
+          $display.= $user->execute ();
       }
 
-      /* 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";
-        }
+      /* Store changes  in session */
+      if (session::is_set('edit')){
+          session::set('user',$user);
       }
 
-      $display.= "<input type=\"hidden\" name=\"ignore\">\n";
-    }
-    $display.= "</p>\n";
+      /* 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*/
diff --git a/gosa-core/plugins/personal/generic/nochange.tpl b/gosa-core/plugins/personal/generic/nochange.tpl
new file mode 100644
index 0000000..eb0ac8a
--- /dev/null
+++ b/gosa-core/plugins/personal/generic/nochange.tpl
@@ -0,0 +1,8 @@
+<p>
+ <b>{t}You have no permission to change your password at this time{/t}</b>
+</p>
+<p>
+ {t}Your password hash method will not be changed!{/t}
+</p>
+
+<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/generic/password.tpl b/gosa-core/plugins/personal/generic/password.tpl
index 0430e54..1f4ba1f 100644
--- a/gosa-core/plugins/personal/generic/password.tpl
+++ b/gosa-core/plugins/personal/generic/password.tpl
@@ -1,28 +1,110 @@
+<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}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.{/t}
+  {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
 </p>
 
-<table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
-  <tr>
-    <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-    <td><input id="new_password" type="password" name="new_password" size="30" maxlength="40" 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" size="30" maxlength="40" onFocus="nextfiled= 'password_finish'"></td>
-  </tr>
-</table>
+<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=submit name="password_cancel" value="{msgPool type=cancelButton}">
+  <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= "new_password";
-	focus_field('new_password');
+  nextfield= 'current_password';
+	focus_field('current_password');
   -->
 </script>
+
diff --git a/gosa-core/plugins/personal/password/class_password.inc b/gosa-core/plugins/personal/password/class_password.inc
index a3cc683..ca46468 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 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_password.inc 19174 2010-07-27 14:54: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
@@ -26,16 +26,41 @@ class password extends plugin
   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);
+      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 */
@@ -44,16 +69,38 @@ class password extends plugin
     $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);
-      if($expired == 4){
+      $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" , $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');
+        }
+
+
       /* Should we check different characters in new password */
       $check_differ = $this->config->get_cfg_value("passwordMinDiffer") != "";
       $differ       = $this->config->get_cfg_value("passwordMinDiffer", 0);
@@ -64,7 +111,7 @@ class password extends plugin
 
       /* Call external password quality hook ?*/
       $check_hook   = $this->config->get_cfg_value("passwordHook") != "";
-      $hook         = $this->config->get_cfg_value("passwordHook")." ".$ui->username." ".$_POST['current_password']." ".$_POST['new_password'];
+      $hook         = $this->config->get_cfg_value("passwordHook")." ".$ui->username." ".$current_password." ".$new_password;
       if($check_hook){
         exec($hook,$resarr);
         $check_hook_output = "";
@@ -74,19 +121,19 @@ class password extends plugin
       }
 
       /* Check given values */    
-      if(!isset($_POST['current_password']) || empty($_POST['current_password'])){
+      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 ($_POST['new_password'] != $_POST['repeated_password']){
+      }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 ($_POST['new_password'] == ""){
+      } elseif ($new_password == ""){
         msg_dialog::display(_("Password change"),
                             _("The password you've entered as 'New password' is empty."),WARNING_DIALOG);
-      }elseif($check_differ && (substr($_POST['current_password'], 0, $differ) == substr($_POST['new_password'], 0, $differ))){
+      }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($_POST['new_password']) < $length)){
+      }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 != ""){
@@ -97,7 +144,7 @@ class password extends plugin
         /* Try to connect via current password */
         $tldap = new LDAP(
             $ui->dn, 
-            $_POST['current_password'],
+            $current_password,
             $this->config->current['SERVER'],
             $this->config->get_cfg_value("ldapFollowReferrals") == "true",
             $this->config->get_cfg_value("ldapTLS") == "true");
@@ -113,11 +160,11 @@ class password extends plugin
             msg_dialog::display(_("Password change"),
                                 _("You have no permission to change your password."),WARNING_DIALOG);
           }else{
-            $this->change_password($ui->dn, $_POST['new_password']);
+            $this->change_password($ui->dn, $new_password,$this->forcedHash);
             gosa_log ("User/password has been changed");
-            $ui->password= $_POST['new_password'];
+            $ui->password= $new_password;
             session::set('ui',$ui);
-#$this->handle_post_events("modify",array("userPassword" => $_POST['new_password']));
+#$this->handle_post_events("modify",array("userPassword" => $new_password));
             return($smarty->fetch(get_template_path("changed.tpl", TRUE)));
           }
         }
@@ -126,11 +173,16 @@ class password extends plugin
     return($smarty->fetch(get_template_path("password.tpl", TRUE)));
   } 
 
-  function change_password($dn, $pwd)
+  function change_password($dn, $pwd, $hash)
   {
-    change_password ($dn, $pwd);
+      if(!$hash){
+          change_password ($dn, $pwd);
+      }else{
+          change_password ($dn, $pwd,0, $hash);
+      }
   }
 
+
   function remove_from_parent()
   {
     $this->handle_post_events("remove");
diff --git a/gosa-core/plugins/personal/password/nochange.tpl b/gosa-core/plugins/personal/password/nochange.tpl
index 0f175c6..37d97f5 100644
--- a/gosa-core/plugins/personal/password/nochange.tpl
+++ b/gosa-core/plugins/personal/password/nochange.tpl
@@ -1,11 +1,5 @@
-<div class="plugtop">
-  <img class="center" alt="" src="images/error.png" align="middle">{t}Password change not allowed{/t}>
-</div>
-
 <p>
  <b>{t}You have no permission to change your password at this time{/t}</b>
 </p>
 
-<br>
-
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/password/password.tpl b/gosa-core/plugins/personal/password/password.tpl
index 88ffa02..325d9f9 100644
--- a/gosa-core/plugins/personal/password/password.tpl
+++ b/gosa-core/plugins/personal/password/password.tpl
@@ -8,30 +8,92 @@
   {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
 </p>
 
-<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" size="30" maxlength="40"
-		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" size="30" maxlength="40"
-		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" size="30" maxlength="40"
-		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>
+<hr>
+
+{if $passwordExpired}
+    <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>
+    <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' id='proposalSelected' onClick='updateFields();'
+            {if $proposalSelected} checked {/if}> <b>{t}Use proposal{/t}</b>
+      </td>
+      <td>
+        <div id='proposalText' 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' onClick='updateFields();'
+            {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>
 
@@ -44,11 +106,34 @@
 
 <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');
-  -->
+    nextfield= 'current_password';
+    focus_field('current_password');
+
+
+    function updateFields()
+    {
+        if($('proposalSelected').checked){
+            $('new_password').disable();
+            $('repeated_password').disable();
+            $('proposalText').setStyle(
+                 'background-color:#FFF;' +
+                 'color:#000;' +
+                 'width:180px;' +
+                 'border:1px solid #CCC;' +
+                 'padding:3px;' );
+        }else{
+            $('new_password').enable();
+            $('repeated_password').enable();
+            $('proposalText').setStyle(
+                 'background-color:#DDD;' +
+                 'color:#888;' +
+                 'width:180px;' +
+                 'border:1px solid #CCC;' +
+                 'padding:3px;');
+        }
+    }
+    updateFields();
 </script>
 
+
diff --git a/gosa-core/plugins/personal/posix/class_posixAccount.inc b/gosa-core/plugins/personal/posix/class_posixAccount.inc
index 0f19c3b..cfc3acc 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 17912 2010-04-28 13:45:23Z hickert $$
+ * ID: $$Id: class_posixAccount.inc 19041 2010-07-21 13:30: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
@@ -1248,21 +1248,18 @@ class posixAccount extends plugin
       }
     }
 
-    /* FIXME: NEED review of this section */
-    /* Need to check shadowExpire separately */
-
-    /* 
-     * If shadowExpire is not enabled in the template, it's a UNIX timestamp - so don't convert it to seconds.
-     * The check is a hack - if difference between timestamp generated above and here is max 1 day.
-     */
-    if(abs($this->shadowExpire - time())>86400) {
-      $this->shadowExpire= $this->convertToSeconds($this->shadowExpire);
-    }
-    
     /* 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= "";
+    } else {
+        $this->shadowExpire= date('d.m.Y', $this->shadowExpire * 60 * 60 * 24);
+    }
+
   }
 
   function convertToSeconds($val)
diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl b/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl
index c115cd0..8bcae4b 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl
+++ b/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl
@@ -18,7 +18,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl
index 0d91133..dc40983 100644
--- a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl
+++ b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl
@@ -20,7 +20,7 @@
   <tr>
    <td>
     <label for="NAME">
-     <img src="images/lists/search.png" align=middle> Name
+     <img src="images/lists/search.png" align=middle> {t}Name{/t}
     </label>
    </td>
    <td>
diff --git a/gosa-core/redhat/gosa.spec b/gosa-core/redhat/gosa.spec
index 0bd1624..0315979 100644
--- a/gosa-core/redhat/gosa.spec
+++ b/gosa-core/redhat/gosa.spec
@@ -95,9 +95,9 @@ desktop environment.
 Group: 			System/Administration
 Summary: 		Schema Definitions for the GOSA package
 %if %{suse}
-Requires:		gosa >= %{version}
+Requires:		openldap2	
 %else
-Requires:		gosa >= %{version}
+Requires:		openldap-servers
 %endif
 Obsoletes:		gosa-ldap
 
@@ -243,6 +243,7 @@ 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
@@ -251,7 +252,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
+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
@@ -274,6 +275,8 @@ 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
@@ -310,7 +313,9 @@ 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
@@ -389,3 +394,6 @@ 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.spec b/gosa-core/redhat/gosa_fedora.spec
similarity index 76%
copy from gosa-core/redhat/gosa.spec
copy to gosa-core/redhat/gosa_fedora.spec
index 0bd1624..3796563 100644
--- a/gosa-core/redhat/gosa.spec
+++ b/gosa-core/redhat/gosa_fedora.spec
@@ -1,7 +1,3 @@
-# Some sort of "detection" of suse
-%{?suse_version:%define suse 1}
-%{!?suse_version:%define suse 0}
-
 # Define Packagename, e.g.:
 # rpmbuild --rebuild --define 'sourcename gosa' gosa.srpm
 %{!?sourcename:%define sourcename %{name}-%{version}}
@@ -13,42 +9,27 @@ Summary: 		Web Based LDAP Administration Program
 Name:			gosa
 Version: 		2.6.10
 Release:		1
-License: 		GPL
-Source: 		ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2
+License: 		GPLv2
+Source0: 		ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2
 URL: 			https://oss.GONICUS.de/labs/gosa/
 Group: 			System/Administration
-Vendor:			GONICUS GmbH
-Packager:		Stefan Japes <japes at GONICUS.de>
 Buildarch: 		noarch
-Patch:			01_fix_template_location.patch
+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
-%if %{suse}
-Requires:		apache2,apache2-mod_php5,php5,php5-gd,php5-ldap,php5-mcrypt,php5-mysql,php5-imap,php5-iconv,php5-hash,php5-posix,php5-mbstring,php5-gettext,ImageMagick,gettext-tools
-%else
 Requires: 		httpd,php,php-ldap,php-imap,php-snmp,php-mysql,php-mbstring,ImageMagick,perl-Crypt-SmbHash
-%endif
-BuildRoot: 		%{_tmppath}/%{name}-%{version}-root
+BuildRoot: 		%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+BuildRequires: 		desktop-file-utils
 BuildArch:		noarch
 
 ########################
 
-%define confdir 	/etc/%{name}
-
-%if %{suse}
-	%{echo:Building SuSE rpm}
-	%define apacheuser wwwrun
-	%define apachegroup root
-	%define webconf	/etc/apache2/conf.d/
-	%define docdir /usr/share/doc/packages/gosa
-%else
-	%{echo:Building other rpm}
-	%define apacheuser apache 
-	%define apachegroup apache 
-	%define webconf	/etc/httpd/conf.d/	
-	%define docdir /usr/share/doc/gosa-%{version}
-%endif
+%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
@@ -57,16 +38,21 @@ 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
-%if %{suse}
-Requires:               lyx
-%else
 Requires:               php-cli,latex2html,lyx
-%endif
 Obsoletes:              gosa-ldap
 
 %description dev
@@ -78,11 +64,7 @@ online help, extract localisations and aid developing.
 %package desktop
 Group:                  System/Administration
 Summary:                Desktop integration for GOsa
-%if %{suse}
-Requires:               firefox
-%else
-Requires:               firefox
-%endif
+Requires:               webclient
 Obsoletes:              gosa-ldap
 
 %description desktop
@@ -94,11 +76,7 @@ desktop environment.
 %package schema
 Group: 			System/Administration
 Summary: 		Schema Definitions for the GOSA package
-%if %{suse}
-Requires:		gosa >= %{version}
-%else
-Requires:		gosa >= %{version}
-%endif
+Requires:		openldap-servers	
 Obsoletes:		gosa-ldap
 
 %description schema
@@ -158,7 +136,7 @@ Spain localized online manual page for GOSA package
 
 %prep
 %setup -q -n %{sourcename}
-%patch -p1
+%patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -189,18 +167,18 @@ for i in $DIRS; do \
 done
 
 # Copy files for gosa
-mkdir -p %{buildroot}/usr/sbin
-mkdir -p %{buildroot}/etc/gosa
+mkdir -p %{buildroot}%{_sbindir}
+mkdir -p %{buildroot}%{_sysconfdir}/gosa
 mkdir -p %{buildroot}/usr/share/doc/gosa
 mkdir -p %{buildroot}%{webconf}
 
-touch %{buildroot}/etc/gosa/gosa.secrets
+touch %{buildroot}%{_sysconfdir}/gosa/gosa.secrets
 mv contrib/gosa.conf		%{buildroot}/usr/share/doc/gosa
-mv update-gosa 			%{buildroot}/usr/sbin
-mv bin/gosa-encrypt-passwords 	%{buildroot}/usr/sbin
+mv update-gosa 			%{buildroot}%{_sbindir}
+mv bin/gosa-encrypt-passwords 	%{buildroot}%{_sbindir}
 mv debian/gosa-apache.conf 	%{buildroot}%{webconf}
-mv contrib/shells 		%{buildroot}/etc/gosa
-mv contrib/encodings 		%{buildroot}/etc/gosa
+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
 
@@ -225,9 +203,9 @@ mkdir -p %{buildroot}%{confdir}
 mkdir -p %{buildroot}%{webconf}
 
 # Copy file for gosa-schema
-mkdir -p %{buildroot}/etc/openldap/schema/gosa
+mkdir -p %{buildroot}%{_sysconfdir}/openldap/schema/gosa
 
-mv contrib/openldap/*.schema %{buildroot}/etc/openldap/schema/gosa
+mv contrib/openldap/*.schema %{buildroot}%{_sysconfdir}/openldap/schema/gosa
 
 # Copy files for gosa-dev
 mkdir -p %{buildroot}/usr/bin
@@ -237,43 +215,32 @@ mv update-pdf-help %{buildroot}/usr/bin
 mv dh-make-gosa %{buildroot}/usr/bin
 
 # Copy files for desktop
-mkdir -p %{buildroot}/etc/gosa
+mkdir -p %{buildroot}%{_sysconfdir}/gosa
 mkdir -p %{buildroot}/usr/bin
-mkdir -p %{buildroot}/usr/sbin
+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}/etc/gosa
+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
-mv debian/gosa-desktop.desktop 	%{buildroot}/usr/share/applications
+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
+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
 
-%if %{suse}
-	sed -i 's#/usr/bin/php#/usr/bin/php5#' %{buildroot}/usr/sbin/update-gosa
-	sed -i 's#/usr/bin/php#/usr/bin/php5#' %{buildroot}/usr/sbin/gosa-encrypt-passwords
-	cat <<-EOF >> %{buildroot}%{webconf}/gosa-apache.conf
-	
-	<Directory /usr/share/gosa/html>
-	    Options None
-	    AllowOverride None
-	    Order deny,allow
-	    Allow from all
-	</Directory>
-	EOF
-%endif
-
 # 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
@@ -286,7 +253,7 @@ rm -rf %{buildroot}
 ########################
 
 %post
-/usr/sbin/update-gosa
+%{_sbindir}/update-gosa
 
 ########################
 
@@ -309,11 +276,13 @@ rm -rf %{buildroot}
 %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) /usr/sbin/update-gosa
+%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(644,root,root) /etc/gosa/shells
-%attr(644,root,root) /etc/gosa/encodings
-%attr(755,root,root) /usr/sbin/gosa-encrypt-passwords
+%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
@@ -325,7 +294,7 @@ rm -rf %{buildroot}
 #%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) /etc/gosa/gosa.secrets
+%attr(0700, root,root) %{_sysconfdir}/gosa/gosa.secrets
 
 ########################
 
@@ -341,7 +310,7 @@ rm -rf %{buildroot}
 
 %files desktop
 %defattr(-,root,root)
-/etc/gosa
+%{_sysconfdir}/gosa
 /usr/bin
 /usr/share/pixmaps
 /usr/share/applications
@@ -352,7 +321,7 @@ rm -rf %{buildroot}
 %files schema
 %defattr(-,root,root)
 %doc COPYING AUTHORS README contrib/openldap
-/etc/openldap/schema/gosa
+%{_sysconfdir}/openldap/schema/gosa
 
 ########################
 
diff --git a/gosa-core/redhat/rpm-make-gosa b/gosa-core/redhat/rpm-make-gosa
index 2fd225e..6682168 100755
--- a/gosa-core/redhat/rpm-make-gosa
+++ b/gosa-core/redhat/rpm-make-gosa
@@ -105,13 +105,13 @@ fi
 
 # Move localization
 mkdir -p %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
-if ls ./local/* &> /dev/null ;then
+if ls ./locale/* &> /dev/null ;then
 	mv ./locale/* %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
 fi
 
 # Move plugin itself
-mkdir -p %{buildroot}/usr/share/gosa/plugins/@@NAME@@
-mv ./* %{buildroot}/usr/share/gosa/plugins/@@NAME@@
+mkdir -p %{buildroot}/usr/share/gosa/plugins/
+mv ./* %{buildroot}/usr/share/gosa/plugins/
 
 %post
 /usr/sbin/update-gosa
@@ -124,7 +124,7 @@ rm -rf %{buildroot}
 
 %files
 %defattr(-,root,root)
-%attr (-,root,root) /usr/share/gosa/plugins/@@NAME@@
+%attr (-,root,root) /usr/share/gosa/plugins/
 %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,6 +139,7 @@ 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_setupStep_Checks.inc b/gosa-core/setup/class_setupStep_Checks.inc
index fd8297d..52a619c 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 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_setupStep_Checks.inc 18756 2010-05-26 13:03:14Z 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
@@ -93,10 +93,10 @@ class Step_Checks extends setup_step
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
     /* Check for installed mhash module */
-    $N = msgPool::checkingFor("mhash");
-    $D = _("GOsa requires this module to make use of SSHA encryption.");
-    $S = msgPool::installPhpModule("mhash");
-    $R = is_callable("mhash");
+    $N = msgPool::checkingFor("hash method");
+    $D = _("GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA encryption.");
+    $S = msgPool::installPhpModule("mhash/sha1");
+    $R = is_callable('mhash') || is_callable('sha1');
     $M = FALSE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
diff --git a/gosa-core/setup/class_setupStep_Feedback.inc b/gosa-core/setup/class_setupStep_Feedback.inc
index d655c2e..b2a6d17 100644
--- a/gosa-core/setup/class_setupStep_Feedback.inc
+++ b/gosa-core/setup/class_setupStep_Feedback.inc
@@ -132,7 +132,7 @@ class Step_Feedback  extends setup_step
         }
       }else{
         $str = $this->create_serialise_data_string(); 
-        $feedback_url = $this->feedback_url."?data=".base64_encode($str);
+        $feedback_url = $this->feedback_url."?data=".urlencode(base64_encode($str));
 
         $ret = @fopen($feedback_url,"r");
 
@@ -167,6 +167,7 @@ class Step_Feedback  extends setup_step
     $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__))));
@@ -252,6 +253,7 @@ class Step_Feedback  extends setup_step
       $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);
diff --git a/gosa-core/setup/setup_feedback.tpl b/gosa-core/setup/setup_feedback.tpl
index eb326ba..453760c 100644
--- a/gosa-core/setup/setup_feedback.tpl
+++ b/gosa-core/setup/setup_feedback.tpl
@@ -110,6 +110,14 @@
 				<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>
+		</tr>
 	</table>
 
 	<br><b>{t}LDAP{/t}</b>

-- 
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