[vhffs-dev] [1557] Merging trunk rev 1556 to design branch to limit desync.

[ Thread Index | Date Index | More vhffs.org/vhffs-dev Archives ]


Revision: 1557
Author:   beuss
Date:     2010-03-14 18:55:02 +0100 (Sun, 14 Mar 2010)
Log Message:
-----------
Merging trunk rev 1556 to design branch to limit desync. Subscribe should be functional again. Newsletter is handled. Still some javascript history issues... Will be fixed later

Modified Paths:
--------------
    branches/vhffs-design/ChangeLog
    branches/vhffs-design/Makefile.am
    branches/vhffs-design/configure.ac
    branches/vhffs-design/vhffs-api/src/Vhffs/Conf.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Constants.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Functions.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Group.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Listengine.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Main.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Makefile.am
    branches/vhffs-design/vhffs-api/src/Vhffs/Object.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Cvs.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Git.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Group.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Object.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Pgsql.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Svn.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Tag.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/User.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Cvs.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Git.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Mysql.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Pgsql.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Svn.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Web.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Services/Cron.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Services/MailingList.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Services/Pgsql.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/Services/Svn.pm
    branches/vhffs-design/vhffs-api/src/Vhffs/User.pm
    branches/vhffs-design/vhffs-backend/conf/vhffs.conf.dist.in
    branches/vhffs-design/vhffs-backend/src/Makefile.am
    branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.pl
    branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.sql
    branches/vhffs-design/vhffs-backend/src/pgsql/initdb.sql.in
    branches/vhffs-design/vhffs-compat/Makefile.am
    branches/vhffs-design/vhffs-doc/Makefile.am
    branches/vhffs-design/vhffs-doc/config/exim4-mx2/exim4.conf
    branches/vhffs-design/vhffs-fs/Makefile.am
    branches/vhffs-design/vhffs-fs/vhffsfs.c
    branches/vhffs-design/vhffs-fssync/HOWTOCOMPILEANDRUN
    branches/vhffs-design/vhffs-fssync/vhffsfssync_master.c
    branches/vhffs-design/vhffs-fssync/vhffsfssync_slave.c
    branches/vhffs-design/vhffs-intl/POTFILES.in
    branches/vhffs-design/vhffs-intl/de_DE.po
    branches/vhffs-design/vhffs-intl/en_US.po
    branches/vhffs-design/vhffs-intl/es_ES.po
    branches/vhffs-design/vhffs-intl/fr_FR.po
    branches/vhffs-design/vhffs-intl/update-POTFILES.in.sh
    branches/vhffs-design/vhffs-intl/vhffs.pot
    branches/vhffs-design/vhffs-irc/modobot.pl
    branches/vhffs-design/vhffs-listengine/src/listengine.pl
    branches/vhffs-design/vhffs-packages/Makefile.am
    branches/vhffs-design/vhffs-panel/Makefile.am
    branches/vhffs-design/vhffs-panel/admin/tag/request/details.pl
    branches/vhffs-design/vhffs-panel/admin/tag/request/list.pl
    branches/vhffs-design/vhffs-panel/alert_submit.pl
    branches/vhffs-design/vhffs-panel/cron/prefs.pl
    branches/vhffs-design/vhffs-panel/cvs/prefs.pl
    branches/vhffs-design/vhffs-panel/dns/prefs.pl
    branches/vhffs-design/vhffs-panel/git/prefs.pl
    branches/vhffs-design/vhffs-panel/group/history.pl
    branches/vhffs-design/vhffs-panel/history.pl
    branches/vhffs-design/vhffs-panel/js/anonymous.js
    branches/vhffs-design/vhffs-panel/js/commons.js
    branches/vhffs-design/vhffs-panel/js/public.js
    branches/vhffs-design/vhffs-panel/js/vhffs/Common.js
    branches/vhffs-design/vhffs-panel/mail/prefs.pl
    branches/vhffs-design/vhffs-panel/mailinglist/prefs.pl
    branches/vhffs-design/vhffs-panel/mysql/prefs.pl
    branches/vhffs-design/vhffs-panel/pgsql/create.pl
    branches/vhffs-design/vhffs-panel/pgsql/prefs.pl
    branches/vhffs-design/vhffs-panel/repository/prefs.pl
    branches/vhffs-design/vhffs-panel/show_code.pl
    branches/vhffs-design/vhffs-panel/subscribe.pl
    branches/vhffs-design/vhffs-panel/svn/prefs.pl
    branches/vhffs-design/vhffs-panel/templates/admin/object/edit.tmpl
    branches/vhffs-design/vhffs-panel/templates/content/anonymous/subscribe.tt
    branches/vhffs-design/vhffs-panel/templates/cvs/prefs.tmpl
    branches/vhffs-design/vhffs-panel/templates/git/prefs.tmpl
    branches/vhffs-design/vhffs-panel/templates/group/history.tmpl
    branches/vhffs-design/vhffs-panel/templates/group/history_part.tmpl
    branches/vhffs-design/vhffs-panel/templates/group/prefs.tmpl
    branches/vhffs-design/vhffs-panel/templates/layouts/anonymous.tt
    branches/vhffs-design/vhffs-panel/templates/mail/prefs.tmpl
    branches/vhffs-design/vhffs-panel/templates/mailinglist/list_part.tmpl
    branches/vhffs-design/vhffs-panel/templates/misc/history_part.tmpl
    branches/vhffs-design/vhffs-panel/templates/pgsql/create.tmpl
    branches/vhffs-design/vhffs-panel/templates/user/prefs.tmpl
    branches/vhffs-design/vhffs-panel/user/delete.pl
    branches/vhffs-design/vhffs-panel/user/prefs.pl
    branches/vhffs-design/vhffs-panel/web/prefs.pl
    branches/vhffs-design/vhffs-public/Makefile.am
    branches/vhffs-design/vhffs-public/templates/content/all-groups.tt
    branches/vhffs-design/vhffs-public/templates/content/group-details.tt
    branches/vhffs-design/vhffs-public/templates/content/groupsearch-form.tt
    branches/vhffs-design/vhffs-public/templates/layouts/public.tt
    branches/vhffs-design/vhffs-public/templates/parts/group-general.tt
    branches/vhffs-design/vhffs-public/templates/parts/tags-cloud.tt
    branches/vhffs-design/vhffs-robots/Makefile.am
    branches/vhffs-design/vhffs-robots/misc/awstats.sample
    branches/vhffs-design/vhffs-robots/misc/repository.awstats.sample
    branches/vhffs-design/vhffs-robots/src/cron_scheduler.pl
    branches/vhffs-design/vhffs-robots/src/cvs_create.pl
    branches/vhffs-design/vhffs-robots/src/cvs_delete.pl
    branches/vhffs-design/vhffs-robots/src/git_create.pl
    branches/vhffs-design/vhffs-robots/src/git_delete.pl
    branches/vhffs-design/vhffs-robots/src/git_public.pl
    branches/vhffs-design/vhffs-robots/src/listengine_publicarchives.pl
    branches/vhffs-design/vhffs-robots/src/mail_delete.pl
    branches/vhffs-design/vhffs-robots/src/mail_deleteboxes.pl
    branches/vhffs-design/vhffs-robots/src/mailing.pl
    branches/vhffs-design/vhffs-robots/src/mysql_dump.pl
    branches/vhffs-design/vhffs-robots/src/pgsql_dump.pl
    branches/vhffs-design/vhffs-robots/src/svn_create.pl
    branches/vhffs-design/vhffs-robots/src/svn_delete.pl
    branches/vhffs-design/vhffs-robots/src/svn_public.pl
    branches/vhffs-design/vhffs-shells/tuxshell.c
    branches/vhffs-design/vhffs-test-dependencies.in
    branches/vhffs-design/vhffs-themes/light-grey/img/loading.gif
    branches/vhffs-design/vhffs-themes/light-grey/main.css
    branches/vhffs-design/vhffs-tools/Makefile.am
    branches/vhffs-design/vhffs-tools/mans/Makefile.am
    branches/vhffs-design/vhffs-tools/src/Makefile.am

Added Paths:
-----------
    branches/vhffs-design/debian/
    branches/vhffs-design/vhffs-api/src/Vhffs/Services/Newsletter.pm
    branches/vhffs-design/vhffs-autokill/Makefile.am
    branches/vhffs-design/vhffs-compat/from-4.1-to-4.2.sql
    branches/vhffs-design/vhffs-compat/from-4.2-to-4.3.sql
    branches/vhffs-design/vhffs-doc/config/apache/publicconf
    branches/vhffs-design/vhffs-forum/Makefile.am
    branches/vhffs-design/vhffs-forum/punbb-1.2.22_loginlength.path
    branches/vhffs-design/vhffs-fs/vhffsfs_run
    branches/vhffs-design/vhffs-fssync/Makefile.am
    branches/vhffs-design/vhffs-irc/Makefile.am
    branches/vhffs-design/vhffs-mw/Makefile.am
    branches/vhffs-design/vhffs-packages/mysql40/mysqldb.patch.sql
    branches/vhffs-design/vhffs-packages/mysql40/username-len.patch
    branches/vhffs-design/vhffs-packages/mysql41/mysqldb.patch.sql
    branches/vhffs-design/vhffs-packages/mysql41/username-len.patch
    branches/vhffs-design/vhffs-packages/patches/lighttpd/
    branches/vhffs-design/vhffs-packages/patches/mydns/
    branches/vhffs-design/vhffs-packages/patches/mysql/
    branches/vhffs-design/vhffs-packages/patches/pureftpd/
    branches/vhffs-design/vhffs-packages/patches/suphp/
    branches/vhffs-design/vhffs-packages/patches/tfsyscall/
    branches/vhffs-design/vhffs-public/tagsearch.pl
    branches/vhffs-design/vhffs-robots/misc/awstats_6.95_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.95_vhffs.patch
    branches/vhffs-design/vhffs-robots/src/cvs_public.pl
    branches/vhffs-design/vhffs-stsmon/Makefile.am
    branches/vhffs-design/vhffs-tools/src/vhffs-box-add

Removed Paths:
-------------
    branches/vhffs-design/make_release
    branches/vhffs-design/make_release2
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Captcha/
    branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Captcha.pm
    branches/vhffs-design/vhffs-compat/4.1.sql
    branches/vhffs-design/vhffs-fs/vhffsfs_run.sh
    branches/vhffs-design/vhffs-packages/mysql40/mysql-mysqldb.patch.sql
    branches/vhffs-design/vhffs-packages/mysql40/mysql-username-len.patch
    branches/vhffs-design/vhffs-packages/mysql41/mysql-mysqldb.patch.sql
    branches/vhffs-design/vhffs-packages/mysql41/mysql-username-len.patch
    branches/vhffs-design/vhffs-packages/patches/mod_partialcontentabuse.c
    branches/vhffs-design/vhffs-packages/patches/mydns-1.1.0-7etch1-fix-bug-long-txt-reply.patch
    branches/vhffs-design/vhffs-packages/patches/mysql-5.0.32-username-len.patch
    branches/vhffs-design/vhffs-packages/patches/mysql-5.1.30-username-len.patch
    branches/vhffs-design/vhffs-packages/patches/pureftpd-customerproof-tf.patch
    branches/vhffs-design/vhffs-packages/patches/pureftpd-passivemodeandssl.patch
    branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-directorygroupcheck.patch
    branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-limits.patch
    branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.0-2.6.24.4.patch
    branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.23.16.patch
    branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.25.11.patch
    branches/vhffs-design/vhffs-robots/misc/awstats_6.4_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/awstats_6.5_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/awstats_6.6_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.4_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.5_vhffs.patch
    branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.6_vhffs.patch
    branches/vhffs-design/vhffs-robots/src/cvs_fixperms.pl
    branches/vhffs-design/vhffs-tests/

Property Changed:
----------------
    branches/vhffs-design/
    branches/vhffs-design/vhffs-autokill/
    branches/vhffs-design/vhffs-forum/
    branches/vhffs-design/vhffs-fs/
    branches/vhffs-design/vhffs-fssync/
    branches/vhffs-design/vhffs-irc/
    branches/vhffs-design/vhffs-mw/
    branches/vhffs-design/vhffs-public/groupsearch_form.pl
    branches/vhffs-design/vhffs-public/usersearch_form.pl
    branches/vhffs-design/vhffs-stsmon/

Property changes on: branches/vhffs-design
___________________________________________________________________
Modified: svn:ignore
   - configure
Makefile.in
config.log
depcomp
Makefile
config.status
autom4te.cache
missing
aclocal.m4
vhffs-test-dependencies
install-sh

   + compile
configure
Makefile.in
config.log
depcomp
Makefile
config.status
autom4te.cache
missing
aclocal.m4
vhffs-test-dependencies
install-sh
config.guess
build-arch-stamp
config.sub
build-indep-stamp
vhffs-*.tar.gz
vhffs-*.tar.bz2


Modified: branches/vhffs-design/ChangeLog
===================================================================
--- branches/vhffs-design/ChangeLog	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/ChangeLog	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,3 +1,37 @@
+VHFFS 4.2.1
+	- Fixed failed release (wrong naming scheme, Constants.pm not updated)
+	- Added compat SQL script to fix a design failure in VHFFS database
+	  (from-4.2.0-to-4.2.1.sql)
+
+VHFFS 4.2.0
+	Again, most of changes have been forgot, there was about 300 commits
+	since 4.1.0
+
+	Here are the most important changes:
+
+	- show waiting time before each object on IRC
+	- statistic data (mainly logs) cannot be read by other projects anymore
+	- new Cron module allowing per project periodical tasks (not fully
+	  tested)
+	- new newsletter module (mail sent to all opted-in hosted people)
+	- projects can now be tagged, by users, moderator or admins (tag level
+	  access control availabel)
+	- new public UI (http://projects.vhffs.org), using ajax but with full
+	  support under non javascript enabled browsers
+	- fixed a bunch of bugs (see bugs.vhffs.org)
+	- added some command line tools (need help to finish them!)
+	- download repositories synchronization tools over network, to dispach
+	  uploaded content to download-servers, optimizing QoS (transparent,
+	  POSIX-compliant, small-files optimized)
+	- media wiki auth plugin using VHFFS users database
+	- global mailing list (for important announces)
+	- GPG support in mails sent from the platform (moderation mail can be
+	  signed)
+	- update of patches for software used by VHFFS (suphp, mysql, etc)
+	- PostgreSQL 8.1 compatibility
+	- Debian packaging
+	- Possibility of captcha
+
 VHFFS 4.1.0
 	Almost everything has been rewritten
 

Modified: branches/vhffs-design/Makefile.am
===================================================================
--- branches/vhffs-design/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -2,16 +2,19 @@
 
 SITE_CONFIG_FILE = @CONFDIR@/vhffs.conf
 
-DISTCHECK_CONFIGURE_FLAGS = --enable-doc --enable-panel --enable-public --enable-listengine --enable-robots --enable-backend --enable-compat --enable-jabber --enable-tools --enable-vhffs-fs
+DISTCHECK_CONFIGURE_FLAGS = --enable-extra --enable-panel \
+	--enable-public --enable-listengine --enable-robots --enable-backend \
+	--enable-compat --enable-jabber --enable-tools --enable-vhffs-fs
 
 if INSTALL_VHFFS_FS 
   SUB_VHFFS_FS=vhffs-fs
 endif
 
 SUBDIRS = $(SUB_VHFFS_FS) vhffs-api vhffs-packages vhffs-backend vhffs-doc vhffs-compat vhffs-intl vhffs-jabber vhffs-listengine \
-	vhffs-panel vhffs-public vhffs-robots vhffs-shells vhffs-tests vhffs-themes vhffs-tools
+	vhffs-panel vhffs-public vhffs-robots vhffs-shells vhffs-themes vhffs-tools vhffs-irc vhffs-autokill \
+	vhffs-forum vhffs-fssync vhffs-mw vhffs-stsmon
 
-EXTRA_DIST = config.rpath m4/ChangeLog vhffs-forum vhffs-irc
+EXTRA_DIST = config.rpath m4/ChangeLog
 
 help:
 	@echo "Help for VHFFS makefile"
@@ -30,9 +33,6 @@
 test-deps:
 	$(PERL) ./vhffs-test-dependencies --verbose --verify=all
 	
-test:
-	$(make) vhffs-tests/
-
 dist-hook:
 	rm -rf `find $(distdir)/ -name '.svn'`
 

Modified: branches/vhffs-design/configure.ac
===================================================================
--- branches/vhffs-design/configure.ac	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/configure.ac	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,5 +1,5 @@
 AC_REVISION($Revision: 101 $)dnl
-AC_INIT(vhffs, [4-trunk], [support@xxxxxxxxx])
+AC_INIT(vhffs, [4.3], [support@xxxxxxxxx])
 AC_CONFIG_AUX_DIR([.])
 
 
@@ -123,7 +123,7 @@
 	AC_HELP_STRING([--with-jabber-path=path],
 		[Complete path for jabber pipe (/usr/share/vhffs/jabber)]),
 	JABBERDIR=$withval,
-	JABBERDIR=${prefix}/share/vhffs/jabber
+	JABBERDIR=${prefix}/lib/vhffs/jabber
 )
 AC_SUBST(JABBERDIR)
 
@@ -136,6 +136,16 @@
 )
 AC_SUBST(LEDIR)
 
+dnl IRC bot
+AC_ARG_WITH(irc-bot-path,
+	AC_HELP_STRING([--with-irc-bot-path=path],
+		[Complete path for moderation bot (/usr/lib/vhffs/irc)]),
+	IRCDIR=$withval,
+	IRCDIR=${prefix}/lib/vhffs/irc
+)
+AC_SUBST(IRCDIR)
+
+
 dnl documentation
 AC_ARG_WITH(doc-path,
 	AC_HELP_STRING([--with-doc-path=path],
@@ -155,7 +165,17 @@
 )
 AC_SUBST(COMPATDIR)
 
+dnl Extra misc tools
 
+AC_ARG_WITH(extra-path,
+    AC_HELP_STRING([--with-extra-path=path],
+        [Complete path for misc extra tools (/usr/lib/vhffs/extra)]),
+    EXTRADIR=$withval,
+    EXTRADIR=${prefix}/lib/vhffs/extra
+)
+AC_SUBST(EXTRADIR)
+
+
 dnl setup min uid and gid
 AC_ARG_WITH(min-uid,
 	AC_HELP_STRING([--with-min-uid=uid],
@@ -175,20 +195,6 @@
 
 dnl Modular build (if someone wants to improve...)
 
-#TODO add format/language handling
-AC_ARG_ENABLE(doc,
-    AC_HELP_STRING([--enable-doc],
-        [Enable vhffs documentation, need DocBook and xsltproc[default=no]]))
-
-AM_CONDITIONAL(BUILD_DOC, test "$enable_doc" = yes)
-
-if test "$enable_doc" = "yes"; then
-    AC_PATH_PROG([XSLTPROC], [xsltproc], [none])
-    if test "x$XSLTPROC" = xnone; then
-        AC_MSG_ERROR([You need xsltproc script to build the documentation])
-    fi
-fi
-
 dnl Install panel or not ?
 AC_ARG_ENABLE(panel,
     AC_HELP_STRING([--enable-panel],
@@ -262,6 +268,33 @@
 
 AM_CONDITIONAL(INSTALL_VHFFS_FS, test "$enable_vhffs_fs" = yes)
 
+dnl Install IRC moderation bot or not ?
+AC_ARG_ENABLE(irc,
+    AC_HELP_STRING([--enable-irc],
+        [Enable IRC moderation bot 
+            [default=no]]),
+        enable_irc=$enableval, enable_irc=no)
+
+AM_CONDITIONAL(INSTALL_IRC, test "$enable_irc" = yes)
+
+dnl Install extra tools or not ?
+AC_ARG_ENABLE(extra,
+    AC_HELP_STRING([--enable-extra],
+        [Enable extra tools (autokill, stsmon, etc.)
+            [default=no]]),
+        enable_extra=$enableval, enable_extra=no)
+
+AM_CONDITIONAL(INSTALL_EXTRA, test "$enable_extra" = yes)
+
+dnl Install vhffs-fssync or not ?
+AC_ARG_ENABLE(fssync,
+    AC_HELP_STRING([--enable-fssync],
+        [Enable fssync (useful for download reporisitories.)
+            [default=no]]),
+        enable_fssync=$enableval, enable_fssync=no)
+
+AM_CONDITIONAL(INSTALL_FSSYNC, test "$enable_fssync" = yes)
+
 # -- Starting system checks
 AC_CHECK_HEADERS([stdlib.h string.h sys/time.h syslog.h unistd.h])
 
@@ -287,6 +320,11 @@
     AC_CONFIG_SUBDIRS([vhffs-fs])
 fi
 
+if test "$enable_extra" = yes ; then
+    AM_PATH_GLIB_2_0( 2.0.0, [], [AC_MSG_FAILURE([Glib not found (needed for extra packages)])])
+    AM_PROG_CC_C_O
+fi
+
 AC_CONFIG_FILES([ vhffs-intl/Makefile.in
 	vhffs-test-dependencies],
 	[chmod ug+x $ac_file]
@@ -301,26 +339,30 @@
 	vhffs-api/Makefile
 	vhffs-api/src/Makefile
 	vhffs-api/src/Vhffs/Makefile
+	vhffs-autokill/Makefile
 	vhffs-backend/Makefile
 	vhffs-backend/src/Makefile
 	vhffs-compat/Makefile
 	vhffs-doc/Makefile
+	vhffs-forum/Makefile
+	vhffs-fssync/Makefile
 	vhffs-jabber/Makefile
 	vhffs-listengine/Makefile
 	vhffs-listengine/src/Makefile
-    vhffs-packages/Makefile
+	vhffs-mw/Makefile
+	vhffs-packages/Makefile
 	vhffs-panel/Makefile
 	vhffs-panel/templates/Makefile
 	vhffs-public/Makefile
 	vhffs-public/templates/Makefile
 	vhffs-robots/Makefile
 	vhffs-shells/Makefile
-	vhffs-tests/Makefile
-	vhffs-tests/src/Makefile
+	vhffs-stsmon/Makefile
 	vhffs-themes/Makefile
 	vhffs-tools/Makefile
 	vhffs-tools/src/Makefile
-    vhffs-tools/mans/Makefile
+	vhffs-irc/Makefile
+	vhffs-tools/mans/Makefile
 	],
 )
 


Property changes on: branches/vhffs-design/debian
___________________________________________________________________
Added: svn:ignore
   + *.debhelper.log
*.substvars
tmp
files
indep
vhffs
vhffs-fs
vhffs-extra
vhffs-api
vhffs-common
vhffs-jabber
vhffs-l10n
vhffs-listengine
vhffs-panel
vhffs-panel-public
vhffs-panel-members
vhffs-robots
vhffs-shells
vhffs-tools
vhffs-doc


Deleted: branches/vhffs-design/make_release
===================================================================
--- branches/vhffs-design/make_release	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/make_release	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,79 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use IO::Handle;
-
-my $version = "4.0-RC5";
-my @files_to_delete = qw(backup.sh fixperm.sh);
-my @files_to_package = qw( TODO Makefile Changelog AUTHORS vhffs-api vhffs-backend vhffs-doc vhffs-intl vhffs-listengine vhffs-panel vhffs-robots vhffs-shells debian vhffs-tools);
-
-sub treat_dir
-{
-	my $direct = shift;
-
-	opendir( DIR , $direct );
-	my $file;
-	my @files = readdir( DIR );
-	foreach $file ( @files)
-	{
-		next if( ( $file eq "." ) || ( $file eq "..") );
-		my $complete = $direct."/".$file;
-
-		if( -f $complete )
-		{
-			if( $file =~ /.*~$/)
-			{
-				unlink( $complete );
-			}
-
-			foreach( @files_to_delete )
-			{
-				if( $file eq $_ )
-				{
-					unlink( $file );
-				}
-			}
-		}
-	
-		if( -d $complete )
-		{
-			foreach( @files_to_delete )
-			{
-				if( $file eq $_ )
-				{
-					system("rm -rf $complete");
-				}
-			}
-
-			if( $file eq "CVS" )
-			{
-					system("rm -rf $complete");
-			}
-			else
-			{
-				treat_dir( $complete );
-			}
-		}
-	}
-
-	closedir( DIR );
-}
-
-sub tar_distro
-{
-	my $output_file = "vhffs".$version.".tgz";
-	my $files;
-	foreach( @files_to_package )
-	{
-		$files .= " $_";
-	}
-	my $commande = "tar cvvfz";
-	my $total = $commande." ".$output_file." ".$files ." 1>/dev/null 2>/dev/null";
-	system( $total );
-}
-
-my $directory = ".";
-
-treat_dir( $directory );
-tar_distro( $directory );
-

Deleted: branches/vhffs-design/make_release2
===================================================================
--- branches/vhffs-design/make_release2	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/make_release2	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,145 +0,0 @@
-#!/usr/bin/perl -w
-
-#Script to build VHFFS release
-
-use strict;
-use File::Copy;
-use IO::Handle;
-
-my $VERSION = "4.0.0";
-my @files_to_delete = qw(backup.sh fixperm.sh make_release make_release2 svn-commit);
-my @files_to_package = qw( AUTHORS Changelog COPYING INSTALL Makefile README Releases.note vhffs-api vhffs-backend vhffs-doc vhffs-forum vhffs-intl vhffs-irc vhffs-jabber vhffs-listengine vhffs-packages vhffs-panel vhffs-rfc vhffs-robots vhffs-shells vhffs-tools );
-
-my $VERBOSE = 1;
-
-sub treat_dir
-{
-	my $direct 		= shift;
-	my $work 		= shift;
-	my $include;
-	opendir( DIR , $direct );
-	my $file;
-	my @files = readdir( DIR );
-	foreach $file ( @files)
-	{
-		$include = 1;
-		next if( ( $file eq "." ) || ( $file eq "..") );
-		my $complete = $direct."/".$file;
-
-		if( -f $complete )
-		{
-			if( $file =~ /.*~$/)
-			{
-				print "does not include $complete\n" if( $VERBOSE == 1 );
-				$include = 0;
-			}
-
-			foreach( @files_to_delete )
-			{
-				if( ( $file =~ /$_/ ) )
-				{
-					print "does not include $complete\n" if( $VERBOSE == 1 );
-					$include = 0;
-				}
-			}
-
-			if( $include == 1 )
-			{
-				copy( $complete , $work."/".$file );
-			}
-		}
-	
-		if( -d $complete )
-		{
-			foreach( @files_to_delete )
-			{
-				if( $file eq $_ )
-				{
-					$include = 0;
-					print "does not include $complete\n" if( $VERBOSE == 1 );
-				}
-			}
-
-			if( $file eq "CVS" or $file eq ".svn")
-			{
-				$include = 0;
-				print "does not include $complete\n" if( $VERBOSE == 1 );
-			}
-			else
-			{
-				if( $include == 1)
-				{
-					print "Entering dir $complete\n" if( $VERBOSE == 1 );
-					mkdir( $work."/".$file );
-					treat_dir( $complete , $work."/".$file )
-				}
-			}
-		}
-	}
-
-	closedir( DIR );
-}
-
-sub tar_distro
-{
-	my $work	= 	shift;
-	my $tmp		=	shift;
-	my $output_file = $tmp."/vhffs-".$VERSION.".tar.gz";
-	my $files;
-	foreach( @files_to_package )
-	{
-		$files .= " $_";
-	}
-	my $commande = "tar cvvfz";
-	my $total = $commande." ".$output_file." vhffs-".$VERSION." 1>/dev/null 2>/dev/null";
-	system( "cd ".$work." && cd .. && " . $total );
-	system( "rm -rf $work");
-	return $output_file;
-}
-
-
-sub create_workdir
-{
-	my $tmp;
-
-	if( defined $ENV{'TMP'} )
-	{
-		$tmp = ( $ENV{'TMP'}."/"."vhffs-".$VERSION."/");
-	}
-	$tmp = ("/tmp/"."vhffs-".$VERSION."/");
-
-	system("rm -rf $tmp");
-	mkdir( $tmp ) if( ! -d $tmp );
-	return( $tmp );
-}
-
-
-##################
-# Main program
-#################
-
-my $directory = ".";
-my $ofile;
-
-my $tmpdir;
-
-if( defined $ENV{'TMP'} )
-{
-	$tmpdir = $ENV{'TMP'};
-}
-else
-{
-	$tmpdir = "/tmp/";	
-}
-
-my $sourcesdir = ".";
-
-my $workdir = create_workdir();
-
-unlink( $sourcesdir ."/debian/files") if( -f $sourcesdir."/debian/files");
-treat_dir( $sourcesdir , $workdir );
-$ofile = tar_distro( $workdir , $tmpdir );
-
-print "VHFFS distribution available in: " . $ofile . "\n";
-
-

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Conf.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Conf.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Conf.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -91,6 +91,11 @@
 	return $Config{'panel'};
 }
 
+sub get_gpg
+{
+	return $Config{'gpg'};
+}
+
 sub get_database
 {
 	return $Config{'database'};

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Constants.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Constants.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Constants.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -6,8 +6,8 @@
 
 use constant
 {
-    VHFFS_VERSION => '4.2-alpha (Revision: %VHFFS_REVISION%)',
-    VHFFS_RELEASE_NAME => "platypus",
+    VHFFS_VERSION => '4.3-alpha (Revision: %VHFFS_REVISION%)',
+    VHFFS_RELEASE_NAME => "tobedefined",
     
     WAITING_FOR_VALIDATION => 1,
     VALIDATION_REFUSED => 2,

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Functions.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Functions.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Functions.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -188,39 +188,38 @@
 	return( quotemeta( $string ) );
 }
 
+=head2 chmod_recur
 
-sub chmod_recur
-{
-    my $dir;
-    my $fmod;
-    my $dmod;
+    Vhffs::Functions::chmod_recur($dir, $fmod, $dmod);
 
-    $dir  = shift;
-    $fmod = shift;
-    $dmod = shift;
+Changes permissions on files and directories recursively.
+C<$fmod> and C<$dmod> are the mod to apply to files and
+directory, respectively. See the documentation of the
+original C<chmod> function for more information.
 
-    if( -d $dir )
-    {
-	chmod( $dmod , $dir );
-	opendir( DIR , $dir );
-	my @files = readdir( DIR );
-	my $file;
-	my $cfile;
+=cut
 
-	foreach $file ( @files )
-	{
-	    next if( ( $file eq '.' ) or ( $file eq '..' ) );
-	    $cfile = $dir . "/" . $file;
-	    chmod_recur( $cfile , $fmod , $dmod );
-	}
+sub chmod_recur {
+    my ($dir, $fmod, $dmod) = @_;
 
-	close( DIR );
+    my @files = ( $dir );
+    my $file;
+
+    while( $file = shift @files ) {
+        if( -d $file ) {
+            chmod( $dmod, $file );
+            opendir DIRECTORY, $file;
+            my @content = readdir( DIRECTORY );
+            closedir( DIRECTORY );
+            foreach my $item ( @content ) {
+                next if( $item eq '' or $item eq '..' or $item eq '.' );
+                push @files, $file.'/'.$item;
+            }
+        }
+        else {
+            chmod( $fmod, $file );
+        }
     }
-    elsif( -f $dir )
-    {
-	chmod( $fmod , $dir );
-    }
-    
 }
 
 # Change the owner and groupe recursivly for a dir
@@ -229,27 +228,23 @@
     my $dir = shift;
     my $uid = shift;
     my $gid = shift;
+
+    my @files = ($dir);
+    my $f;
     
-    my $value; 
-    if( -f $dir )
-    {
-	chown( $uid , $gid , $dir );
+    while( defined($f = shift @files) ) {
+        chown( $uid, $gid, $f );
+        if( -d $f ) {
+            opendir( DIRECTORY, $f );
+            my @content = readdir( DIRECTORY );
+            closedir( DIRECTORY );
+            foreach my $item ( @content ) {
+                next if( $item eq '' or $item eq '..' or $item eq '.' );
+                push @files, $f.'/'.$item;
+            }
+        }
     }
-    elsif( -d $dir )
-    {
-	chown( $uid , $gid , $dir );
-	opendir( DIRECTORY , $dir );
-	my @files = readdir( DIRECTORY );
-	foreach $value ( @files )
-	{
-	     next if( $value eq "" );
-	    next if( $value eq ".." );
-	    next if( $value eq "." );
-	    change_owner_recur( $dir . "/" . $value , $uid , $gid);
-	}
-	closedir( DIRECTORY );
-    }
-    
+
     return 1;
 }
 
@@ -260,7 +255,9 @@
 	use MIME::Lite;
 	use MIME::Base64;
 	use Encode;
+	use Crypt::GPG;
 
+	my $vhffs = shift;
 	my $from = shift;
 	my $to = shift;
 	my $mailtag = shift;
@@ -268,23 +265,76 @@
 	my $message = shift;
 	my $precedence = shift;
 
-	$subject = $mailtag.' '.$subject if( defined $mailtag );
+	chomp $message;
+	$message .= "\n";
+
+	my ( $gpgbin , $gpgconf );
+	if( defined $vhffs->get_config->get_gpg && defined $vhffs->get_config->get_gpg->{'gpg_bin'} ) {
+		$gpgbin = $vhffs->get_config->get_gpg->{'gpg_bin'};
+		my ( $cleanfrom ) = ( $from =~ /<(.+)>/ );
+		$gpgconf = $vhffs->get_config->get_gpg->{ $cleanfrom || $from };
+	}
+
+	$subject = $mailtag.' '.$subject if defined $mailtag;
 	$subject = Encode::encode_utf8( $subject );
-	$subject = '=?UTF-8?B?'.encode_base64( $subject , '' ).'?=';
+	$subject = '=?UTF-8?B?'.MIME::Base64::encode_base64( $subject , '' ).'?=';
 	$message = Encode::encode_utf8( $message );
 
-	my $msg = new MIME::Lite
-		From    => $from,
-		To      => $to,
-		Subject => $subject,
-		Type    => 'text/plain; charset=utf-8',
-		Encoding => '8bit',
-		Data    => $message;
+	if( defined $gpgconf ) {
 
-	$msg->add('Precedence' => $precedence) if( defined $precedence );
+		my $msg = new MIME::Lite(
+			From        => $from,
+			To          => $to,
+			Subject     => $subject,
+			Type        => 'multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"',
+			Disposition => 'inline'
+			);
+		$msg->add('Precedence' => $precedence) if defined $precedence;
 
-	$msg->send;
+		my $data = $msg->attach(
+			Type => 'text/plain; charset=utf-8',
+			Encoding => '8bit',
+			Disposition => 'inline',
+			Data => $message
+			);
 
+		$ENV{'GNUPGHOME'} = $gpgconf->{'gnupghome'};
+		my $gpg = new Crypt::GPG;
+		$gpg->gpgbin( $gpgbin );
+		$gpg->secretkey( $gpgconf->{'secretkey'} );
+		$gpg->passphrase( $gpgconf->{'passphrase'} );
+		my $sign;
+		eval{ $sign = $gpg->sign( $data->as_string ); };
+		if( defined $sign ) {
+			my $signature = $msg->attach(
+				Type => 'application/pgp-signature; name="signature.asc"',
+				Encoding => '7bit',
+				Disposition => 'inline',
+				Data => $sign
+				);
+			$signature->attr( 'content-description' => 'Digital signature' );
+
+			$msg->send;
+		} else {
+			undef $gpgconf;
+		}
+	}
+
+	unless( defined $gpgconf ) {
+
+		my $msg = new MIME::Lite(
+			From    => $from,
+			To      => $to,
+			Subject => $subject,
+			Type    => 'text/plain; charset=utf-8',
+			Encoding => '8bit',
+			Data    => $message
+			);
+		$msg->add('Precedence' => $precedence) if defined $precedence;
+
+		$msg->send;
+	}
+
 	return 1;
 }
 
@@ -446,6 +496,10 @@
 sub valid_mail
 {
 	my $mail = shift;
+
+	my ( $localpart , $domain ) = ( $mail =~ /(.+)\@(.+)/ );
+	return 0 unless Vhffs::Functions::check_domain_name( $domain );
+
 	use Email::Valid;
 	return 1 if( Email::Valid->rfc822 ( $mail ) );
 	return 0;
@@ -489,7 +543,7 @@
 		$content .= $line;
 	}
 
-	if( send_mail( $keys->{FROM} , $user->get_mail , $keys->{SUBJECT} , $content , $vhffs ) != 1 )
+	if( send_mail( $vhffs , $keys->{FROM} , $user->get_mail , $keys->{SUBJECT} , $content ) != 1 )
 	{
 		return( -2 );
 	}

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Group.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Group.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Group.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -633,7 +633,7 @@
 {
 	my $self = shift;
 
-	my $sql = 'SELECT o.object_id,o.type,h.history_id,h.date,h.message FROM vhffs_history h INNER JOIN vhffs_object o ON o.object_id=h.object_id WHERE o.owner_gid=? ORDER BY date DESC';
+	my $sql = 'SELECT o.object_id,o.type,h.history_id,h.date,h.message,source.username as source FROM vhffs_history h INNER JOIN vhffs_object o ON o.object_id=h.object_id LEFT JOIN vhffs_users source ON source.uid = h.source_uid WHERE o.owner_gid=? ORDER BY date DESC';
     my $dbh = $self->get_db_object;
     return $dbh->selectall_arrayref($sql, {Slice => {}}, $self->{gid});
 }

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Listengine.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Listengine.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Listengine.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -298,7 +298,7 @@
     push( @result , gettext( "Unknow command\n\n" ) );
     push( @result , gettext( "Please read help of listengine\n" )  );
     push( @result , gettext( "Send an email with the subject \"help\" to the following address: \n" )  );
-    push( @result , sprintf( "%s\@%s" , $list->get_localpart , $list->get_domain) );
+    push( @result , sprintf( "%s-request\@%s" , $list->get_localpart , $list->get_domain) );
     push( @result , "\n" );
     push( @result , "---\n" );
     push( @result , "Listengine 4.0\n" );

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Main.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Main.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Main.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,8 +42,11 @@
     VHFFSCONFPATH => "/etc/vhffs/vhffs.conf"
 };
 
+# Current user UID. On the panel it would be
+# the currently logged user, on IRC moderation
+# the user who talk to the bot.
+my $current_user_uid;
 
-
 sub init
 {
 	my $self;
@@ -128,6 +131,12 @@
     }
 }
 
+sub current_user_uid
+{
+	$current_user_uid = $_[0] if(defined $_[0]);
+	return $current_user_uid;
+}
+
 1;
 
 __END__
@@ -164,6 +173,7 @@
 
 is_valid() : returns 1 if the object is valid (good database connection, ...), 0 otherwise
 
+current_user_uid([$uid]): get or set the current user's UID.
 
 =head1 SEE ALSO
 Vhffs::User, Vhffs::Group

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -24,7 +24,6 @@
 	Panel/Admin.pm \
 	Panel/Anonymous.pm \
 	Panel/Avatar.pm \
-	Panel/Captcha.pm \
 	Panel/Commons.pm \
 	Panel/Cvs.pm \
 	Panel/DNS.pm \
@@ -62,6 +61,7 @@
 	Services/Web.pm \
 	Services/Mail.pm \
 	Services/MailingList.pm \
+	Services/Newsletter.pm \
 	Services/MailUser.pm \
 	Services/MailGroup.pm \
 	Services/Mysql.pm \
@@ -73,46 +73,7 @@
 	Tag/Category.pm \
 	Tag/Request.pm
 
-files_no_sed = \
-	Panel/Captcha/images/a.png \
-	Panel/Captcha/images/b.png \
-	Panel/Captcha/images/c.png \
-	Panel/Captcha/images/d.png \
-	Panel/Captcha/images/e.png \
-	Panel/Captcha/images/f.png \
-	Panel/Captcha/images/g.png \
-	Panel/Captcha/images/h.png \
-	Panel/Captcha/images/i.png \
-	Panel/Captcha/images/j.png \
-	Panel/Captcha/images/k.png \
-	Panel/Captcha/images/l.png \
-	Panel/Captcha/images/m.png \
-	Panel/Captcha/images/n.png \
-	Panel/Captcha/images/o.png \
-	Panel/Captcha/images/p.png \
-	Panel/Captcha/images/q.png \
-	Panel/Captcha/images/r.png \
-	Panel/Captcha/images/s.png \
-	Panel/Captcha/images/t.png \
-	Panel/Captcha/images/u.png \
-	Panel/Captcha/images/v.png \
-	Panel/Captcha/images/w.png \
-	Panel/Captcha/images/x.png \
-	Panel/Captcha/images/y.png \
-	Panel/Captcha/images/z.png \
-	Panel/Captcha/images/2.png \
-	Panel/Captcha/images/3.png \
-	Panel/Captcha/images/4.png \
-	Panel/Captcha/images/5.png \
-	Panel/Captcha/images/6.png \
-	Panel/Captcha/images/7.png \
-	Panel/Captcha/images/8.png \
-	Panel/Captcha/images/9.png \
-	Panel/Captcha/images/background1.png \
-	Panel/Captcha/images/background2.png \
-	Panel/Captcha/images/background3.png \
-	Panel/Captcha/images/background4.png \
-	Panel/Captcha/images/background5.png
+files_no_sed = 
 
 nobase_dist_api_DATA = \
 	$(files_do_sed) \

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Object.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Object.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Object.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -347,13 +347,15 @@
 
 sub add_history
 {
+	use Vhffs::Main;
 	my $self = shift;
 	my $message = shift;
+	my $source = Vhffs::Main::current_user_uid;
 	$message = $message;
 
-	my $query = 'INSERT INTO vhffs_history(object_id, date, message)  VALUES(?, ?, ?)';
+	my $query = 'INSERT INTO vhffs_history(object_id, date, message, source_uid)  VALUES(?, ?, ?, ?)';
 	my $request = $self->{'db'}->prepare( $query );
-	$request->execute( $self->{'object_id'}, time(), $message ) or return -2;
+	$request->execute( $self->{'object_id'}, time(), $message, $source ) or return -2;
 
 	return $self->{'db'}->last_insert_id(undef, undef, 'vhffs_history', undef);;
 }
@@ -365,7 +367,7 @@
 	my $self = shift;
 
     my $dbh = $self->get_db_object;
-    my $sql = 'SELECT history_id, message, date FROM vhffs_history WHERE object_id = ? ORDER BY date DESC';
+    my $sql = 'SELECT history_id, message, date, source.username as source FROM vhffs_history h LEFT JOIN vhffs_users source ON source.uid = h.source_uid WHERE h.object_id = ? ORDER BY date DESC';
     return $dbh->selectall_arrayref($sql, {Slice => {}}, $self->{object_id});
 }
 
@@ -386,6 +388,7 @@
 sub moderate_accept
 {
 	my $self = shift;
+	my $comments = shift;
 
 	my $vhffs = $self->{main};
 	my $user = $self->get_user;
@@ -400,18 +403,32 @@
 	my $prevlocale = setlocale( LC_ALL );
 	setlocale( LC_ALL , $user->get_lang );
 
-	my $mail = sprintf(
-		gettext( "Hello %s %s,\n\nYour request for a %s (%s) on %s was accepted.\nPlease wait while we are creating your object.\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s" ) ,
+	my $mail;
 
+	if(defined $comments) {
+		$mail = sprintf(
+			gettext( "Hello %s %s,\n\nYour request for a %s (%s) on %s was accepted, however, moderators wanted to add some precision:\n%s.\nPlease wait while we are creating your object.\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s\n" ) ,
 		$user->get_firstname,
 		$user->get_lastname,
 		Vhffs::Functions::type_string_from_type_id( $self->get_type ),
 		$self->get_label,
 		$vhffs->get_config->get_host_name,
+		$comments,
 		$vhffs->get_config->get_host_name,
 		$vhffs->get_config->get_panel->{url}
 		);
-
+	} else {
+		$mail = sprintf(
+			gettext( "Hello %s %s,\n\nYour request for a %s (%s) on %s was accepted.\nPlease wait while we are creating your object.\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s\n" ) ,
+		$user->get_firstname,
+		$user->get_lastname,
+		Vhffs::Functions::type_string_from_type_id( $self->get_type ),
+		$self->get_label,
+		$vhffs->get_config->get_host_name,
+		$vhffs->get_config->get_host_name,
+		$vhffs->get_config->get_panel->{url}
+		);
+	}
 	my $subject = sprintf(
 		gettext('Your request for a %s (%s) on %s was accepted'), 
 		Vhffs::Functions::type_string_from_type_id( $self->get_type ),
@@ -419,7 +436,7 @@
 		$vhffs->get_config->get_host_name
 		);
 
-	Vhffs::Functions::send_mail( $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
+	Vhffs::Functions::send_mail( $vhffs , $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
 
 	setlocale( LC_ALL , $prevlocale );
 
@@ -450,7 +467,7 @@
 	setlocale( LC_ALL , $user->get_lang );
 
 	my $mail = sprintf(
-		gettext( "Hello %s %s,\n\nYour request for a %s (%s) on %s was refused.\n\nThe reason of refusal given by moderators is:\n%s\n\nYou can change the description and submit it again for moderation on the\npanel. You can delete this object on the panel if you have made\na mistake. Don't be upset, if you don't understand why your request has\nbeen refused, just reply to this email !\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s" ) ,
+		gettext( "Hello %s %s,\n\nYour request for a %s (%s) on %s was refused.\n\nThe reason of refusal given by moderators is:\n%s\n\nYou can change the description and submit it again for moderation on the\npanel. You can delete this object on the panel if you have made\na mistake. Don't be upset, if you don't understand why your request has\nbeen refused, just reply to this email !\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s\n" ) ,
 
 		$user->get_firstname,
 		$user->get_lastname,
@@ -469,7 +486,7 @@
 		$vhffs->get_config->get_host_name
 		);
 
-	Vhffs::Functions::send_mail( $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
+	Vhffs::Functions::send_mail( $vhffs , $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
 
 	setlocale( LC_ALL , $prevlocale );
 
@@ -496,7 +513,7 @@
 	setlocale( LC_ALL , $user->get_lang );
 
 	my $mail = sprintf(
-		gettext( "Hello %s %s,\n\nYour %s (%s) on %s has been deleted.\n\nThis is because it have been refused a long time ago and you didn't\nsubmit an update since.\n\nFor reminder, the reason of refusal was:\n%s\n\nDon't be upset, submit it again if you forgot to update it in time.\nIf you need further information, just reply to this email !\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s" ) ,
+		gettext( "Hello %s %s,\n\nYour %s (%s) on %s has been deleted.\n\nThis is because it have been refused a long time ago and you didn't\nsubmit an update since.\n\nFor reminder, the reason of refusal was:\n%s\n\nDon't be upset, submit it again if you forgot to update it in time.\nIf you need further information, just reply to this email !\n\nCheers,\nThe moderator team\n\n---------\n%s\n%s\n" ) ,
 
 		$user->get_firstname,
 		$user->get_lastname,
@@ -515,7 +532,7 @@
 		$vhffs->get_config->get_host_name
 		);
 
-	Vhffs::Functions::send_mail( $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
+	Vhffs::Functions::send_mail( $vhffs , $vhffs->get_config->get_moderator_mail , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
 
 	setlocale( LC_ALL , $prevlocale );
 

Deleted: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Captcha.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Captcha.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Captcha.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,737 +0,0 @@
-package Vhffs::Panel::Captcha;
-
-# $Source: /usr/local/cvs/Captcha/pm/Captcha.pm,v $ 
-# $Revision: 1.23 $
-# $Date: 2003/12/18 04:44:34 $
-# $Author: jmiller $ 
-# License: GNU General Public License Version 2 (see license.txt)
-
-use 5.00503;
-use strict;
-use GD;
-use Digest::MD5 qw(md5_hex);
-use Carp;
-# these are used to find default images dir
-use File::Basename;
-use File::Spec;
-
-use vars qw($VERSION);
-
-$VERSION = sprintf "%d.%03d", q$Revision: 1.23 $ =~ /(\d+)/g;
-
-# get our file name, used to find the default images
-my $default_images_folder;
-{
-	my $this_file = __FILE__;
-	my $this_dir = dirname($this_file);
-	my @this_dirs = File::Spec->splitdir( $this_dir );
-	$default_images_folder = File::Spec->catdir(@this_dirs,'Captcha','images');
-}
-
-my $num_of_soundfile_versions = 10;
-
-# Preloaded methods go here.
-
-sub new
-{
-	my ($this) = shift;
-	my $class = ref($this) || $this;
-	my $self = {};
-	bless( $self, $class );
-		
-	my %opts = @_;
-
-	# default character source images
-	my $type = defined($opts{type}) ? $opts{type} : 'image';
-	$self->type($type);
-	my $src_images = (defined($opts{images_folder}) && (-d $opts{images_folder}))
-	                 ? $opts{images_folder} : $default_images_folder;
-	$self->images_folder($src_images);
-
-	my $debug = (defined($opts{debug}) && ($opts{debug} =~ /^\d+$/))
-	            ? $opts{debug} : 0;
-	$self->debug($debug);
-	$self->data_folder($opts{data_folder}) if($opts{data_folder});
-	$self->output_folder($opts{output_folder}) if($opts{output_folder});
-	my $expire = (defined($opts{expire}) && ($opts{expire} =~ /^\d+$/))
-	             ? $opts{expire} : 300;
-	$self->expire($expire);
-	my $width = (defined($opts{width}) && ($opts{width} =~ /^\d+$/))
-	             ? $opts{width} : 25;
-	$self->width($width);
-	my $height = (defined($opts{height}) && ($opts{height} =~ /^\d+$/))
-	             ? $opts{height} : 35;
-	$self->height($height);
-	my $keep_failures = (defined($opts{keep_failures}) && $opts{keep_failures})
-	                    ? 1 : 0;
-	$self->keep_failures($keep_failures);
-	
-	# create a random seed if perl version less than 5.004
-	if ($] < 5.005)
-	{	# have to seed rand. using a fairly good seed
-		srand( time() ^ ($$ + ($$ << 15)) );
-	}	# else, we're just going to let perl do it's thing
-
-	return $self;
-}
-
-sub type
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		if ($_[0] =~ /^(jpg|png|gif|image|picture)$/i)
-		{
-			$self->{_type} = 'image';
-		} elsif ($_[0] =~ /^(sound|snd|wav|mp3)$/i) {
-			$self->{_type} = 'sound';
-		}
-		return $self->{_type};
-	} else {
-		return $self->{_type};
-	}
-}
-
-sub debug
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		$self->{_debug} = $_[0];
-		return $self->{_debug};
-	} else {
-		return $self->{_debug};
-	}
-}
-
-sub keep_failures
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		croak "keep_failures must be a zero or one" unless ($_[0] =~ /^[01]$/);
-		$self->{_keep_failures} = $_[0];
-		return $self->{_keep_failures};
-	} else {
-		return $self->{_keep_failures};
-	}
-}
-
-sub expire 
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		croak "expire must be a possitive integer" unless ($_[0] =~ /^\d+$/);
-		$self->{_expire} = $_[0];
-		return $self->{_expire};
-	} else {
-		return $self->{_expire};
-	}
-}
-
-sub width 
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		croak "width must be a possitive integer" unless ($_[0] =~ /^\d+$/);
-		$self->{_width} = $_[0];
-		return $self->{_width};
-	} else {
-		return $self->{_width};
-	}
-}
-
-sub height 
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)
-	{
-		croak "height must be a possitive integer" unless ($_[0] =~ /^\d+$/);
-		$self->{_height} = $_[0];
-		return $self->{_height};
-	} else {
-		return $self->{_height};
-	}
-}
-
-sub output_folder
-{
-	
-	ref(my $self = shift) or croak "instance variable needed";
-	if (@_)  
-	{   # it's a setter
-		$self->{_output_folder} = $_[0];
-		return $self->{_output_folder};
-	} else {
-		return $self->{_output_folder};
-	}
-}
-
-sub images_folder
-{
-   ref(my $self = shift) or croak "instance variable needed";
-   if (@_)
-   {   # it's a setter
-       $self->{_images_folder} = $_[0];
-       return $self->{_images_folder};
-   } else {
-       return $self->{_images_folder};
-   }
-}
-
-sub data_folder
-{
-   ref(my $self = shift) or croak "instance variable needed";
-   if (@_)
-   {   # it's a setter
-       $self->{_data_folder} = $_[0];
-       return $self->{_data_folder};
-   } else {
-       return $self->{_data_folder};
-   }
-}
-
-
-sub check_code 
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my ($code, $crypt) = @_;
-
-	$code = lc($code);
-	
-	warn "$code  $crypt\n" if($self->debug() >= 2);
-
-	my $current_time = time;
-	my $return_value = 0;
-	my $database_file = File::Spec->catfile($self->data_folder(),"codes.txt");
-
-	# create database file if it doesn't already exist
-	$self->_touch_file($database_file);
-
-	# zeros (0) and ones (1) are not part of the code
-	# they could be confused with (o) and (l), so we swap them in
-	$code =~ tr/01/ol/;
-
-	my $md5 = md5_hex($code);
-	
-	# pull in current database
-	warn "Open File: $database_file\n" if($self->debug() >= 2);
-	open (DATA, "<$database_file")  or die "Can't open File: $database_file\n";
-		flock DATA, 1;  # read lock
-		my @data=<DATA>;
-	close(DATA);
-	warn "Close File: $database_file\n" if($self->debug() >= 2);
-
-	my $passed=0;
-	# $new_data will hold the part of the database we want to keep and 
-	# write back out
-	my $new_data = "";
-	my $found;
-	foreach my $line (@data) 
-	{
-		$line =~ s/\n//;
-		my ($data_time,$data_code) = split(/::/,$line);
-		
-		my $png_file = File::Spec->catfile($self->output_folder(),$data_code . ".png");
-		if ($data_code eq $crypt)
-		{
-			# the crypt was found in the database
-			if (($current_time - $data_time) > $self->expire())
-			{ 
-				 warn "Crypt Found But Expired\n" if($self->debug() >= 2);
-				# the crypt was found but has expired
-				$return_value = -1;
-			} else {
-				warn "Match Crypt in File Crypt: $crypt\n" if($self->debug() >= 2);
-				$found = 1;
-			}
-			if ( ($md5 ne $crypt) && ($return_value != -1) && $self->keep_failures())
-			{	# solution was wrong, not expired, and we're keeping failures
-				$new_data .= $line."\n";
-			} else {
-				# remove the found crypt so it can't be used again
-				warn "Unlink File: " . $png_file . "\n" if($self->debug() >= 2);
-				unlink($png_file) or carp("Can't remove png file [$png_file]\n");
-			}
-		} elsif (($current_time - $data_time) > $self->expire()) {
-			# removed expired crypt
-			warn "Removing Expired Crypt File: " . $png_file ."\n" if($self->debug() >= 2);
-			unlink($png_file) or carp("Can't remove png file [$png_file]\n");
-		} else {
-			# crypt not found or expired, keep it
-			$new_data .= $line."\n";
-		}
-	}
-
-	if ($md5 eq $crypt)
-	{
-		warn "Match: " . $md5 . " And " . $crypt . "\n" if($self->debug() >= 2);
-		# solution was correct
-		if ($found)
-		{
-			# solution was correct and was found in database - passed
-			$return_value = 1;
-		} elsif (!$return_value) {
-			# solution was not found in database
-			$return_value = -2;
-		}
-	} else {
-		warn "No Match: " . $md5 . " And " . $crypt . "\n" if($self->debug() >= 2);
-		# incorrect solution
-		$return_value = -3;
-	}
-
-	# update database
-	open(DATA,">$database_file")  or die "Can't open File: $database_file\n";
-		flock DATA, 2; # write lock 
-		print DATA $new_data;
-	close(DATA);
-	
-	return $return_value;
-}
-
-sub _touch_file
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $file = shift;
-	# create database file if it doesn't already exist
-	if (! -e $file)
-	{
-		open (DATA, ">>$file") or die "Can't create File: $file\n";
-		close(DATA);
-	}
-}
-
-sub generate_random_string
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $length = shift;
-
-	# generate a new code
-	my $code = "";
-	for(my $i=0; $i < $length; $i++)
-	{ 
-		my $char;
-		my $list = int(rand 4) +1;
-		if ($list == 1)
-		{ # choose a number 1/4 of the time
-			$char = int(rand 7)+50;
-		} else { # choose a letter 3/4 of the time
-			$char = int(rand 25)+97;
-		}
-		$char = chr($char);
-		$code .= $char;
-	}
-	return $code;
-}
-
-sub _save_code
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $code = shift;
-	my $md5 = shift;
-
-	my $database_file = File::Spec->catfile($self->data_folder(),'codes.txt');
-
-	# set a variable with the current time
-	my $current_time = time;
-
-	# create database file if it doesn't already exist
-	$self->_touch_file($database_file);
-
-	# clean expired codes and images
-	open (DATA, "<$database_file")  or die "Can't open File: $database_file\n";
-		flock DATA, 1;  # read lock
-		my @data=<DATA>;
-	close(DATA);
-	
-	my $new_data = "";
-	foreach my $line (@data) 
-	{
-		$line =~ s/\n//;
-		my ($data_time,$data_code) = split(/::/,$line);
-		if ( (($current_time - $data_time) > ($self->expire())) ||
-		     ($data_code  eq $md5) )
-		{	# remove expired captcha, or a dup
-			my $png_file = File::Spec->catfile($self->output_folder(),$data_code . ".png");
-			unlink($png_file) or carp("Can't remove png file [$png_file]\n");
-		} else {
-			$new_data .= $line."\n";
-		}
-	}
-	
-	# save the code to database
-	warn "open File: $database_file\n" if($self->debug() >= 2);
-	open(DATA,">$database_file")  or die "Can't open File: $database_file\n";
-		flock DATA, 2; # write lock
-		warn "-->>" . $new_data . "\n" if($self->debug() >= 2);
-		warn "-->>" . $current_time . "::" . $md5."\n" if($self->debug() >= 2);
-		print DATA $new_data;
-		print DATA $current_time."::".$md5."\n";
-	close(DATA);
-	warn "Close File: $database_file\n" if($self->debug() >= 2);
-
-}
-
-sub create_image_file
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $code = shift;
-	my $md5 = shift;
-
-	my $length = length($code);
-	my $im_width = $self->width();
-	# create a new image and color
-	my $im = new GD::Image(($im_width * $length),$self->height());
-	my $black = $im->colorAllocate(0,0,0);
-
-	# copy the character images into the code graphic
-	for(my $i=0; $i < $length; $i++)
-	{
-		my $letter = substr($code,$i,1);
-		my $letter_png = File::Spec->catfile($self->images_folder(),$letter . ".png");
-		my $source = new GD::Image($letter_png);
-		$im->copy($source,($i*($self->width()),0,0,0,$self->width(),$self->height()));
-		my $a = int(rand (int(($self->width())/14)))+0;
-		my $b = int(rand (int(($self->height())/12)))+0;
-		my $c = int(rand (int(($self->width())/3)))-(int(($self->width())/5));
-		my $d = int(rand (int(($self->height())/3)))-(int(($self->height())/5));
-		$im->copyResized($source,($i*($self->width()))+$a,$b,0,0,($self->width())+$c,($self->height())+$d,$self->width(),$self->height());
-	}
-	
-	# distort the code graphic
-	for(my $i=0; $i<($length*($self->width())*($self->height())/14+200); $i++)
-	{
-		my $a = (int(rand ($length*($self->width())))+0);
-		my $b = (int(rand $self->height())+0);
-		my $c = (int(rand ($length*($self->width())))+0);
-		my $d = (int(rand $self->height())+0);
-		my $index = $im->getPixel($a,$b);
-		if ($i < (($length*($self->width())*($self->height())/14+200)/100))
-		{
-			$im->line($a,$b,$c,$d,$index);
-		} elsif ($i < (($length*($self->width())*($self->height())/14+200)/2)) {
-			$im->setPixel($c,$d,$index);
-		} else {
-			$im->setPixel($c,$d,$black);
-		}
-	}
-	
-	# generate a background
-	my $a = int(rand 5)+1;
-	my $background_img = File::Spec->catfile($self->images_folder(),"background" . $a . ".png");
-	my $source = new GD::Image($background_img);
-	my ($background_width,$background_height) = $source->getBounds();
-	my $b = int(rand (int($background_width/13)))+0;
-	my $c = int(rand (int($background_height/7)))+0;
-	my $d = int(rand (int($background_width/13)))+0;
-	my $e = int(rand (int($background_height/7)))+0;
-	my $source2 = new GD::Image(($length*($self->width())),$self->height());
-	$source2->copyResized($source,0,0,$b,$c,($length*($self->width())),$self->height(),$background_width-$b-$d,$background_height-$c-$e);
-	
-	# merge the background onto the image
-	$im->copyMerge($source2,0,0,0,0,($length*($self->width())),$self->height(),40);
-	
-	# add a border
-	$im->rectangle(0,0,((($length)*($self->width()))-1),(($self->height())-1),$black);
-
-	# save the image to file
-	my $png_data = $im->png;
-
-	return \$png_data;
-}
-
-sub create_sound_file
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $code = shift;
-	my $md5 = shift;
-	my $length = length($code);
-
-	my @chars = split('',$code);
-	my $snd_file;
-	local $/; # input record separator. So we can slurp the data.
-	# get a random voice speaking the code
-	foreach my $char (@chars)
-	{
-		my $voice = int(rand $num_of_soundfile_versions) + 1;
-		my $src_name = File::Spec->catfile($self->images_folder(),$voice, $char . ".wav");
-		warn "Open File: $src_name\n" if($self->debug() >= 2);
-		open (FILE,"< $src_name") or die "Can't open File: $src_name\n";
-			flock FILE, 1; # read lock
-			binmode FILE;
-			$snd_file .= <FILE>;
-		close FILE;
-		warn "Close File: $src_name\n" if($self->debug() >= 2);
-	}
-	return \$snd_file;
-}
-
-sub _save_file
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $file_ref = shift;
-	my $file_name = shift;
-
-	warn "Open File: $file_name\n" if($self->debug() >= 2);
-	open (FILE,">$file_name") or die "Can't open File: $file_name \n";
-		flock FILE, 2; # write lock
-		binmode FILE;
-		print FILE $$file_ref;
-	close FILE;
-	warn "Close File: $file_name\n" if($self->debug() >= 2);
-}
-
-sub generate_code 
-{
-	ref(my $self = shift) or croak "instance variable needed";
-	my $length = shift;
-
-	my $code = $self->generate_random_string($length);
-	my $md5 = md5_hex($code);
-
-	my ($captcha_data_ref,$output_filename);
-	if ($self->type() eq 'image')
-	{
-		$captcha_data_ref = $self->create_image_file($code,$md5);
-		$output_filename = File::Spec->catfile($self->output_folder(),$md5 . ".png");
-	} elsif ($self->type() eq 'sound') {
-		$captcha_data_ref = $self->create_sound_file($code,$md5);
-		$output_filename = File::Spec->catfile($self->output_folder(),$md5 . ".wav");
-	} else {
-		croak "invalid captcha type [" . $self->type() . "]";
-	}
-
-	$self->_save_file($captcha_data_ref,$output_filename);
-	$self->_save_code($code,$md5);
-
-	# return crypt (md5)... or, if they want it, the code as well.
-	return wantarray ? ($md5,$code) : $md5;
-}
-
-sub version
-{
-   return $VERSION;
-}
-
-1;
-__END__
-# Below is stub documentation for your module. You'd better edit it!
-
-=head1 NAME
-
-Authen::Captcha - Perl extension for creating captcha's to verify the human element in transactions.
-
-=head1 SYNOPSIS
-
-  use Authen::Captcha;
-
-  # create a new object
-  my $captcha = Authen::Captcha->new();
-
-  # set the data_folder. contains flatfile db to maintain state
-  $captcha->data_folder('/some/folder');
-
-  # set directory to hold publicly accessable images
-  $captcha->output_folder('/some/http/folder');
-
-  # Alternitively, any of the methods to set variables may also be
-  # used directly in the constructor
-
-  my $captcha = Authen::Captcha->new(
-    data_folder => '/some/folder',
-    output_folder => '/some/http/folder',
-    );
-
-  # create a captcha. Image filename is "$md5sum.png"
-  my $md5sum = $captcha->generate_code($number_of_characters);
-
-  # check for a valid submitted captcha
-  #   $code is the submitted letter combination guess from the user
-  #   $md5sum is the submitted md5sum from the user (that we gave them)
-  my $results = $captcha->check_code($code,$md5sum);
-  # $results will be one of:
-  #          1 : Passed
-  #          0 : Code not checked (file error)
-  #         -1 : Failed: code expired
-  #         -2 : Failed: invalid code (not in database)
-  #         -3 : Failed: invalid code (code does not match crypt)
-  ##############
-
-=head1 ABSTRACT
-
-Authen::Captcha provides an object oriented interface to captcha file creations.  Captcha stands for Completely Automated Public Turning test to tell Computers and Humans Apart. A Captcha is a program that can generate and grade tests that:
-
-    - most humans can pass.
-    - current computer programs can't pass
-
-The most common form is an image file containing distorted text, which humans are adept at reading, and computers (generally) do a poor job.
-This module currently implements that method. We plan to add other methods,
-such as distorted sound files, and plain text riddles.
-
-=head1 REQUIRES
-
-    GD          (see http://search.cpan.org/~lds/GD-2.11/)
-    Digest::MD5 (standard perl module)
-
-In most common situations, you'll also want to have:
-
- A web server (untested on windows, but it should work)
- cgi-bin or mod-perl access
- Perl: Perl 5.00503 or later must be installed on the web server.
- GD.pm (with PNG support)
-
-=head1 INSTALLATION
-
-Download the zipped tar file from:
-
-    http://search.cpan.org/search?dist=Authen-Captcha
-
-Unzip the module as follows or use winzip:
-
-    tar -zxvf Authen-Captcha-1.xxx.tar.gz
-
-The module can be installed using the standard Perl procedure:
-
-    perl Makefile.PL
-    make
-    make test
-    make install    # you need to be root
-
-Windows users without a working "make" can get nmake from:
-
-    ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
-
-=head1 METHODS
-
-=head2 MAIN METHODS
-
-=over
-
-=item C<$captcha = Authen::Captcha-E<gt>new();>
-
-This creates a new Captcha object.
-Optionally, you can pass in a hash with configuration information.
-See the method descriptions for more detail on what they mean.
-
-=over 2
-
-   data_folder => '/some/folder', # required
-   output_folder => '/some/http/folder', # required
-   expire => 300, # optional. default 300
-   width =>  25, # optional. default 25
-   height => 35, # optional. default 35
-   images_folder => '/some/folder', # optional. default to lib dir
-   keep_failures => 0, # optional, defaults to 0(false)
-   debug => 0, # optional. default 0
-
-=back
-
-=item C<$md5sum = $captcha-E<gt>generate_code( $number_of_characters );>
-
-Creates a captcha. Image filename is "$md5sum.png"
-
-It can also be called in array context to retrieve the string of characters used to generate the captcha (the string the user is expected to respond with). This is useful for debugging.
-ex.
-
-C<($md5sum,$chars) = $captcha-E<gt>generate_code( $number_of_characters );>
-
-=item C<$results = $captcha-E<gt>check_code($code,$md5sum);>
-
-check for a valid submitted captcha
-
-$code is the submitted letter combination guess from the user
-
-$md5sum is the submitted md5sum from the user (that we gave them)
-
-If the $code and $md5sum are correct, the image file and database entry will be removed.
-
-If the $md5sum matches one in the database, and "keep_failures" is false (the default), the image file and database entry will be removed to avoid repeated attempts on the same captcha.
-
-$results will be one of:
-
-    1 : Passed
-    0 : Code not checked (file error)
-   -1 : Failed: code expired
-   -2 : Failed: invalid code (not in database)
-   -3 : Failed: invalid code (code does not match crypt)
-
-=back
-
-=head2 ACCESSOR METHODS
-
-=over
-
-=item C<$captcha-E<gt>data_folder( '/some/folder' );>
-
-Required. Sets the directory to hold the flatfile database that will be used to store the current non-expired valid captcha md5sum's.
-Must be writable by the process running the script (usually the web server user, which is usually either "apache" or "http"), but should not be accessable to the end user.
-
-=item C<$captcha-E<gt>output_folder( '/some/folder' );>
-
-Required. Sets the directory to hold the generated Captcha image files. This is usually a web accessable directory so that the user can view the images in here, but it doesn't have to be web accessable (you could be attaching the images to an e-mail for some verification, or some other Captcha implementation).
-Must be writable by the process running the script (usually the web server user, which is usually either "apache" or "http").
-
-=item C<$captcha-E<gt>images_folder( '/some/folder' );>
-
-Optional, and may greatly affect the results... use with caution. Allows you to override the default character graphic png's and backgrounds with your own set of graphics. These are used in the generation of the final captcha image file. The defaults are held in:
-    [lib install dir]/Authen/Captcha/images
-
-=item C<$captcha-E<gt>expire( 300 );>
-
-Optional. Sets the number of seconds this captcha will remain valid. This means that the created captcha's will not remain valid forever, just as long as you want them to be active. Set to an appropriate value for your application. Defaults to 300.
-
-=item C<$captcha-E<gt>width( 25 );>
-
-Optional. Number of pixels high for the character graphics. Defaults to 25.
-
-=item C<$captcha-E<gt>height( 35 );>
-
-Optional. Number of pixels wide for the character graphics. Defaults to 35.
-
-=item C<$captcha-E<gt>keep_failures( [0|1] );>
-
-Optional. Defaults to zero. This option controls whether or not the captcha will remain valid after a failed attempt. By default, we only allow one attempt to solve it. This greatly reduces the possibility that a bot could brute force a correct answer. Change it at your own risk.
-
-=item C<$captcha-E<gt>debug( [0|1|2] );>
-
-Optional. 
-Sets the debugging bit. 1 turns it on, 0 turns it off. 2 will print out verbose messages to STDERR.
-
-=back
-
-=head1 TODO
-
-sound file captcha: Incorporating distorted sound file creation.
-
-=head1 SEE ALSO
-
-The Captcha project:
-    http://www.captcha.net/
-
-The origonal perl script this came from:
-    http://www.firstproductions.com/cgi/
-
-=head1 AUTHORS
-
-Seth T. Jackson, E<lt>sjackson@xxxxxxxxxxxxxxxxx<gt>
-
-Josh I. Miller, E<lt>jmiller@xxxxxxxxxxxxxxxxx<gt>
-
-First Productions, Inc. created the cgi-script distributed under the GPL which was used as the basis for this module. Much work has gone into making this more robust, and suitable for other applications, but much of the origonal code remains.
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2003, First Productions, Inc. (FIRSTPRODUCTIONS HUMAN TEST 1.0)
-
-Copyright 2003 by Seth Jackson
-
-This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. (see license.txt).
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-=cut

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Cvs.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Cvs.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Cvs.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -122,10 +122,12 @@
 }
 
 sub get_repos_per_group {
-    my ($main, $gid) = @_;
+    my ($main, $gid, $public_only) = @_;
+    $public_only = 1 unless(defined $public_only);
 
     my $dbh = $main->get_db_object;
-    my $sql = 'SELECT c.cvsroot, o.description FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id WHERE o.owner_gid = ? AND o.state = ?';
+    my $sql = 'SELECT c.cvsroot, o.description FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id '.
+	'WHERE '.($public_only ? 'c.public = true AND ' : '').'o.owner_gid = ? AND o.state = ?';
     return $dbh->selectall_arrayref($sql, { Slice => {} }, $gid, Vhffs::Constants::ACTIVATED);
 }
 

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Git.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Git.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Git.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -82,10 +82,12 @@
 }
 
 sub get_repos_per_group {
-    my ($main, $gid) = @_;
+    my ($main, $gid, $public_only) = @_;
+    $public_only = 1 unless(defined $public_only);
 
     my $dbh = $main->get_db_object;
-    my $sql = 'SELECT g.reponame, o.description FROM vhffs_git g INNER JOIN vhffs_object o ON o.object_id = g.object_id WHERE o.owner_gid = ? AND o.state = ?';
+    my $sql = 'SELECT g.reponame, o.description FROM vhffs_git g INNER JOIN vhffs_object o ON o.object_id = g.object_id '.
+	'WHERE '.($public_only ? 'public = 1 AND ' : '').'o.owner_gid = ? AND o.state = ?';
     return $dbh->selectall_arrayref($sql, { Slice => {} }, $gid, Vhffs::Constants::ACTIVATED);
 }
 

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Group.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Group.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Group.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -63,7 +63,7 @@
 sub getall_users
 {
     my ($main, $gid) = @_;
-    my $sql = 'SELECT u.uid, u.username, ug.state FROM vhffs_users u INNER JOIN vhffs_user_group ug ON ug.uid = u.uid WHERE ug.gid = ?';
+    my $sql = 'SELECT u.uid, u.username, u.firstname, u.lastname, u.mail, ug.state FROM vhffs_users u INNER JOIN vhffs_user_group ug ON ug.uid = u.uid WHERE ug.gid = ?';
     my $dbh = $main->get_db_object;
     my $sth = $dbh->prepare($sql) or return -1;
     $sth->execute($gid) or return -2;
@@ -152,16 +152,14 @@
 	my $limit = ' LIMIT 10';
 	$limit .= ' OFFSET '.($start * 10) if(defined $start);
 	
+	my $select = 'SELECT g.gid, g.groupname, g.realname, o.description, owner.username AS owner_name'.$sql.' ORDER BY groupname '.$limit;
+    	my $groups = fetch_groups_and_users($main, $select, @params);
+
 	my $dbh = $main->get_db_object();
-	my $sth = $dbh->prepare('SELECT g.gid, g.groupname, g.realname, o.description, owner.username AS owner_name'.$sql.' ORDER BY groupname '.$limit);
 	
+	my $sth = $dbh->prepare('SELECT COUNT(*)'.$sql);
 	return undef unless ( $sth->execute(@params) );
 	
-	my $groups = $sth->fetchall_arrayref({});
-	
-	$sth = $dbh->prepare('SELECT COUNT(*)'.$sql);
-	return undef unless ( $sth->execute(@params) );
-	
 	my ($count) = $sth->fetchrow_array();
 	
 	return ($groups, $count);
@@ -246,11 +244,20 @@
     my $dbh = $main->get_db_object;
     my $sth = $dbh->prepare($sql);
     $sql = 'SELECT u.username FROM vhffs_users u INNER JOIN vhffs_user_group ug ON ug.uid = u.uid WHERE ug.gid = ?';
-    my $ssth = $dbh->prepare($sql);
+    my $usth = $dbh->prepare($sql);
+    # FIXME fetch object_id along with gid in every caller and suppress vhffs_groups from the query
+    $sql = 'SELECT c.tag_category_id as category_id, c.label as category_label, t.tag_id, t.label as tag_label '.
+            'FROM vhffs_tag t INNER JOIN vhffs_tag_category c ON c.tag_category_id = t.category_id '.
+            'INNER JOIN vhffs_object_tag ot ON ot.tag_id = t.tag_id '.
+            'INNER JOIN vhffs_groups g ON g.object_id = ot.object_id '.
+            'WHERE g.gid = ? AND c.visibility = ?';
+    my $tsth = $dbh->prepare($sql);
     $sth->execute(@params);
     while(my $row = $sth->fetchrow_hashref) {
-        $ssth->execute($row->{gid});
-        $row->{users} = $ssth->fetchall_arrayref({});
+        $usth->execute($row->{gid});
+        $row->{users} = $usth->fetchall_arrayref({});
+        $tsth->execute($row->{gid}, Vhffs::Constants::TAG_VISIBILITY_PUBLIC);
+        $row->{tags} = $tsth->fetchall_arrayref({});
         push @groups, $row;
     }
 

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Object.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Object.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Object.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -212,6 +212,8 @@
             my $dt = DateTime->from_epoch( epoch => $_->{date}, locale => $user->get_lang);
             $history_tmpl->param( DATE => $dt->strftime($loc->medium_date_format().' '.$loc->long_time_format() ) );
             $history_tmpl->param( EVENT => $_->{message} );
+            $history_tmpl->param( SOURCE => $_->{source} );
+            $history_tmpl->param( MODERATOR => $user->is_admin || $user->is_moderator );
             $output .= $history_tmpl->output;
         }
         $template->param( HISTORY_PART => $output );

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Pgsql.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Pgsql.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Pgsql.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -107,12 +107,12 @@
 
 sub create_pgsql
 {
-    my( $main , $dbname , $user , $group , $dbuser , $dbpass, $dbencoding, $description ) = @_;
+    my( $main , $dbname , $user , $group , $dbuser , $dbpass, $description ) = @_;
 
     return -1 if( ! defined $user );
     return -2 if( ! defined $group );
     
-    my $pgsql = Vhffs::Services::Pgsql::create($main, $dbname, $dbuser, $dbpass, $dbencoding, $description, $user, $group);
+    my $pgsql = Vhffs::Services::Pgsql::create($main, $dbname, $dbuser, $dbpass, $description, $user, $group);
 
 	return undef if( ! defined $pgsql );
 	

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Svn.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Svn.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Svn.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -81,10 +81,12 @@
 }
 
 sub get_repos_per_group {
-    my ($main, $gid) = @_;
+    my ($main, $gid, $public_only) = @_;
+    $public_only = 1 unless(defined $public_only);
 
     my $dbh = $main->get_db_object;
-    my $sql = 'SELECT s.reponame, o.description FROM vhffs_svn s INNER JOIN vhffs_object o ON o.object_id = s.object_id WHERE o.owner_gid = ? AND o.state = ?';
+    my $sql = 'SELECT s.reponame, o.description FROM vhffs_svn s INNER JOIN vhffs_object o ON o.object_id = s.object_id '.
+	'WHERE '.($public_only ? 's.public = 1 AND ' : '').'o.owner_gid = ? AND o.state = ?';
     return $dbh->selectall_arrayref($sql, { Slice => {} }, $gid, Vhffs::Constants::ACTIVATED);
 }
 

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Tag.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Tag.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/Tag.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -34,16 +34,9 @@
 
 package Vhffs::Panel::Tag;
 
-use DBI;
 use POSIX qw(locale_h);
-use HTML::Template;
 use locale;
 use Locale::gettext;
-use CGI;
-use CGI::Session;
-use Vhffs::User;
-use Vhffs::Main;
-use Vhffs::Panel::Main;
 use Vhffs::Panel::Group;
 
 =head1 NAME
@@ -56,30 +49,54 @@
 
 =head2 get_groups
 
-	Vhffs::Panel::Tag::get_groups($main, $tag_id, $start, $count)
+	Vhffs::Panel::Tag::get_groups($main, $category_name, $tag_name, $start)
 
-Fetches C<$count> groups associated to tag #C<$tag_id> starting
-at index C<$start>
+Fetches 10 groups associated to tag C<$tag_name> in (optional) category
+C<$category_name> starting at index C<$start>
 
 =cut
 
 sub get_groups {
-    my ($main, $tag_id, $start, $count) = @_;
+	my ($main, $category_name, $tag_name, $start) = @_;
 
-
-	my $select =  'SELECT g.gid, g.groupname, g.realname, o.description ';
-	my $restriction=	'FROM vhffs_groups g INNER JOIN vhffs_object o ON o.object_id=g.object_id '.
+	my $select =  'SELECT g.gid, g.groupname, g.realname, o.description, owner.username AS owner_name ';
+	my $restriction = ' FROM vhffs_groups g INNER JOIN vhffs_object o ON o.object_id=g.object_id '.
 		'INNER JOIN vhffs_object_tag ot ON ot.object_id = o.object_id '.
 		'INNER JOIN vhffs_tag t ON t.tag_id = ot.tag_id '.
-		'WHERE o.state = ? AND ot.tag_id = ?';
-    my @params;
-    push @params, Vhffs::Constants::ACTIVATED;
-    push @params, $tag_id;
+		'INNER JOIN vhffs_tag_category c ON t.category_id = c.tag_category_id '.
+		'INNER JOIN vhffs_users owner ON owner.uid = o.owner_uid '.
+		'WHERE o.state = ? AND t.label = ? ';
+	my @params;
+	push @params, Vhffs::Constants::ACTIVATED;
+	push @params, $tag_name;
+	if(defined $category_name) {
+		$restriction .= ' AND c.label = ?';
+		push @params, $category_name;
+	}
 
-    return Vhffs::Panel::Commons::fetch_slice_and_count($main, $select, $restriction, 
-        ' ORDER BY g.groupname', $start, $count, \@params, \&Vhffs::Panel::Group::fetch_groups_and_users);
+	my $limit = ' LIMIT 10';
+	$limit .= ' OFFSET '.($start * 10) if(defined $start);
+
+	my $groups = Vhffs::Panel::Group::fetch_groups_and_users($main, $select.$restriction.' ORDER BY g.groupname '.$limit, @params);
+
+	my $dbh = $main->get_db_object();
+
+	my $sth = $dbh->prepare('SELECT COUNT(*) '.$restriction);
+	return undef unless ( $sth->execute(@params) );
+
+	my ($count) = $sth->fetchrow_array();
+	
+	return ($groups, $count);
 }
 
+=head2 get_by_tag_ids
+
+	my $tags = Vhffs::Panel::get_by_tag_ids($vhffs, id1, id2);
+
+Return information about specific public tags.
+
+=cut
+
 sub get_by_tag_ids {
 	
 	my $main = shift;
@@ -104,14 +121,15 @@
 	return undef unless($exclude ||  scalar(@ids) > 0);
 	
 	my $sql = 'SELECT c.tag_category_id AS category_id, c.label AS category_label, t.tag_id, t.label AS tag_label '.
-		'FROM vhffs_tag t INNER JOIN vhffs_tag_category c ON c.tag_category_id = t.category_id ';
+		'FROM vhffs_tag t INNER JOIN vhffs_tag_category c ON c.tag_category_id = t.category_id '.
+		'WHERE c.visibility = '.Vhffs::Constants::TAG_VISIBILITY_PUBLIC;
 	
 	if(scalar(@ids)) {
-		$sql .= 'WHERE tag_id '.($exclude ? 'NOT ' : '').'IN(?';
+		$sql .= ' AND tag_id '.($exclude ? 'NOT ' : '').'IN(?';
 		$sql .= ', ?' x (scalar(@ids) - 1);
-		$sql .= ') ORDER BY c.label, t.label';
+		$sql .= ')';
 	}
-	
+	$sql .= ' ORDER BY c.label, t.label';
 	my $dbh = $main->get_db_object;
 	return $dbh->selectall_arrayref($sql, { Slice => {} }, @ids);
 }

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Panel/User.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Panel/User.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Panel/User.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -236,14 +236,13 @@
 {
 	my $user = shift;
 	my $lang = shift;
-	
-	return -1 if ( ( ! defined $user ) || ( ! defined $lang ) );
+	return -1 unless defined $user and defined $lang;
 
-    my $sql = 'UPDATE vhffs_users SET language = ? WHERE uid = ?';
-    my $sth = $user->{db}->prepare($sql);
-    $sth->execute($lang, $user->get_uid) or return -1;
-    $user->{language} = $lang;
-    setlocale(LC_ALL, $lang);
+	my $sql = 'UPDATE vhffs_users SET language = ? WHERE uid = ?';
+	my $sth = $user->{db}->prepare($sql);
+	$sth->execute($lang, $user->get_uid) or return -1;
+	$user->{'language'} = $lang;
+	setlocale(LC_ALL, $lang);
 }
 
 
@@ -251,13 +250,13 @@
 {
 	my $user = shift;
 	my $theme = shift;
-	
-	return -1 if ( ( ! defined $user ) || ( ! defined $theme ) );
+	return -1 unless defined $user and defined $theme;
 
-    my $sql = 'UPDATE vhffs_users SET theme = ? WHERE uid = ?';
-    my $dbh = $user->{db};
-    my $sth = $dbh->prepare($sql);
-    $sth->execute($theme, $user->get_uid) or return -1;
+	my $sql = 'UPDATE vhffs_users SET theme = ? WHERE uid = ?';
+	my $dbh = $user->{db};
+	my $sth = $dbh->prepare($sql);
+	$sth->execute($theme, $user->get_uid) or return -1;
+	$user->{'theme'} = $theme;
 }
 
 sub get_lang

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Cvs.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Cvs.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Cvs.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -41,71 +41,58 @@
 sub create_cvs
 {
 	my $cvs = shift;
+	return -1 unless defined $cvs;
+	return -1 if $cvs->get_status != Vhffs::Constants::WAITING_FOR_CREATION;
 
-    return unless(defined($cvs));
+	my $dir = $cvs->get_dir;
 
-	if( create_repository( $cvs ) > 0 )
-	{
-		$cvs->set_status( Vhffs::Constants::ACTIVATED );
-		$cvs->commit;
-		$cvs->add_history("Cvsroot now created !" );
+	if( -e $dir ) {
+		$cvs->set_status( Vhffs::Constants::CREATING_ERROR );
+		$cvs->commit();
+		$cvs->add_history('Error, directory of this cvs repository already exists! Administrators must fix the problem.');
+		return -1;
 	}
-	else
-	{
-		$cvs->add_history("Cvsroot NOT created, bots encounters errors !" );
+
+	Vhffs::Functions::create_dir( $dir );
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $cvs->get_owner_uid , $cvs->get_owner_gid );
+	$cvs->add_history('Ok, robots find the empty directory and will create cvs repository');
+
+	system('cvs -d '.$dir.' init');
+
+	unless( -d $dir.'/CVSROOT' ) {
+		$cvs->set_status( Vhffs::Constants::CREATING_ERROR );
+		$cvs->commit();
+		$cvs->add_history('Error, nothing was created after calling the cvs binary, something is wrong.');
+		return -1;
 	}
-}
 
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $cvs->get_owner_uid , $cvs->get_owner_gid );
 
-sub delete_cvs
-{
-	my $cvs = shift;
-    return unless(defined ($cvs));
-	my $cvsroot = $cvs->get_cvsroot;
-	my $vhffs = $cvs->{'main'};
+	$cvs->add_history('The Robots created the cvs repository');
+	$cvs->set_status( Vhffs::Constants::ACTIVATED );
+	$cvs->commit;
 
-	my $dir = $cvs->get_dir;
-	my $cmd = "rm -rf $dir";
-	system( $cmd );
-	$cvs->delete;
+	return 0;
 }
 
 
-
-sub create_repository
+sub delete_cvs
 {
+	use File::Path;
+	use File::Basename;
 	my $cvs = shift;
-    return unless(defined $cvs);
-	my $cvsroot = $cvs->get_cvsroot;
-	my $vhffs = $cvs->{'main'};
+	return -1 unless defined $cvs;
 
-	my $datadir = $vhffs->get_config->get_datadir;
-	
 	my $dir = $cvs->get_dir;
-	return -1 if( $dir =~ /\./ );
+	File::Path::rmtree($dir) if(-d $dir);
+	# Remove parent dir if empty (i.e. this group has no move CVSes).
+	my $groupdir = dirname($dir);
+	rmdir $groupdir;
 
-	Vhffs::Functions::create_dir( $dir ) if( ! -d $dir );
-
-	if( -x "/usr/bin/cvs" )
-	{
-		my $command = '/usr/bin/cvs -d '.$dir.' init';
-		system( $command );
-
-		if( Vhffs::Functions::change_owner_recur( $dir , $cvs->get_owner_uid , $cvs->get_owner_gid ) < 0 )
-		{
-			return -2;
-		}
-		else
-		{
-			return 1;
-		}
-			
-	}
-	else
-	{
-		return -1;
-	}
+	return 0;
 }
 
-1;
 
+1;

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Git.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Git.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Git.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -41,97 +41,86 @@
 
 sub create_repo
 {
-	my( $main , $git ) = @_;
+	my $git = shift;
+	return -1 unless defined $git;
+	return -1 if $git->get_status != Vhffs::Constants::WAITING_FOR_CREATION;
 
+	my $dir = $git->get_dir;
 
-	my $dir;
-	my $dir2;
-	my $apache_file;
-	my $user_file;
+	if( -e $dir ) {
+		$git->set_status( Vhffs::Constants::CREATING_ERROR );
+		$git->commit();
+		$git->add_history('Error, directory of this git repository already exists! Administrators must fix the problem.');
+		return -1;
+	}
 
-	if( defined $git ) 
-	{
-	    $dir = $git->get_dir;
-	    
-	    if( $git->get_status == Vhffs::Constants::WAITING_FOR_CREATION )
-	    {
-    		my $ok = 1;
-		
-	    	if( ! -e $dir ) {
-		        Vhffs::Functions::create_dir( $dir ) if( ! -d $dir );
-		        $git->add_history("Ok, robots find the empty directory and will create git repository");
-    			system("cd $dir && git --bare init > /dev/null");
+	Vhffs::Functions::create_dir( $dir );
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $git->get_owner_uid , $git->get_owner_gid );
+	$git->add_history('Ok, robots find the empty directory and will create git repository');
 
-                # Write a description to enhance push mails.
-                open DESCRIPTION, ">$dir/description";
-                print DESCRIPTION $git->get_reponame."\n";
-                close DESCRIPTION;
+	system('cd '.$dir.' && git init --shared=all --bare > /dev/null');
 
-	    		Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
-		        Vhffs::Functions::change_owner_recur( $dir , $git->get_owner_uid , $git->get_owner_gid );
+	unless( -f $dir.'/config' ) {
+		$git->set_status( Vhffs::Constants::CREATING_ERROR );
+		$git->commit();
+		$git->add_history('Error, nothing was created after calling the git binary, something is wrong.');
+		return -1;
+	}
 
-			# .'/hooks' directory must be owned by root to prevent abuse of servers
-	    		Vhffs::Functions::chmod_recur( $dir.'/hooks' , 0644 , 0755 );
-		        Vhffs::Functions::change_owner_recur( $dir.'/hooks' , 0 , 0 );
+	# Write a description to enhance pushed mails.
+	open DESCRIPTION, '>'.$dir.'/description';
+	print DESCRIPTION $git->get_reponame."\n";
+	close DESCRIPTION;
 
-    			$git->add_history("The Robots created the git repository");
-                } else {
-	    		$ok = 0;
-			#TODO support syslog
-			$git->set_status( Vhffs::Constants::CREATING_ERROR );
-    			$git->commit();
-	    		$git->add_history("Error, directory of this git repository already exists! Administrators must fix the problem.");
-	        }
-		if( $ok == 1 ) {
-			$git->set_status( Vhffs::Constants::ACTIVATED );
-		    
-			if( $git->commit < 0 ) {
-				$git->add_history("Cannot commit changes on the object!");
-	    	  	} else {
-		   	 	$git->add_history("Git repository is now active");
-		        }
-		} else {
-		        $git->add_history("Object is not created, problem while creating it");
-    		}
-            }
-	}
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $git->get_owner_uid , $git->get_owner_gid );
+
+	# './hooks' directory must be owned by root to prevent abuse of servers
+	Vhffs::Functions::chmod_recur( $dir.'/hooks' , 0644 , 0755 );
+	Vhffs::Functions::change_owner_recur( $dir.'/hooks' , 0 , 0 );
+
+	$git->add_history('The Robots created the git repository');
+	$git->set_status( Vhffs::Constants::ACTIVATED );
+	$git->commit;
+
+	return 0;
 }
 
 sub change_conf {
-    my $git = shift;
-    my $dir = $git->get_dir;
-    my $mail_from = $git->get_main->get_config->get_service('git')->{notify_from};
+	my $git = shift;
+	return -1 unless defined $git;
 
-    # Always unlink since git init create a dummy post-receive
-    unlink "$dir/hooks/post-receive";
-    if($git->get_ml_name !~ /^\s*$/) {
-        if(! -e "$dir/hooks/post-receive") {
-            system("cp %VHFFS_BOTS_DIR%/misc/git_post-receive $dir/hooks/post-receive");
-        }
-        system("git-config -f $dir/config hooks.mailinglist ".$git->{ml_name});
-        system("git-config -f $dir/config hooks.envelopesender $mail_from");
-    }
+	my $dir = $git->get_dir;
+	my $mail_from = $git->get_main->get_config->get_service('git')->{notify_from};
+
+	# Always unlink since git init create a dummy post-receive
+	unlink $dir.'/hooks/post-receive';
+
+	if( $git->get_ml_name !~ /^\s*$/ ) {
+		system('cp %VHFFS_BOTS_DIR%/misc/git_post-receive '.$dir.'/hooks/post-receive' );
+		system('git-config -f '.$dir.'/config hooks.mailinglist '.$git->{ml_name} );
+		system('git-config -f '.$dir.'/config hooks.envelopesender '.$mail_from );
+	}
+
+	return 0;
 }
 
 sub delete_repo
 {
-	my $main = shift;
+	use File::Path;
+	use File::Basename;
 	my $git = shift;
+	return -1 unless defined $git;
 
-	my $dir;
-	my $dir2;
+	# Remove GIT dir and group dir if empty
+	my $dir = $git->get_dir;
+	File::Path::rmtree($dir) if(-d $dir);
+	my $groupdir = dirname($dir);
+	rmdir($groupdir);
 
-	if( defined $git ) {
-	    $dir = $git->get_dir;
-	    system("rm -rf $dir 2>/dev/null");
-	    $git->delete;
-    } else {
-	    return -1;
-	}
-	
-	return 1;
+	return 0;
 }
 
 
 1;
-

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Mysql.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Mysql.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Mysql.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,116 +42,109 @@
 use Vhffs::Constants;
 use Vhffs::Functions;
 
+
+sub mysql_admin_db_connect
+{
+	use DBI;
+	my $vhffs = shift;
+	my $mysqlconfig = $vhffs->get_config->get_service('mysql');
+	my $dbuser = $mysqlconfig->{'username'};
+	my $dbpass = $mysqlconfig->{'password'};
+	my $dbhost = $mysqlconfig->{'host'};
+
+	return DBI->connect( 'DBI:mysql:dbname=mysql;host='.$dbhost , $dbuser , $dbpass );
+}
+
+
 sub delete_db
 {
 	my $main = shift;
 	my $db = shift;
+	return unless defined $db;
 
+	my $dbi = mysql_admin_db_connect( $main );
+	return unless $dbi;
+
 	my $query;
-		
-	if( defined $db )
-	{
-		$db->add_history( "Ok, robots takes the destruction of this database" );
-		my $dbi = mysql_admin_db_connect( $main );
-		if( $dbi != 1 )
-		{
-#			$query = "REVOKE ALL PRIVILEGES ON `".$db->get_dbname."` . * FROM \"".$db->get_dbname."\"";
+	$db->add_history( 'Ok, robots takes the destruction of this database' );
 
-			$query = "DELETE FROM `user` WHERE User = '".$db->get_dbname."'";
-			$dbi->do( $query ) or $db->add_history("Error while grant access to the database");
+	$query = 'DELETE FROM `user` WHERE User = \''.$db->get_dbname.'\'';
+	$dbi->do( $query ) or $db->add_history('Error while grant access to the database');
 
-			$query = "DELETE FROM `db` WHERE User = '".$db->get_dbname."'";
-			$dbi->do( $query ) or $db->add_history("Error while grant access to the database");
+	$query = 'DELETE FROM `db` WHERE User = \''.$db->get_dbname.'\'';
+	$dbi->do( $query ) or $db->add_history('Error while grant access to the database');
 
-			$query = "DELETE FROM `tables_priv` WHERE User = '".$db->get_dbname."'";
-			$dbi->do( $query ) or $db->add_history("Error while grant access to the database");
+	$query = 'DELETE FROM `tables_priv` WHERE User = \''.$db->get_dbname.'\'';
+	$dbi->do( $query ) or $db->add_history('Error while grant access to the database');
 
-			$query = "DELETE FROM `columns_priv` WHERE User = '".$db->get_dbname."'";
-			$dbi->do( $query ) or $db->add_history("Error while grant access to the database");
+	$query = 'DELETE FROM `columns_priv` WHERE User = \''.$db->get_dbname.'\'';
+	$dbi->do( $query ) or $db->add_history('Error while grant access to the database');
 
-			$query = "DROP DATABASE `".$db->get_dbname."`";
-			$dbi->do( $query ) or $db->add_history("Error while creating the database");
+	$query = 'DROP DATABASE `'.$db->get_dbname.'`';
+	$dbi->do( $query ) or $db->add_history('Error while deleting the database');
 
-			$dbi->do( "FLUSH PRIVILEGES" );
-			$dbi->disconnect;
-		}
-		$db->add_history( "Robots finished the destruction" );
-		$db->delete;
-	}
+	$dbi->do( 'FLUSH PRIVILEGES' );
+	$dbi->disconnect;
+
+	$db->add_history( 'Robots finished the destruction' );
+	$db->delete;
 }
 
 
 
 sub create_db
 {       
-		my $main = shift;
-		my $db = shift;
+	my $main = shift;
+	my $db = shift;
+	return unless defined $db;
 
-        my $query;
-                
-        if( defined $db )
-        {
-                $db->add_history( "Ok, robots takes the creation of this database" );
-                my $dbi = mysql_admin_db_connect( $main );
-                if( $dbi != 1 )
-                {
-                        # create the database
-                        $query = "CREATE DATABASE `".$db->get_dbname."`";
-                        $dbi->do( $query ) or $db->add_history("Error while creating the database");
+	my $dbi = mysql_admin_db_connect( $main );
+	return unless $dbi;
 
-                        # grant privileges to user
-#                       $query = "GRANT ALL PRIVILEGES ON `".$db->get_dbname."`.* TO `".$db->get_dbname."`@% IDENTIFIED BY '".$db->get_dbpassword."'";
-                        $query = "GRANT ALL ON ".$db->get_dbname.".* TO `".$db->get_dbname."` IDENTIFIED BY '".$db->get_dbpassword."'";
-                        $dbi->do( $query ) or $db->add_history( "An error occured while granting privileges to an admin user" );
+	my $query;
+	$db->add_history( 'Ok, robots takes the creation of this database' );
 
-                        $dbi->do( "FLUSH PRIVILEGES" );
-                        $dbi->disconnect;
-                }
-                $db->add_history( "Robots finished the creation" );
-                $db->set_status( Vhffs::Constants::ACTIVATED );
-                $db->commit;
-				$db->blank_password;
-        }
-}
+	# create the database
+	$query = 'CREATE DATABASE `'.$db->get_dbname.'`';
+	$dbi->do( $query ) or $db->add_history('Error while creating the database');
 
+	# grant privileges to user
+	$query = 'GRANT ALL ON '.$db->get_dbname.'.* TO '.$db->get_dbname.' IDENTIFIED BY ?';
+	$dbi->do( $query, undef, $db->get_dbpassword ) or $db->add_history( 'An error occured while granting privileges to an admin user' );
 
+	$dbi->do( 'FLUSH PRIVILEGES' );
+	$dbi->disconnect;
 
-sub mysql_admin_db_connect
-{
-	use DBI;
-	my $vhffs = shift;
-	my $mysqlconfig = $vhffs->get_config->get_service('mysql');
-	my $dbuser = $mysqlconfig->{'username'};
-	my $dbpass = $mysqlconfig->{'password'};
-	my $dbhost = $mysqlconfig->{'host'};
-
-	return DBI->connect( "DBI:mysql:dbname=mysql;host=$dbhost",$dbuser,$dbpass ) or -1;
+	$db->add_history( 'Robots finished the creation' );
+	$db->set_status( Vhffs::Constants::ACTIVATED );
+	$db->commit;
+	$db->blank_password;
 }
 
+
+
 sub update_db
 {
-		my $main = shift;
-		my $db = shift;
+	my $main = shift;
+	my $db = shift;
+	return unless defined $db;
 
-        my $query;
+	my $dbi = mysql_admin_db_connect( $main );
+	return unless $dbi;
 
-        if( defined $db )
-        {
-                $db->add_history( "Ok, will change password for this database" );
-                my $dbi = mysql_admin_db_connect( $main );
-                if( $dbi != 1 )
-                {
-                        $query = 'UPDATE user SET PASSWORD=PASSWORD(?) WHERE user = ?';
-                        $dbi->do( $query, undef, $db->get_dbpassword, $db->get_dbname) or $db->add_history("Error while grant access to the database");
+	my $query;
+	$db->add_history( 'Ok, will change password for this database' );
 
-                        $dbi->do( 'FLUSH PRIVILEGES' );
-                        $dbi->disconnect;
-                }
-                $db->add_history( "Robots changed the password for this database" );
-                $db->set_status( Vhffs::Constants::ACTIVATED );
-                $db->commit;
-		$db->blank_password;
-        }
+	$query = 'UPDATE user SET PASSWORD=PASSWORD(?) WHERE user = ?';
+	$dbi->do( $query, undef, $db->get_dbpassword, $db->get_dbname) or $db->add_history('Error while grant access to the database');
+
+	$dbi->do( 'FLUSH PRIVILEGES' );
+	$dbi->disconnect;
+
+	$db->add_history( 'Robots changed the password for this database' );
+	$db->set_status( Vhffs::Constants::ACTIVATED );
+	$db->commit;
+	$db->blank_password;
 }
 
 1;

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Pgsql.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Pgsql.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Pgsql.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -66,7 +66,7 @@
 	if( defined $pg )
 	{
 		$db->do('CREATE USER '.$pg->get_dbusername.' WITH PASSWORD ?', undef, $pg->get_dbpassword);
-		$db->do('CREATE DATABASE '.$pg->get_dbname.' OWNER '.$pg->get_dbusername.' ENCODING \''.$pg->get_dbencoding.'\'' );
+		$db->do('CREATE DATABASE '.$pg->get_dbname.' OWNER '.$pg->get_dbusername );
 		$pg->set_status( Vhffs::Constants::ACTIVATED );	
 		$pg->commit;
 		$pg->blank_password;
@@ -108,11 +108,11 @@
    my $dbi;
    if( $dbhost eq "localhost" )
    {
-    $dbi = DBI->connect( "DBI:Pg:",$dbuser,$dbpass ) or return -1;
+    $dbi = DBI->connect( "DBI:Pg:dbname=postgres",$dbuser,$dbpass ) or return -1;
    }
    else
    {
-    $dbi = DBI->connect( "DBI:Pg:host=$dbhost",$dbuser,$dbpass ) or return -1;
+    $dbi = DBI->connect( "DBI:Pg:dbname=postgres;host=$dbhost",$dbuser,$dbpass ) or return -1;
    }
 
     return $dbi;

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Svn.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Svn.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Svn.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -40,12 +40,13 @@
 
 sub change_conf
 {
-	my $svn	=	shift;
-	my $file = $svn->get_dir."/conf/svnserve.conf";
-	my @lines;
-	my $line;
-	return -1 if( ! -f $file );
+	my $svn	= shift;
+	return -1 unless defined $svn;
 
+	my $file = $svn->get_dir.'/conf/svnserve.conf';
+	return -1 unless -f $file;
+
+	my @lines;
 	open( FILE , $file );
 	while( <FILE> )
 	{
@@ -54,23 +55,23 @@
 	close( FILE );
 
 
-	open( FILE , ">$file" );
-	foreach $line ( @lines )
+	open( FILE , '>'.$file );
+	foreach my $line ( @lines )
 	{
 		if( $line =~ /.*anon\-access.*/ )
 		{
 			if( $svn->is_public == 1 )
 			{
-				$line = "anon-access = read\n";
+				$line = 'anon-access = read'."\n";
 			}
 			else
 			{
-				$line = "anon-access = none\n";
+				$line = 'anon-access = none'."\n";
 			}
 		}
 		if( $line =~ /.*\[general\].*/ )
 		{
-			$line = "[general]\n";
+			$line = '[general]'."\n";
 		}
 		print FILE $line;
 	}
@@ -84,7 +85,6 @@
 	if( defined $mailfrom && defined $mailto )  {
 
 		my @lines;
-		my $line;
 
 		# read template file
 		open( POSTCOMMIT , '%VHFFS_BOTS_DIR%/misc/svn_post-commit.pl' );
@@ -96,7 +96,7 @@
 		# write hook
 		unlink ( $svn->get_dir().'/hooks/post-commit' );
 		open ( POSTCOMMIT , '>'.$svn->get_dir().'/hooks/post-commit' );
-		foreach $line ( @lines )  {
+		foreach my $line ( @lines )  {
 
 			# remplace some parameters
 			$line =~ s/%MAILNOTIFYFROM%/$mailfrom/g;
@@ -108,64 +108,55 @@
 		chmod 0755 , $svn->get_dir().'/hooks/post-commit';
 	}
 	
-	$svn->add_history( "Change configuration of SVN repository" );
+	$svn->add_history( 'Changed configuration of SVN repository' );
 
-	return 1;
+	return 0;
 }
 
 
 sub create_repo
 {
-	my( $main , $svn ) = @_;
+	my $svn = shift;
+	return -1 unless defined $svn;
+	return -1 if $svn->get_status != Vhffs::Constants::WAITING_FOR_CREATION;
 
+	my $dir = $svn->get_dir;
 
-	my $dir;
-	my $dir2;
-	my $apache_file;
-	my $user_file;
+	if( -e $dir ) {
+		$svn->set_status( Vhffs::Constants::CREATING_ERROR );
+		$svn->commit();
+		$svn->add_history('Error, directory of this svn repository already exists! Administrators must fix the problem.');
+		return -1;
+	}
 
-	if( defined $svn ) 
-	{
-	    $dir = $svn->get_dir;
-	    
-	    if( $svn->get_status == Vhffs::Constants::WAITING_FOR_CREATION )
-	    {
-    		my $ok = 1;
-		
-	    	if( ! -e $dir ) {
-		        Vhffs::Functions::create_dir( $dir ) if( ! -d $dir );
-		        $svn->add_history("Ok, robots find the empty directory and will create subversion repository");
-    			system("svnadmin create --fs-type fsfs $dir");
+	Vhffs::Functions::create_dir( $dir );
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $svn->get_owner_uid , $svn->get_owner_gid );
+	$svn->add_history('Ok, robots find the empty directory and will create svn repository');
 
-	    		Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
-		        Vhffs::Functions::change_owner_recur( $dir , $svn->get_owner_uid , $svn->get_owner_gid );
+	system('svnadmin create --fs-type fsfs '.$dir);
 
-			# .'/hooks' directory must be owned by root to prevent abuse of servers
-	    		Vhffs::Functions::chmod_recur( $dir.'/hooks' , 0644 , 0755 );
-		        Vhffs::Functions::change_owner_recur( $dir.'/hooks' , 0 , 0 );
+	unless( -f $dir.'/format' ) {
+		$svn->set_status( Vhffs::Constants::CREATING_ERROR );
+		$svn->commit();
+		$svn->add_history('Error, nothing was created after calling the svnadmin binary, something is wrong.');
+		return -1;
+	}	
 
-			change_conf( $svn );
-    			$svn->add_history("The Robots created the subversion repository");
-                } else {
-	    		$ok = 0;
-			#TODO support syslog
-			$svn->set_status( Vhffs::Constants::CREATING_ERROR );
-    			$svn->commit();
-	    		$svn->add_history("Error, directory of this subversion already exists ! Administrators must fix the problem");
-	        }
-		if( $ok == 1 ) {
-			$svn->set_status( Vhffs::Constants::ACTIVATED );
-		    
-			if( $svn->commit < 0 ) {
-				$svn->add_history( "Cannot commit changes on the object ! ");
-	    	  	} else {
-		   	 	$svn->add_history( "Subversion repository is now active");
-		        }
-		} else {
-		        $svn->add_history("Object is not created, problem while creating it");
-    		}
-            }
-	}
+	Vhffs::Functions::chmod_recur( $dir , 0664 , 02775 );
+	Vhffs::Functions::change_owner_recur( $dir , $svn->get_owner_uid , $svn->get_owner_gid );
+
+	# './hooks' directory must be owned by root to prevent abuse of servers
+	Vhffs::Functions::chmod_recur( $dir.'/hooks' , 0644 , 0755 );
+	Vhffs::Functions::change_owner_recur( $dir.'/hooks' , 0 , 0 );
+	
+	change_conf( $svn );
+
+	$svn->add_history('The Robots created the subversion repository');
+	$svn->set_status( Vhffs::Constants::ACTIVATED );
+	$svn->commit();
+
+	return 0;
 }
 
 
@@ -173,23 +164,18 @@
 
 sub delete_repo
 {
-	my $main = shift;
+	use File::Path;
+	use File::Basename;
 	my $svn = shift;
+	return -1 unless defined $svn;
 
-	my $dir;
-	my $dir2;
-
-	if( defined $svn ) {
-	    $dir = $svn->get_dir;
-	    system("rm -rf $dir 2>/dev/null");
-	    $svn->delete;
-    } else {
-	    return -1;
-	}
+	my $dir = $svn->get_dir;
+	File::Path::rmtree($dir);
+	my $group_dir = dirname($dir);
+	rmdir $group_dir;
 	
-	return 1;
+	return 0;
 }
 
 
 1;
-

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Web.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Web.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Robots/Web.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -82,12 +82,11 @@
 sub delete
 {
 	use Vhffs::Group;
+	use File::Path;
+	use File::Basename;
 
-	my( $main , $web );
-	$main = shift;
-	$web = shift;
+	my( $main , $web ) = @_;
 
-
 	my $dir;	
 	if(defined $web)
 	{
@@ -108,7 +107,13 @@
 			$web->add_history( "Webdir is now unlinked from the group directory");
 		}
 
-        system("rm -rf '$webdir' 2> /dev/null");
+		File::Path::rmtree( $webdir );
+		my $parent = dirname($webdir);
+		rmdir $parent;
+		$parent = dirname($parent);
+		rmdir $parent;
+		$parent = dirname($parent);
+		rmdir $parent;
 
 		$web->add_history( "Webdir is now erased.");
 		$web->delete;	

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Services/Cron.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Services/Cron.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Services/Cron.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -382,7 +382,7 @@
 	my $request = $self->{'db'}->prepare($query);
 	$request->execute( $self->{'cron_id'} ) or return undef;
 	my @r = $request->fetchrow_array();
-	return ${@r}[0];
+	return $r[0];
 }
 
 sub quick_set_nextrundate

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Services/MailingList.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Services/MailingList.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Services/MailingList.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -563,9 +563,16 @@
 sub get_listname
 {
     my $self = shift;
-    return $self->get_localpart."\@".$self->get_domain;
+    return $self->get_localpart.'@'.$self->get_domain;
 }
 
+
+sub get_listrequestname
+{
+    my $self = shift;
+    return $self->get_localpart.'-request@'.$self->get_domain;
+}
+
 1;
 
 __END__

Copied: branches/vhffs-design/vhffs-api/src/Vhffs/Services/Newsletter.pm (from rev 1556, trunk/vhffs-api/src/Vhffs/Services/Newsletter.pm)
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Services/Newsletter.pm	                        (rev 0)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Services/Newsletter.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,113 @@
+#!%PERL%
+# Copyright (c) vhffs project and its contributors
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+#3. Neither the name of vhffs nor the names of its contributors 
+#   may be used to endorse or promote products derived from this 
+#   software without specific prior written permission.
+#
+#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+# This file is a part of VHFFS4 software, a hosting platform suite
+# Please respect the licence of this file and whole program
+
+# This module helps you to manage a newsletter to contact your users
+
+use strict;
+use utf8;
+
+package Vhffs::Services::Newsletter;
+
+use Vhffs::Services::MailingList;
+
+use constant
+{
+	ACTIVE_OPTIN => 1,
+    	PASSIVE_OPTIN => 2,
+	ACTIVE_OPTOUT => 3,
+	PASSIVE_OPTOUT => 4,
+	PERMANENT => 5,
+};
+
+
+# Create a new instance of the current class
+sub init
+{
+	my $class = shift;
+	my $vhffs = shift;
+	my $user = shift;
+
+	return undef unless ( defined $vhffs  &&  defined  $user  &&  $vhffs->get_config->get_service_availability('newsletter') );
+	my $config = $vhffs->get_config->get_service('newsletter');
+
+	# Fetches the mail domain defined in config
+	my $mailinglist_service;
+	if( defined $config->{'mailinglist'} )  {
+		my ( $localpart , $domain ) =  ( $config->{'mailinglist'} =~ /(.+)\@(.+)/ );
+		$mailinglist_service = Vhffs::Services::MailingList::get_by_mladdress( $vhffs, $localpart, $domain );
+	}
+	return undef unless defined $mailinglist_service;
+
+	my $this = {};
+	$this->{main} = $vhffs;
+	$this->{config} = $config;
+	$this->{user} = $user;
+	$this->{collectmode} = ACTIVE_OPTIN;
+	if( defined $config->{'collectmode'} ) {
+		$this->{collectmode} = PASSIVE_OPTIN if $config->{'collectmode'} eq 'passive_optin';
+		$this->{collectmode} = ACTIVE_OPTOUT if $config->{'collectmode'} eq 'active_optout';
+		$this->{collectmode} = PASSIVE_OPTOUT if $config->{'collectmode'} eq 'passive_optout';
+		$this->{collectmode} = PERMANENT if $config->{'collectmode'} eq 'permanent';
+	}
+	$this->{mailinglist_service} = $mailinglist_service;
+	bless( $this , $class );
+	return $this;
+}
+
+sub exists
+{
+	my $self = shift;
+	return defined $self->{'mailinglist_service'}->get_members->{ $self->{'user'}->get_mail };
+}
+
+sub add
+{
+	my $self = shift;
+	return $self->{'mailinglist_service'}->add_sub( $self->{'user'}->get_mail , Vhffs::Constants::ML_RIGHT_SUB );
+}
+
+sub del
+{
+	my $self = shift;
+	return $self->{'mailinglist_service'}->del_sub( $self->{'user'}->get_mail );
+}
+
+sub get_collectmode
+{
+	my $self = shift;
+	return $self->{collectmode};
+}
+
+1;

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Services/Pgsql.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Services/Pgsql.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Services/Pgsql.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -54,48 +54,6 @@
 use base qw(Vhffs::Object);
 use DBI;
 
-my $supported_encodings = {
-    BIG5        => 1,
-    EUC_CN      => 1,
-    EUC_JP      => 1,
-    EUC_KR      => 1,
-    EUC_TW      => 1,
-    GB18030     => 1,
-    GBK         => 1,
-    ISO_8859_5  => 1,
-    ISO_8859_6  => 1,
-    ISO_8859_7  => 1,
-    ISO_8859_8  => 1,
-    JOHAB       => 1,
-    KOI8        => 1,
-    LATIN1      => 1,
-    LATIN2      => 1,
-    LATIN3      => 1,
-    LATIN4      => 1,
-    LATIN5      => 1,
-    LATIN6      => 1,
-    LATIN7      => 1,
-    LATIN8      => 1,
-    LATIN9      => 1,
-    LATIN10     => 1,
-    MULE_INTERNAL   => 1,
-    SJIS        => 1,
-    SQL_ASCII   => 1,
-    UHC         => 1,
-    UTF8        => 1,
-    WIN866      => 1,
-    WIN874      => 1,
-    WIN1250     => 1,
-    WIN1251     => 1,
-    WIN1252     => 1,
-    WIN1256     => 1,
-    WIN1258     => 1
-};
-
-sub get_supported_encodings() {
-    return $supported_encodings;
-}
-
 =pod
 
 =head2 check_dbname
@@ -167,9 +125,9 @@
 =cut
 
 sub create {
-    my ($main, $dbname, $dbuser, $dbpass, $dbencoding, $description, $user, $group) = @_;
+    my ($main, $dbname, $dbuser, $dbpass, $description, $user, $group) = @_;
     return undef unless(defined($user) && defined($group));
-    return undef unless(check_dbname($dbname) && check_dbpass($dbpass) && check_dbuser($dbuser) && defined $supported_encodings->{$dbencoding});
+    return undef unless(check_dbname($dbname) && check_dbpass($dbpass) && check_dbuser($dbuser));
 
     my $pg;
     my $dbh = $main->get_db_object();
@@ -182,9 +140,9 @@
         my $parent = Vhffs::Object::create($main, $user->get_uid, $group->get_gid, $description, undef, Vhffs::Constants::TYPE_PGSQL);
         die('Unable to create parent object') unless defined ($parent);
 
-        my $sql = 'INSERT INTO vhffs_pgsql(dbname, dbuser, dbpass, dbencoding, object_id) VALUES(?, ?, ?, ?, ?)';
+        my $sql = 'INSERT INTO vhffs_pgsql(dbname, dbuser, dbpass, object_id) VALUES(?, ?, ?, ?)';
         my $sth = $dbh->prepare($sql);
-        $sth->execute($dbname, $dbuser, $dbpass, $dbencoding, $parent->get_oid);
+        $sth->execute($dbname, $dbuser, $dbpass, $parent->get_oid);
 
         $dbh->commit;
         $pg = get_by_dbname($main, $dbname);
@@ -255,12 +213,6 @@
 	return 1;
 }
 
-sub get_dbencoding
-{
-    my $self = shift;
-    return $self->{dbencoding};
-}
-
 sub blank_password
 {   
     my $self = shift;
@@ -271,7 +223,7 @@
 }
 
 sub _new {
-    my ($class, $main, $pgsql_id, $owner_gid, $dbname, $dbuser, $dbpass, $dbencoding, $oid, $owner_uid, $date_creation, $state, $description) = @_;
+    my ($class, $main, $pgsql_id, $owner_gid, $dbname, $dbuser, $dbpass, $oid, $owner_uid, $date_creation, $state, $description) = @_;
     my $self = $class->SUPER::_new($main, $oid, $owner_uid, $owner_gid, $date_creation, $description, '', $state, Vhffs::Constants::TYPE_PGSQL);
     return undef unless(defined $self);
 
@@ -279,7 +231,6 @@
     $self->{dbname} = $dbname;
     $self->{dbuser} = $dbuser;
     $self->{dbpass} = $dbpass;
-    $self->{dbencoding} = $dbencoding;
     return $self;
 }
 
@@ -297,7 +248,7 @@
 sub get_by_dbname($$) {
     my ($vhffs, $dbname) = @_;
 
-    my $sql = q{SELECT m.pgsql_id, o.owner_gid, m.dbname, m.dbuser, m.dbpass, m.dbencoding, o.object_id, o.owner_uid, o.date_creation, o.state, o.description FROM vhffs_pgsql m INNER JOIN vhffs_object o ON o.object_id = m.object_id WHERE m.dbname = ?};
+    my $sql = q{SELECT m.pgsql_id, o.owner_gid, m.dbname, m.dbuser, m.dbpass, o.object_id, o.owner_uid, o.date_creation, o.state, o.description FROM vhffs_pgsql m INNER JOIN vhffs_object o ON o.object_id = m.object_id WHERE m.dbname = ?};
     my $dbh = $vhffs->get_db_object();
     my @params;
     return undef unless(@params = $dbh->selectrow_array($sql, undef, $dbname));
@@ -313,7 +264,7 @@
 =cut
 sub fill_object {
     my ($class, $obj) = @_;
-    my $sql = q{SELECT pgsql_id, dbname, dbuser, dbpass, dbencoding FROM vhffs_pgsql
+    my $sql = q{SELECT pgsql_id, dbname, dbuser, dbpass FROM vhffs_pgsql
         WHERE object_id = ?};
     return $class->SUPER::_fill_object($obj, $sql);
 }
@@ -325,7 +276,7 @@
     my $postgres = [];
     my @params;
 
-    my $sql = 'SELECT p.pgsql_id, o.owner_gid, p.dbname, p.dbuser, p.dbpass, p.dbencoding, o.object_id, o.owner_uid, o.date_creation, o.state, o.description FROM vhffs_pgsql p, vhffs_object o WHERE p.object_id = o.object_id';
+    my $sql = 'SELECT p.pgsql_id, o.owner_gid, p.dbname, p.dbuser, p.dbpass, o.object_id, o.owner_uid, o.date_creation, o.state, o.description FROM vhffs_pgsql p, vhffs_object o WHERE p.object_id = o.object_id';
 
     if(defined $state) {
         $sql .= ' AND o.state = ?';

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/Services/Svn.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/Services/Svn.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/Services/Svn.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -255,7 +255,15 @@
     return $svn;
 }
 
+=head2 get_dir
 
+	$svn->get_dir();
+
+Returns the directory containing the current repository
+(C<datadir>/svn/svnroot/groupname/repository).
+
+=cut
+
 sub get_dir
 {
     my $self = shift;
@@ -264,6 +272,20 @@
     return( $self->{'main'}->get_config->get_datadir . "/svn/svnroot/" . $self->get_reponame );
 }
 
+=head2 get_base_dir
 
+	$svn->get_base_dir();
 
+Returns the directory containing all the repositories.
+
+=cut
+
+sub get_base_dir
+{
+	return undef unless( defined $_[0] );
+	return $_[0]->{main}->get_config->get_datadir.'/svn/svnroot/';
+}
+
+
+
 1;

Modified: branches/vhffs-design/vhffs-api/src/Vhffs/User.pm
===================================================================
--- branches/vhffs-design/vhffs-api/src/Vhffs/User.pm	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-api/src/Vhffs/User.pm	2010-03-14 17:55:02 UTC (rev 1557)
@@ -310,6 +310,11 @@
 		$mu->delforward;
 	}
 
+	# remove subscription from newsletter
+	use Vhffs::Services::Newsletter;
+	my $newsletter = init Vhffs::Services::Newsletter( $self->{'main'} , $self );
+	$newsletter->del if defined $newsletter;
+
     # User references corresponding object with an ON DELETE cascade foreign key
     # so we don't even need to delete user
     # rows that reference this user will be deleted by foreign keys constraints
@@ -348,7 +353,7 @@
 		$vhffs->get_config->get_host_name
 		);
 
-	Vhffs::Functions::send_mail( $vhffs->get_config->get_moderator_mail , $self->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
+	Vhffs::Functions::send_mail( $vhffs , $vhffs->get_config->get_moderator_mail , $self->get_mail , $vhffs->get_config->get_mailtag , $subject , $mail );
 
 	setlocale( LC_ALL , $prevlocale );
 
@@ -396,7 +401,7 @@
 	$from = $vhffs->get_config->get_master_mail;
 	$from = "vhffs\@nosrc.com" if( ! defined $from );
 
-	Vhffs::Functions::send_mail( $from , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $content );
+	Vhffs::Functions::send_mail( $vhffs , $from , $user->get_mail , $vhffs->get_config->get_mailtag , $subject , $content );
 }
 
 


Property changes on: branches/vhffs-design/vhffs-autokill
___________________________________________________________________
Added: svn:ignore
   + Makefile.in
Makefile
autokill
..deps


Copied: branches/vhffs-design/vhffs-autokill/Makefile.am (from rev 1556, trunk/vhffs-autokill/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-autokill/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-autokill/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,7 @@
+if INSTALL_EXTRA
+
+autokilldir=@EXTRADIR@
+autokill_SOURCES=autokill.c
+autokill_PROGRAMS=autokill
+
+endif

Modified: branches/vhffs-design/vhffs-backend/conf/vhffs.conf.dist.in
===================================================================
--- branches/vhffs-design/vhffs-backend/conf/vhffs.conf.dist.in	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-backend/conf/vhffs.conf.dist.in	2010-03-14 17:55:02 UTC (rev 1557)
@@ -73,7 +73,7 @@
 	themesdir		=	@PANELDIR@/themes
 
 	# The default theme
-	default_theme		=	vhffs
+	default_theme		=	light-grey
 
 	# Use captcha ?  Beware, this is going to make subscription impossible by blind users
 	use_captcha		=	no
@@ -102,6 +102,41 @@
 
 
 ######
+# GPG
+#################################################
+<gpg>
+	# Path to the gpg binary
+	gpg_bin		=	/usr/bin/gpg
+
+	# Mails accounts
+	# 
+	# This is a generic backend, if the From: match one of
+	# the next entries then the mail will be signed with gpg
+
+	# Admin mail account
+	<admin@localhost>
+		gnupghome = /etc/vhffs/gpg_adm
+		secretkey = 0x12345678
+		passphrase = secret
+	</admin@localhost>
+
+	# Moderator mail account
+	<moderator@localhost>
+		gnupghome = /etc/vhffs/gpg_modo
+		secretkey = 0x12345678
+		passphrase = secret
+	</moderator@localhost>
+
+	# Another dummy example
+	<any-mail-account-specified-@-this-configuration>
+		gnupghome = /etc/vhffs/gpg_otheraccount
+		secretkey = 0x12345678
+		passphrase = secret
+	</any-mail-account-specified-@-this-configuration>
+</gpg>
+
+
+######
 # DATABASE
 #################################################
 <database>
@@ -400,6 +435,7 @@
 		activate	=	no
 
 		# Default domain is always available, it may be used by users without mail domain
+		# You have to create the corresponding mail domain
 		default_domain	=	lists.vhffs.org
 
 		# URL to public archives
@@ -409,6 +445,29 @@
 		url_doc		=	http://help.myhoster.net/ml
 	</mailinglist>
 
+	# The newsletter service allows a user to subscribe or unsubscribe to a global users mailing
+	# list at subscription to the service and after that in the users preferences
+	<newsletter>
+		# Use this module or not
+		activate	=	no
+
+		# How the subscription to the newsletter is done when the user registers to the service
+		#  active_optin    : The user have to voluntarily check a box to allow receiving mails,
+		#                    this is the default.
+		#  passive_optin   : Same as active_optin, but the box is checked by default.
+		#  active_optout   : The user have to voluntarily check a box to *deny* receiving mails.
+		#  passive_optout  : The user is subscribed to the newsletter at subscription, but
+		#                    he is allowed to change that in user preferences.
+		#  permanent       : The user is permanently subscribed to the newsletter.
+		collectmode	=	active_optin
+
+		# The name of the used mailinglist, it MUST exist in vhffs database
+		mailinglist	=	newsletter@lists.myhost
+
+		# URL to the documentation (optional)
+		url_doc		=	http://help.myhoster.net/mailuser
+	</newsletter>
+
 	# Configuration of download repositories
 	<repository>
 		# Use this module or not

Modified: branches/vhffs-design/vhffs-backend/src/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-backend/src/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-backend/src/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -18,4 +18,4 @@
 	done
 
 backenddir=@BACKENDDIR@
-backend_data=pgsql/initdb.sql
+backend_DATA=pgsql/initdb.sql

Modified: branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.pl
===================================================================
--- branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -31,8 +31,8 @@
 
 # Mirroring script for exim on mx2 (no listengine).
 # Set master & slave DB params and put it in a cron.
-# Slave database must have at least vhffs_mxdomain and
-# vhffs_addresses tables.
+# Slave database must have at least vhffs_mx2domain and
+# vhffs_mx2addresses tables.
 
 use DBI;
 use strict;
@@ -64,9 +64,9 @@
     or die("Unable to open slave connection\n");
 
 # Create temporary tables
-$slave_dbh->do('CREATE TEMPORARY TABLE tmp_mxdomain(LIKE vhffs_mxdomain)')
+$slave_dbh->do('CREATE TEMPORARY TABLE tmp_mxdomain(LIKE vhffs_mx2domain)')
     or die("Unable to create temporary MX domain table\n");
-$slave_dbh->do('CREATE TEMPORARY TABLE tmp_addresses(LIKE vhffs_addresses)')
+$slave_dbh->do('CREATE TEMPORARY TABLE tmp_addresses(LIKE vhffs_mx2addresses)')
     or die("Unable to create temporary boxes table\n");
 
 $master_dbh->{AutoCommit} = 0;
@@ -157,14 +157,14 @@
 
 my $count;
 
-($count = $slave_dbh->do(q{DELETE FROM vhffs_addresses WHERE
+($count = $slave_dbh->do(q{DELETE FROM vhffs_mx2addresses WHERE
     NOT EXISTS(SELECT * FROM tmp_addresses t 
-    WHERE t.domain = vhffs_addresses.domain
-    AND t.local_part = vhffs_addresses.local_part)}))
+    WHERE t.domain = vhffs_mx2addresses.domain
+    AND t.local_part = vhffs_mx2addresses.local_part)}))
     or die("Unable to delete no more existing addresses\n");
 print "$count addresses deleted\n";
 
-($count = $slave_dbh->do(q{DELETE from vhffs_mxdomain
+($count = $slave_dbh->do(q{DELETE from vhffs_mx2domain
     WHERE domain NOT IN(SELECT domain FROM tmp_mxdomain)}))
     or die("Unable to delete o more existing domains\n");
 print "$count domains deleted\n";
@@ -172,22 +172,22 @@
 # The only update case is domain catchall since others data are
 # unique
 
-($count = $slave_dbh->do(q{UPDATE vhffs_mxdomain SET catchall = tmp.catchall
-    FROM tmp_mxdomain tmp WHERE tmp.domain = vhffs_mxdomain.domain}))
+($count = $slave_dbh->do(q{UPDATE vhffs_mx2domain SET catchall = tmp.catchall
+    FROM tmp_mxdomain tmp WHERE tmp.domain = vhffs_mx2domain.domain}))
     or die("Unable to update catchall for existing domains\n");
 print "$count domains updated\n";
 
 # Insert new addresses/domains
 
-($count = $slave_dbh->do(q{INSERT INTO vhffs_mxdomain(domain, catchall)
+($count = $slave_dbh->do(q{INSERT INTO vhffs_mx2domain(domain, catchall)
     SELECT domain, catchall FROM tmp_mxdomain WHERE domain NOT
-    IN(SELECT domain FROM vhffs_mxdomain)}))
+    IN(SELECT domain FROM vhffs_mx2domain)}))
     or die("Unable to insert new mail domains\n");
 print "$count domains added\n";
 
-($count = $slave_dbh->do(q{INSERT INTO vhffs_addresses(domain, local_part)
+($count = $slave_dbh->do(q{INSERT INTO vhffs_mx2addresses(domain, local_part)
     SELECT domain, local_part FROM tmp_addresses tmp WHERE NOT EXISTS(
-    SELECT * FROM vhffs_addresses a WHERE a.domain = tmp.domain AND
+    SELECT * FROM vhffs_mx2addresses a WHERE a.domain = tmp.domain AND
     a.local_part = tmp.local_part)}))
     or die("Unable to insert new addresses\n");
 print "$count addresses added\n";

Modified: branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.sql
===================================================================
--- branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.sql	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-backend/src/mirror/mx2-mirror.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,13 +1,13 @@
-CREATE TABLE vhffs_mxdomain(
+CREATE TABLE vhffs_mx2domain(
     domain VARCHAR,
     catchall VARCHAR
 );
 
-CREATE TABLE vhffs_addresses(
+CREATE TABLE vhffs_mx2addresses(
     local_part VARCHAR,
     domain VARCHAR
 );
 
-CREATE UNIQUE INDEX vhffs_mxdomain_unique_domain ON vhffs_mxdomain(domain);
+CREATE UNIQUE INDEX vhffs_mx2domain_unique_domain ON vhffs_mx2domain(domain);
 
-CREATE UNIQUE INDEX vhffs_addresses_unique_couple ON vhffs_addresses(local_part, domain);
+CREATE UNIQUE INDEX vhffs_mx2addresses_unique_couple ON vhffs_mx2addresses(local_part, domain);

Modified: branches/vhffs-design/vhffs-backend/src/pgsql/initdb.sql.in
===================================================================
--- branches/vhffs-design/vhffs-backend/src/pgsql/initdb.sql.in	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-backend/src/pgsql/initdb.sql.in	2010-03-14 17:55:02 UTC (rev 1557)
@@ -348,6 +348,7 @@
 	date int8 NOT NULL,
 -- History message
 	message varchar(200),
+	source_uid int4 DEFAULT NULL,
 	CONSTRAINT vhffs_history_pkey PRIMARY KEY ( history_id )
 ) WITH OIDS;
 
@@ -356,7 +357,7 @@
     object_id int4 NOT NULL,
     tag_id int4 NOT NULL,
     updated int8 NOT NULL,
-    updater_id int4 NOT NULL,
+    updater_id int4,
     CONSTRAINT vhffs_object_tag_pkey PRIMARY KEY ( object_id, tag_id )
 ) WITH OIDS;
 
@@ -371,8 +372,6 @@
 	dbuser varchar(200) NOT NULL,
 -- Password for the database, cleared after creation
 	dbpass varchar(32) NOT NULL,
--- Character encoding for the database
-    dbencoding varchar(20) NOT NULL DEFAULT 'LATIN1',
 	object_id int4 NOT NULL,
 	CONSTRAINT vhffs_pgsql_pkey PRIMARY KEY (pgsql_id)
 ) WITH OIDS;
@@ -608,6 +607,8 @@
 
 ALTER TABLE vhffs_history ADD CONSTRAINT fk_vhffs_history_vhffs_object FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE;
 
+ALTER TABLE vhffs_history ADD CONSTRAINT fk_vhffs_history_vhffs_users FOREIGN KEY (source_uid) REFERENCES vhffs_users(uid);
+
 ALTER TABLE vhffs_httpd ADD CONSTRAINT fk_vhffs_httpd_vhffs_object FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE;
 
 ALTER TABLE vhffs_ml ADD CONSTRAINT fk_vhffs_ml_vhffs_object FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE;

Deleted: branches/vhffs-design/vhffs-compat/4.1.sql
===================================================================
--- branches/vhffs-design/vhffs-compat/4.1.sql	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-compat/4.1.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,64 +0,0 @@
-ALTER TABLE vhffs_pgsql ADD COLUMN dbencoding VARCHAR(20) NOT NULL DEFAULT 'LATIN1';
-
--- 16 bytes is not enough for vhffs_pgsql.dbuser
-BEGIN;
-ALTER TABLE vhffs_pgsql ADD COLUMN dbuser_new varchar(200);
-UPDATE vhffs_pgsql SET dbuser_new = dbuser;
-ALTER TABLE vhffs_pgsql DROP COLUMN dbuser; 
-ALTER TABLE vhffs_pgsql RENAME COLUMN dbuser_new TO dbuser;
-ALTER TABLE vhffs_pgsql ALTER COLUMN dbuser SET NOT NULL;
-COMMIT;
-
--- add allowpop and allowimap field to vhffs_boxes
-ALTER TABLE vhffs_boxes ADD COLUMN allowpop boolean;
-ALTER TABLE vhffs_boxes ALTER COLUMN allowpop SET DEFAULT true;
-UPDATE vhffs_boxes SET allowpop=true;
-ALTER TABLE vhffs_boxes ALTER COLUMN allowpop SET NOT NULL;
-
-ALTER TABLE vhffs_boxes ADD COLUMN allowimap boolean;
-ALTER TABLE vhffs_boxes ALTER COLUMN allowimap SET DEFAULT true;
-UPDATE vhffs_boxes SET allowimap=true;
-ALTER TABLE vhffs_boxes ALTER COLUMN allowimap SET NOT NULL;
-
--- add vhffs_cron table
-CREATE TABLE vhffs_cron
-(
-        cron_id SERIAL,
-        cronpath varchar NOT NULL,
-        interval int4 NOT NULL,
-        reportmail varchar NOT NULL,
-        lastrundate int8,
-        lastrunreturncode int4,
-        nextrundate int8,
-        running int4,
-        object_id int4 NOT NULL,
-        CONSTRAINT vhffs_cron_pkey PRIMARY KEY( cron_id )
-) WITH OIDS;
-ALTER TABLE vhffs_cron ADD CONSTRAINT vhffs_cron_unique_cronpath UNIQUE (cronpath);
-CREATE INDEX idx_vhffs_cron_nextrun ON vhffs_cron(nextrundate);
-ALTER TABLE vhffs_cron ADD CONSTRAINT fk_vhffs_vhffs_cron_vhffs_object FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE;
-
--- 128 bytes is not enough for vhffs_dns_rr.data, TXT fields might be bigger
-BEGIN;
-ALTER TABLE vhffs_dns_rr ADD COLUMN data_new varchar(512);
-UPDATE vhffs_dns_rr SET data_new = data;
-ALTER TABLE vhffs_dns_rr DROP COLUMN data; 
-ALTER TABLE vhffs_dns_rr RENAME COLUMN data_new TO data;
-ALTER TABLE vhffs_dns_rr ALTER COLUMN data SET NOT NULL;
-COMMIT;
-
-
--- add necessary constraints on tags
-ALTER TABLE vhffs_tag_category ADD CONSTRAINT vhffs_tag_category_unique_label UNIQUE(label);
-ALTER TABLE vhffs_tag ADD CONSTRAINT vhffs_tag_unique_label_category UNIQUE(label , category_id);
-
-ALTER TABLE vhffs_object_tag ADD CONSTRAINT fk_vhffs_object_tag_vhffs_users FOREIGN KEY ( updater_id ) REFERENCES vhffs_users( uid ) ON DELETE SET NULL;
-
--- and not necessary but useful
-CREATE INDEX idx_vhffs_tag_category_visibility ON vhffs_tag_category(visibility);
-
-
--- delete duplicate values in vhffs_ml_subscribers (inserted members where not lowered)
-DELETE FROM vhffs_ml_subscribers WHERE EXISTS ( SELECT 'x' FROM vhffs_ml_subscribers m WHERE LOWER(m.member) = LOWER(vhffs_ml_subscribers.member) AND m.ml_id = vhffs_ml_subscribers.ml_id AND m.sub_id < vhffs_ml_subscribers.sub_id );
-UPDATE vhffs_ml_subscribers set member=LOWER(member);
-

Modified: branches/vhffs-design/vhffs-compat/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-compat/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-compat/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -2,7 +2,8 @@
 
 compatdir = @COMPATDIR@
 dist_compat_DATA = \
-	4.1.sql
+	from-4.1-to-4.2.sql \
+	from-4.2-to-4.3.sql
 
 dist_compat_SCRIPTS = \
 	updatedb.pl \

Copied: branches/vhffs-design/vhffs-compat/from-4.1-to-4.2.sql (from rev 1556, trunk/vhffs-compat/from-4.1-to-4.2.sql)
===================================================================
--- branches/vhffs-design/vhffs-compat/from-4.1-to-4.2.sql	                        (rev 0)
+++ branches/vhffs-design/vhffs-compat/from-4.1-to-4.2.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,66 @@
+ALTER TABLE vhffs_pgsql ADD COLUMN dbencoding VARCHAR(20) NOT NULL DEFAULT 'LATIN1';
+
+-- 16 bytes is not enough for vhffs_pgsql.dbuser
+BEGIN;
+ALTER TABLE vhffs_pgsql ADD COLUMN dbuser_new varchar(200);
+UPDATE vhffs_pgsql SET dbuser_new = dbuser;
+ALTER TABLE vhffs_pgsql DROP COLUMN dbuser; 
+ALTER TABLE vhffs_pgsql RENAME COLUMN dbuser_new TO dbuser;
+ALTER TABLE vhffs_pgsql ALTER COLUMN dbuser SET NOT NULL;
+COMMIT;
+
+-- add allowpop and allowimap field to vhffs_boxes
+ALTER TABLE vhffs_boxes ADD COLUMN allowpop boolean;
+ALTER TABLE vhffs_boxes ALTER COLUMN allowpop SET DEFAULT true;
+UPDATE vhffs_boxes SET allowpop=true;
+ALTER TABLE vhffs_boxes ALTER COLUMN allowpop SET NOT NULL;
+
+ALTER TABLE vhffs_boxes ADD COLUMN allowimap boolean;
+ALTER TABLE vhffs_boxes ALTER COLUMN allowimap SET DEFAULT true;
+UPDATE vhffs_boxes SET allowimap=true;
+ALTER TABLE vhffs_boxes ALTER COLUMN allowimap SET NOT NULL;
+
+-- add vhffs_cron table
+CREATE TABLE vhffs_cron
+(
+        cron_id SERIAL,
+        cronpath varchar NOT NULL,
+        interval int4 NOT NULL,
+        reportmail varchar NOT NULL,
+        lastrundate int8,
+        lastrunreturncode int4,
+        nextrundate int8,
+        running int4,
+        object_id int4 NOT NULL,
+        CONSTRAINT vhffs_cron_pkey PRIMARY KEY( cron_id )
+) WITH OIDS;
+ALTER TABLE vhffs_cron ADD CONSTRAINT vhffs_cron_unique_cronpath UNIQUE (cronpath);
+CREATE INDEX idx_vhffs_cron_nextrun ON vhffs_cron(nextrundate);
+ALTER TABLE vhffs_cron ADD CONSTRAINT fk_vhffs_vhffs_cron_vhffs_object FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE;
+
+-- 128 bytes is not enough for vhffs_dns_rr.data, TXT fields might be bigger
+BEGIN;
+ALTER TABLE vhffs_dns_rr ADD COLUMN data_new varchar(512);
+UPDATE vhffs_dns_rr SET data_new = data;
+ALTER TABLE vhffs_dns_rr DROP COLUMN data; 
+ALTER TABLE vhffs_dns_rr RENAME COLUMN data_new TO data;
+ALTER TABLE vhffs_dns_rr ALTER COLUMN data SET NOT NULL;
+COMMIT;
+
+
+-- add necessary constraints on tags
+ALTER TABLE vhffs_tag_category ADD CONSTRAINT vhffs_tag_category_unique_label UNIQUE(label);
+ALTER TABLE vhffs_tag ADD CONSTRAINT vhffs_tag_unique_label_category UNIQUE(label , category_id);
+
+ALTER TABLE vhffs_object_tag ADD CONSTRAINT fk_vhffs_object_tag_vhffs_users FOREIGN KEY ( updater_id ) REFERENCES vhffs_users( uid ) ON DELETE SET NULL;
+
+-- and not necessary but useful
+CREATE INDEX idx_vhffs_tag_category_visibility ON vhffs_tag_category(visibility);
+
+
+-- delete duplicate values in vhffs_ml_subscribers (inserted members where not lowered)
+DELETE FROM vhffs_ml_subscribers WHERE EXISTS ( SELECT 'x' FROM vhffs_ml_subscribers m WHERE LOWER(m.member) = LOWER(vhffs_ml_subscribers.member) AND m.ml_id = vhffs_ml_subscribers.ml_id AND m.sub_id < vhffs_ml_subscribers.sub_id );
+UPDATE vhffs_ml_subscribers set member=LOWER(member);
+
+-- Server encoding is always used to avoid compatibility issues
+ALTER TABLE vhffs_pgsql DROP COLUMN dbencoding;

Copied: branches/vhffs-design/vhffs-compat/from-4.2-to-4.3.sql (from rev 1556, trunk/vhffs-compat/from-4.2-to-4.3.sql)
===================================================================
--- branches/vhffs-design/vhffs-compat/from-4.2-to-4.3.sql	                        (rev 0)
+++ branches/vhffs-design/vhffs-compat/from-4.2-to-4.3.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,7 @@
+-- update_id field is cleared when the user is unsubscribing
+ALTER TABLE vhffs_object_tag ALTER COLUMN updater_id DROP NOT NULL;
+
+-- add the user who modified the object in the object's history
+ALTER TABLE vhffs_history ADD COLUMN source_uid INTEGER DEFAULT NULL;
+ALTER TABLE vhffs_history ADD CONSTRAINT fk_vhffs_history_vhffs_users FOREIGN KEY (source_uid) REFERENCES vhffs_users(uid);
+

Modified: branches/vhffs-design/vhffs-doc/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-doc/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-doc/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -2,18 +2,7 @@
 
 docdir = @DOCDIR@
 
-if BUILD_DOC
-VHFFS_DOC_EXTRADATA = html/fr/vhffs-doc.html
-VHFFS_DOC_SRC = src/%/vhffs-doc.xml \
-	src/%/part1/mydns.xml \
-	src/%/part1/mirror.xml \
-	src/%/part1/applis.xml \
-	src/%/part1/services.xml \
-	src/%/part1/exim.xml
-endif
-
 nobase_dist_doc_DATA = \
-	config/exim4-mx1/exim4.conf \
 	config/courier/pop3d \
 	config/courier/imapd \
 	config/courier/pop3d-ssl \
@@ -21,12 +10,15 @@
 	config/courier/authmodulelist \
 	config/courier/authpgsqlrc \
 	config/courier/authdaemonrc \
+	config/apache/panelconf \
+	config/exim4-mx1/exim4.conf \
+	config/exim4-mx1/40_vhffs-lists-transport \
+	config/exim4-mx1/350_vhffs-virtual_boxes-router \
+	config/exim4-mx1/351_vhffs-forwards-router \
+	config/exim4-mx1/40_vhffs-vhffs_local-transport \
+	config/exim4-mx1/352_vhffs-lists-router \
+	config/exim4-mx1/00_vhffs-main \
 	config/exim4-mx2/exim4.conf \
-	config/apache/panelconf $(VHFFS_DOC_EXTRADATA)
+	config/exim4-mx2/00_vhffs \
+	config/exim4-mx2/splitted-conf.patch
 
-html/%/vhffs-doc.html: $(VHFFS_DOC_SRC)
-	test -d $(@D) || $(mkdir_p) $(@D)
-	$(XSLTPROC) --xinclude --output $@ /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl $<
-
-clean-local:
-	rm -rf html

Copied: branches/vhffs-design/vhffs-doc/config/apache/publicconf (from rev 1556, trunk/vhffs-doc/config/apache/publicconf)
===================================================================
--- branches/vhffs-design/vhffs-doc/config/apache/publicconf	                        (rev 0)
+++ branches/vhffs-design/vhffs-doc/config/apache/publicconf	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,33 @@
+<VirtualHost *:80>
+
+        ServerAdmin adm@xxxxxxxxxx
+        ServerName projects.your.host
+        DocumentRoot /usr/share/vhffs/public
+        DirectoryIndex auth.pl index.pl
+
+        <Directory /usr/share/vhffs/public/>
+                AllowOverride FileInfo
+                Options ExecCGI FollowSymLinks
+                Order allow,deny
+                Allow from all
+                AddHandler cgi-script .pl
+        </Directory>
+
+	# Allows to have /tags/Pouet
+       <IfModule mod_rewrite.c>
+                RewriteEngine On
+		# This is the only way we found to handle
+		# tags with a plus in their label
+                RewriteCond %{THE_REQUEST} ^(?:GET|POST)\ /tags/([^/?]+)(?:\?(\S+))?\ HTTP/\d\.\d$
+                RewriteRule . /tagsearch.pl?search=%1&%2 [NE,L]
+        </IfModule>
+
+        ErrorLog /var/log/apache2/projects-error.log
+
+        # Possible values include:
+        #   debug, info, notice, warn, error, crit, alert, emerg
+        LogLevel warn
+
+        CustomLog /var/log/apache2/projects-access.log combined
+        ServerSignature On
+</VirtualHost>

Modified: branches/vhffs-design/vhffs-doc/config/exim4-mx2/exim4.conf
===================================================================
--- branches/vhffs-design/vhffs-doc/config/exim4-mx2/exim4.conf	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-doc/config/exim4-mx2/exim4.conf	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,9 +1,10 @@
 hide pgsql_servers = PGHOST/PGDB/PGUSER/PGPASS
+# Use these query if your MX2 directly uses VHFFS database
 PGSQL_RELAY_DOMAIN = ${lookup pgsql{SELECT domain FROM vhffs_mxdomain WHERE domain = '${quote_pgsql:$domain}'}}
-# Use this query if your MX2 directly uses VHFFS database
 PGSQL_RELAY_CHECKLOCALPART = ${lookup pgsql{SELECT d.domain FROM vhffs_mxdomain d WHERE d.domain = '${quote_pgsql:$domain}' AND (d.catchall != '' OR EXISTS (SELECT domain FROM vhffs_boxes WHERE domain = '${quote_pgsql:$domain}' AND local_part = '${quote_pgsql:$local_part}' AND state = 6) OR EXISTS (SELECT domain FROM vhffs_forward WHERE domain = '${quote_pgsql:$domain}' AND local_part = '${quote_pgsql:$local_part}') OR EXISTS (SELECT domain FROM vhffs_ml WHERE domain = '${quote_pgsql:$domain}' AND (local_part = '${quote_pgsql:$local_part}' OR local_part || '-request' = '${quote_pgsql:$local_part}')))}}
-# Use this query if your MX has a mirrored VHFFS db (using mirror-mx2.pl)
-# PGSQL_RELAY_CHECKLOCALPART = ${lookup pgsql{SELECT d.domain FROM vhffs_mxdomain d WHERE d.domain = '${quote_pgsql:$domain}' AND (d.catchall != '' OR EXISTS (SELECT domain FROM vhffs_addresses WHERE domain = '${quote_pgsql:$domain}' AND local_part = '${quote_pgsql:$local_part}'))}}
+# Use these query if your MX has a mirrored VHFFS db (using mirror-mx2.pl)
+# PGSQL_RELAY_DOMAIN = ${lookup pgsql{SELECT domain FROM vhffs_mx2domain WHERE domain = '${quote_pgsql:$domain}'}}
+# PGSQL_RELAY_CHECKLOCALPART = ${lookup pgsql{SELECT d.domain FROM vhffs_mx2domain d WHERE d.domain = '${quote_pgsql:$domain}' AND (d.catchall != '' OR EXISTS (SELECT domain FROM vhffs_mx2addresses WHERE domain = '${quote_pgsql:$domain}' AND local_part = '${quote_pgsql:$local_part}'))}}
 
 exim_path = /usr/sbin/exim4
 


Property changes on: branches/vhffs-design/vhffs-forum
___________________________________________________________________
Added: svn:ignore
   + Makefile
Makefile.in


Copied: branches/vhffs-design/vhffs-forum/Makefile.am (from rev 1556, trunk/vhffs-forum/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-forum/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-forum/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,8 @@
+if INSTALL_EXTRA
+
+forumdir=@EXTRADIR@/forum
+dist_forum_DATA=antibot.tar.bz2 \
+	punbb-1.2.14_vhffs.patch \
+	punbb-1.2.15_vhffs.patch
+
+endif

Copied: branches/vhffs-design/vhffs-forum/punbb-1.2.22_loginlength.path (from rev 1556, trunk/vhffs-forum/punbb-1.2.22_loginlength.path)
===================================================================
--- branches/vhffs-design/vhffs-forum/punbb-1.2.22_loginlength.path	                        (rev 0)
+++ branches/vhffs-design/vhffs-forum/punbb-1.2.22_loginlength.path	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,14 @@
+diff -Nru punbb-1.2.22.orig/upload/login.php punbb-1.2.22/upload/login.php
+--- punbb-1.2.22.orig/upload/login.php	2008-10-23 09:49:10.000000000 +0200
++++ punbb-1.2.22/upload/login.php	2010-02-15 14:55:33.000000000 +0100
+@@ -209,8 +209,8 @@
+ 						<div class="infldset">
+ 							<input type="hidden" name="form_sent" value="1" />
+ 							<input type="hidden" name="redirect_url" value="<?php echo $redirect_url ?>" />
+-							<label class="conl"><strong><?php echo $lang_common['Username'] ?></strong><br /><input type="text" name="req_username" size="25" maxlength="25" tabindex="1" /><br /></label>
+-							<label class="conl"><strong><?php echo $lang_common['Password'] ?></strong><br /><input type="password" name="req_password" size="16" maxlength="16" tabindex="2" /><br /></label>
++							<label class="conl"><strong><?php echo $lang_common['Username'] ?></strong><br /><input type="text" name="req_username" size="32" maxlength="32" tabindex="1" /><br /></label>
++							<label class="conl"><strong><?php echo $lang_common['Password'] ?></strong><br /><input type="password" name="req_password" size="32" maxlength="32" tabindex="2" /><br /></label>
+ 							<p class="clearb"><?php echo $lang_login['Login info'] ?></p>
+ 							<p><a href="register.php" tabindex="4"><?php echo $lang_login['Not registered'] ?></a>&nbsp;&nbsp;
+ 							<a href="login.php?action=forget" tabindex="5"><?php echo $lang_login['Forgotten pass'] ?></a></p>


Property changes on: branches/vhffs-design/vhffs-fs
___________________________________________________________________
Modified: svn:ignore
   - configure
Makefile.in
config.log
config.h
..deps
Makefile
config.status
stamp-h1
autom4te.cache
vhffsfs
aclocal.m4

   + configure
Makefile.in
config.log
config.h
..deps
Makefile
config.status
stamp-h1
autom4te.cache
vhffsfs
aclocal.m4
depcomp
rquota.h
rquota_xdr.c
missing
rquota_clnt.c
install-sh



Modified: branches/vhffs-design/vhffs-fs/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-fs/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fs/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,7 +1,7 @@
 vhffsfsdir=@VHFFSFSDIR@
 vhffsfs_SOURCES=rquota_xdr.c rquota_clnt.c rquota.h md5.h rquota.x md5c.c vhffsfs.c
 vhffsfs_PROGRAMS=vhffsfs
-dist_vhffsfs_SCRIPTS=vhffsfs_run.sh
+dist_vhffsfs_SCRIPTS=vhffsfs_run
 
 vhffsfsconfdir=@CONFDIR@
 dist_vhffsfsconf_DATA=vhffsfs.conf.dist

Modified: branches/vhffs-design/vhffs-fs/vhffsfs.c
===================================================================
--- branches/vhffs-design/vhffs-fs/vhffsfs.c	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fs/vhffsfs.c	2010-03-14 17:55:02 UTC (rev 1557)
@@ -25,7 +25,7 @@
 #if HAVE_CONFIG_H
 #include <config.h>
 #else
-#error You've to run configure script before building the sources
+#error You have to run configure script before building the sources
 #endif
 
 #include <fuse.h>

Copied: branches/vhffs-design/vhffs-fs/vhffsfs_run (from rev 1556, trunk/vhffs-fs/vhffsfs_run)
===================================================================
--- branches/vhffs-design/vhffs-fs/vhffsfs_run	                        (rev 0)
+++ branches/vhffs-design/vhffs-fs/vhffsfs_run	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,2 @@
+#!/bin/sh
+./vhffsfs -o allow_other,default_permissions,kernel_cache /mnt/fuse/

Deleted: branches/vhffs-design/vhffs-fs/vhffsfs_run.sh
===================================================================
--- branches/vhffs-design/vhffs-fs/vhffsfs_run.sh	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fs/vhffsfs_run.sh	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1 +0,0 @@
-./vhffsfs -o allow_other,default_permissions,kernel_cache /mnt/fuse/


Property changes on: branches/vhffs-design/vhffs-fssync
___________________________________________________________________
Added: svn:ignore
   + Makefile.in
..deps
vhffsfssync_slave
vhffsfssync_master
Makefile



Modified: branches/vhffs-design/vhffs-fssync/HOWTOCOMPILEANDRUN
===================================================================
--- branches/vhffs-design/vhffs-fssync/HOWTOCOMPILEANDRUN	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fssync/HOWTOCOMPILEANDRUN	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,3 +1,4 @@
-gcc -ggdb -Wall -Werror -o vhffsfssync_master `pkg-config --cflags --libs glib-2.0` vhffsfssync_master.c && ./vhffsfssync_master src
-gcc -ggdb -Wall -Werror -o vhffsfssync_slave `pkg-config --cflags --libs glib-2.0` vhffsfssync_slave.c && ./vhffsfssync_slave dst0 127.0.0.1 4567
+gcc -ggdb -Wall -Werror -o vhffsfssync_master `pkg-config --cflags --libs glib-2.0` vhffsfssync_master.c
+gcc -ggdb -Wall -Werror -o vhffsfssync_slave `pkg-config --cflags --libs glib-2.0` vhffsfssync_slave.c
+gcc -DCHECK -ggdb -Wall -Werror -o vhffsfssync_check `pkg-config --cflags --libs glib-2.0` vhffsfssync_slave.c
 

Copied: branches/vhffs-design/vhffs-fssync/Makefile.am (from rev 1556, trunk/vhffs-fssync/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-fssync/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-fssync/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,18 @@
+if INSTALL_FSSYNC
+
+vhffsfssync_masterdir=@EXTRADIR@/vhffs-fssync
+vhffsfssync_master_SOURCES=vhffsfssync_master.c
+vhffsfssync_master_PROGRAMS=vhffsfssync_master
+vhffsfssync_master_CPPFLAGS=@GLIB_CFLAGS@
+vhffsfssync_master_LDADD=@GLIB_LIBS@
+
+vhffsfssync_slavedir=@EXTRADIR@/vhffs-fssync
+vhffsfssync_slave_SOURCES=vhffsfssync_slave.c
+vhffsfssync_slave_PROGRAMS=vhffsfssync_slave
+vhffsfssync_slave_CPPFLAGS=@GLIB_CFLAGS@
+vhffsfssync_slave_LDADD=@GLIB_LIBS@
+
+#gcc -ggdb -Wall -Werror -o vhffsfssync_master `pkg-config --cflags --libs glib-2.0` vhffsfssync_master.c && ./vhffsfssync_master src
+#gcc -ggdb -Wall -Werror -o vhffsfssync_slave `pkg-config --cflags --libs glib-2.0` vhffsfssync_slave.c && ./vhffsfssync_slave dst0 127.0.0.1 4567
+
+endif

Modified: branches/vhffs-design/vhffs-fssync/vhffsfssync_master.c
===================================================================
--- branches/vhffs-design/vhffs-fssync/vhffsfssync_master.c	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fssync/vhffsfssync_master.c	2010-03-14 17:55:02 UTC (rev 1557)
@@ -26,7 +26,9 @@
 #define DEBUG_NET 0
 #define DEBUG_INOTIFY 0
 #define DEBUG_EVENTS 0
+//#define NDEBUG
 
+#include <assert.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -53,16 +55,22 @@
 /* -- inotify stuff -- */
 
 #define VHFFSFSSYNC_BUF_LEN 4096
-#define VHFFSFSSYNC_WATCH_MASK IN_CREATE|IN_DELETE|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_DONT_FOLLOW|IN_ONLYDIR
-// Not used yet: IN_ATTRIB, IN_DELETE_SELF, IN_MODIFY, IN_MOVE_SELF
+#define VHFFSFSSYNC_WATCH_MASK IN_ATTRIB|IN_CREATE|IN_DELETE|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_DONT_FOLLOW|IN_ONLYDIR
+// Not used yet: IN_DELETE_SELF, IN_MODIFY, IN_MOVE_SELF
 // Will never be used: IN_ACCESS, IN_OPEN, IN_CLOSE_NOWRITE
 
 // each monitor entry is associated with a path, we need to keep it to compute the path
-//char **vhffsfssync_wd_to_path = NULL;
-//int vhffsfssync_wd_to_path_len = 0;  // number of allocated paths
-GHashTable *vhffsfssync_wd_to_path;
-GHashTable *vhffsfssync_path_to_wd;
+//char **vhffsfssync_wd_to_watch = NULL;
+//int vhffsfssync_wd_to_watch_len = 0;  // number of allocated paths
+GHashTable *vhffsfssync_wd_to_watch;
 
+
+typedef struct vhffsfssync_watch_ {
+	int wd;
+	char *dirname;
+	struct vhffsfssync_watch_ *parent;
+} vhffsfssync_watch;
+
 // return a timestamp in ms (it loops for 100000 sec)
 /*inline int vhffsfssync_timestamp()  {
 	struct timeval tv;
@@ -72,22 +80,21 @@
 
 struct vhffsfssync_cookie {
 	uint32_t id;
-	char *from;
+	vhffsfssync_watch *watch;
+	char *filename;
 	gboolean isdir;
 };
 static struct vhffsfssync_cookie vhffsfssync_cookie;
 
-GHashTable *vhffsfssync_missedfiles;
-
 // protos
-int vhffsfssync_add_watch(int inotifyfd, const char *pathname, uint32_t mask);
-int vhffsfssync_modify_watch(int inotifyfd, const char *from, const char *to);
-int vhffsfssync_del_watch(int inotifyfd, const char *pathname, int wd);
-int vhffsfssync_add_watch_recursively(int inotifyfd, const char *pathname, uint32_t mask);
-int vhffsfssync_manage_event_remove(int inotifyfd, char *pathname);
-int vhffsfssync_manage_event_create(int inotifyfd, char *pathname, gboolean sendfile);
+char *vhffsfssync_pathname(vhffsfssync_watch *watch, const char *filename);
+vhffsfssync_watch *vhffsfssync_add_watch(int inotifyfd, vhffsfssync_watch *parent, const char *dirname, uint32_t mask);
+int vhffsfssync_del_watch(int inotifyfd, vhffsfssync_watch *watch);
+vhffsfssync_watch *vhffsfssync_add_watch_recursively(int inotifyfd, vhffsfssync_watch *parent, const char *dirname, uint32_t mask);
+int vhffsfssync_manage_event_remove(int inotifyfd, vhffsfssync_watch *watch, char *filename);
+int vhffsfssync_manage_event_create(int inotifyfd, vhffsfssync_watch *watch, char *filename);
 int vhffsfssync_manage_event(int inotifyfd, struct inotify_event *event);
-int vhffsfssync_fake_events_recursively(int inotifyfd, char *pathname);
+int vhffsfssync_fake_events_recursively(int inotifyfd, vhffsfssync_watch *watch);
 
 
 /* -- network stuff -- */
@@ -214,6 +221,7 @@
 int vhffsfssync_net_file_close(vhffsfssync_conn *conn, vhffsfssync_net_file *file);
 int vhffsfssync_net_remove_file(vhffsfssync_conn *conn, char *pathname);
 void vhffsfssync_net_broadcast_file(char *pathname);
+char *vhffsfssync_net_parent_mtime(char *pathname);
 int vhffsfssync_net_send(vhffsfssync_conn *conn);
 int vhffsfssync_net_recv_event(vhffsfssync_conn *conn, char *event);
 int vhffsfssync_net_parse(vhffsfssync_conn *conn);
@@ -413,15 +421,12 @@
 		return -1;
 
 	file = vhffsfssync_net_file_open(conn, pathname, "r");
-	if(!file) {
-		g_hash_table_insert(vhffsfssync_missedfiles, g_strdup(pathname), "");
+	if(!file)
 		return -1;
-	}
 
-	// if the file is being sent, cancel it
-	vhffsfssync_net_remove_file(conn, pathname);
 	//printf("%d SENDING FILE %s\n", conn->fd, pathname);
 	vhffsfssync_net_send_event(conn, g_strdup_printf("open%c%s%c", '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+	vhffsfssync_net_send_event(conn, vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 
 	// the size of the file is the priority (small files are sent with more priority)
 	// but don't set the priority too low, low value can be used for anything else
@@ -438,6 +443,9 @@
 
 
 void vhffsfssync_net_destroy_file(vhffsfssync_conn *conn, vhffsfssync_net_message_file *filemsg)  {
+	struct stat st;
+	st.st_mtime=0;
+
 	conn->messages = g_list_remove(conn->messages, (vhffsfssync_net_message*)filemsg);
 	conn->messages_num--;
 
@@ -451,7 +459,12 @@
 		}
 	}
 
-	vhffsfssync_net_send_event(conn, g_strdup_printf("close%c%s%c", '\0', filemsg->file->file_pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+	// get mtime
+	if( fstat(fileno(filemsg->file->file_stream), &st) < 0 )  {
+		fprintf(stderr, "fstat() failed on %s: %s\n", filemsg->file->file_pathname, strerror(errno));
+	}
+
+	vhffsfssync_net_send_event(conn, g_strdup_printf("close%c%s%c%ld%c", '\0', filemsg->file->file_pathname, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 	vhffsfssync_net_file_close(conn, filemsg->file);
 	free(filemsg);
 }
@@ -530,9 +543,17 @@
 void vhffsfssync_net_broadcast_file(char *pathname)  {
 
 	GList *conns;
+
+	// if the file is being sent, cancel it
 	for(conns = g_list_first(vhffsfssync_conns) ; conns ; )  {
 		vhffsfssync_conn *conn = conns->data;
 		conns = g_list_next(conns);
+		vhffsfssync_net_remove_file(conn, pathname);
+	}
+
+	for(conns = g_list_first(vhffsfssync_conns) ; conns ; )  {
+		vhffsfssync_conn *conn = conns->data;
+		conns = g_list_next(conns);
 		vhffsfssync_net_send_file(conn, pathname);
 	}
 }
@@ -556,6 +577,29 @@
 }
 
 
+char *vhffsfssync_net_parent_mtime(char *pathname)  {
+	char *cur;
+	struct stat st;
+	char *ret;
+	st.st_mtime = 0;
+
+	for( cur = pathname+strlen(pathname) ; *cur != '/' ; cur-- );
+	*cur = '\0';
+
+	if( lstat(pathname, &st) )  {
+		if(errno == ENOENT) {
+			// file already disappeared (common for temporary files)
+		} else {
+			fprintf(stderr, "cannot lstat() '%s': %s\n", pathname, strerror(errno));
+		}
+	}
+
+	ret = g_strdup_printf("mtime%c%s%c%ld%c", '\0', pathname, '\0', st.st_mtime, '\0');
+	*cur = '/';
+	return ret;
+}
+
+
 int vhffsfssync_net_send(vhffsfssync_conn *conn)  {
 	GList *msgs;
 	gboolean full = FALSE;
@@ -812,17 +856,21 @@
 		if(! lstat(pathname, &st) )  {
 
 			if( S_ISREG(st.st_mode) )  {
+				// if the file is being sent, cancel it
+				vhffsfssync_net_remove_file(conn, pathname);
 				vhffsfssync_net_send_file(conn, pathname);
 			}
 			else if( S_ISDIR(st.st_mode) )  {
-				vhffsfssync_net_send_event(conn, g_strdup_printf("mkdir%c%s%c", '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_send_event(conn, g_strdup_printf("mkdir%c%s%c%ld%c", '\0', pathname, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_send_event(conn, vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 			}
 			else if( S_ISLNK(st.st_mode) )  {
 				char *linkto;
 				linkto = malloc(st.st_size +1);
 				if( readlink(pathname, linkto, st.st_size) >= 0 )  {
 					linkto[st.st_size] = '\0';
-					vhffsfssync_net_send_event(conn, g_strdup_printf("symlink%c%s%c%s%c", '\0', pathname, '\0', linkto, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+					vhffsfssync_net_send_event(conn, g_strdup_printf("symlink%c%s%c%s%c%ld%c", '\0', pathname, '\0', linkto, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+					vhffsfssync_net_send_event(conn, vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 				}
 				free(linkto);
 			}
@@ -1004,34 +1052,32 @@
 		if(d) {
 			struct dirent *dir;
 			GString *msg = g_string_sized_new(1024);
-			g_string_append_printf(msg, "ls%c%s%c", '\0', pathname, '\0');
 
+			g_string_append_printf(msg, "ls%c%s%c", '\0', pathname, '\0' );
+
 			while( (dir = readdir(d)) ) {
 				if( strcmp(dir->d_name, ".") && strcmp(dir->d_name, "..") ) {
 					char *path = g_strdup_printf("%s/%s", pathname, dir->d_name);
+					struct stat st;
 
-					if(dir->d_type == DT_DIR)  {
-						// register a new directory
-						ldirs = g_list_append(ldirs,  path);
-						g_string_append_printf(msg, "%s%cdir%c0%c0%c", dir->d_name, '\0', '\0', '\0', '\0');
-					}
-					else {
-						// file or link
-						struct stat st;
-						if(! lstat(path, &st) )  {
-							if( S_ISREG(st.st_mode) )  {
-								g_string_append_printf(msg, "%s%cfile%c%lld%c%ld%c", dir->d_name, '\0', '\0', (long long int)st.st_size, '\0', st.st_mtime, '\0');
-							}
-							else if( S_ISLNK(st.st_mode) )  {
-								g_string_append_printf(msg, "%s%clink%c%lld%c%ld%c", dir->d_name, '\0', '\0', (long long int)st.st_size, '\0', st.st_mtime, '\0');
-							}
-							/* we don't need other file types (chr, block, fifo, socket, ...) */
+					if(! lstat(path, &st) )  {
+						if( S_ISDIR(st.st_mode) )  {
+							// register a new directory
+							ldirs = g_list_append(ldirs, g_strdup(path));
+							g_string_append_printf(msg, "%s%cdir%c0%c%ld%c", dir->d_name, '\0', '\0', '\0', st.st_mtime, '\0');
 						}
-						else {
-							fprintf(stderr, "cannot lstat() '%s': %s\n", pathname, strerror(errno));
+						else if( S_ISREG(st.st_mode) )  {
+							g_string_append_printf(msg, "%s%cfile%c%lld%c%ld%c", dir->d_name, '\0', '\0', (long long int)st.st_size, '\0', st.st_mtime, '\0');
 						}
-						free(path);
+						else if( S_ISLNK(st.st_mode) )  {
+							g_string_append_printf(msg, "%s%clink%c%lld%c%ld%c", dir->d_name, '\0', '\0', (long long int)st.st_size, '\0', st.st_mtime, '\0');
+						}
+						/* we don't need other file types (chr, block, fifo, socket, ...) */
 					}
+					else {
+						fprintf(stderr, "cannot lstat() '%s': %s\n", path, strerror(errno));
+					}
+					free(path);
 				}
 			}
 			closedir(d);
@@ -1153,153 +1199,180 @@
 
 /* -- inotify stuff -- */
 
-int vhffsfssync_add_watch(int inotifyfd, const char *pathname, uint32_t mask)  {
+char *vhffsfssync_pathname(vhffsfssync_watch *watch, const char *filename)  {
+	
+	GString *pathname = g_string_sized_new(256);
+	char **dirnames, **curnames, **endnames;
+	uint32_t a;
 
-	int wd;
-	int *_wd;
-	char *_pathname;
+	a = 16;
+	dirnames = malloc( a * sizeof(char*) );
+	curnames = dirnames;
+	endnames = dirnames+a;
 
-	if( g_hash_table_lookup(vhffsfssync_path_to_wd, pathname) )  {
-		return -1;
+	if(filename) {
+		*(curnames++) = (char*)filename;
 	}
 
+	while(watch) {
+		*(curnames++) = watch->dirname;
+		watch = watch->parent;
+		if(curnames == endnames) {
+			a += 16;
+			dirnames = realloc( dirnames, a * sizeof(char*) );
+			curnames = dirnames+a-16;
+			endnames = dirnames+a;
+		}
+	}
+
+	curnames--;
+	g_string_append(pathname, *(curnames--) );
+	while( curnames >= dirnames ) {
+		g_string_append_c(pathname, '/');
+		g_string_append(pathname, *(curnames--)  );
+	}
+	free(dirnames);
+
+	return g_string_free(pathname, FALSE);
+}
+
+
+vhffsfssync_watch *vhffsfssync_add_watch(int inotifyfd, vhffsfssync_watch *parent, const char *dirname, uint32_t mask)  {
+
+	int wd;
+	char *pathname;
+	vhffsfssync_watch *watch;
+
+	pathname = vhffsfssync_pathname(parent, dirname);
+#if DEBUG_INOTIFY
+	printf("t+ %s\n", pathname);
+#endif
+
 	wd = inotify_add_watch(inotifyfd, pathname, mask);
 	if(wd < 0) {
 		if(errno == ENOSPC)  {
 			fprintf(stderr, "Maximum number of watches reached, consider adding more...\n");
 		}
-		return wd;
+		free(pathname);
+		return NULL;
 	}
+ 
+ 	if( (watch = g_hash_table_lookup(vhffsfssync_wd_to_watch, &wd)) ) {
 
-	_wd = g_new(int, 1);
-	*_wd = wd;
-	_pathname = g_strdup(pathname);
-	g_hash_table_insert(vhffsfssync_wd_to_path, _wd, _pathname);
-	g_hash_table_insert(vhffsfssync_path_to_wd, _pathname, _wd);
+		// this was already watched, update name and reattach to the new parent
+		free(watch->dirname);
+		watch->dirname = g_strdup(dirname);
+		watch->parent = parent;
 
-//	if(wd >= vhffsfssync_wd_to_path_len)  {
-//		vhffsfssync_wd_to_path_len = ( (wd >>10) +1) <<10;
-//		vhffsfssync_wd_to_path = realloc( vhffsfssync_wd_to_path, vhffsfssync_wd_to_path_len * sizeof(void*) );
-//	}
-//	vhffsfssync_wd_to_path[wd] = strdup(pathname);
 #if DEBUG_INOTIFY
-	printf("+ %d %s\n", wd, pathname);
+		printf("u+ %d %s\n", wd, pathname);
 #endif
-	return wd;
-}
+		free(pathname);
+		return watch;
+	}
 
+	watch = malloc(sizeof(vhffsfssync_watch));
+	watch->wd = wd;
+	watch->dirname = g_strdup(dirname);
+	watch->parent = parent;
 
-int vhffsfssync_del_watch(int inotifyfd, const char *pathname, int wd)  {
+//	_wd = g_new(int, 1);
+//	*_wd = wd;
+	g_hash_table_insert(vhffsfssync_wd_to_watch, &watch->wd, watch);
 
-	if(!pathname && wd > 0)  {
-		pathname = (char*)g_hash_table_lookup(vhffsfssync_wd_to_path, &wd);
-		// this wd has already been deleted
-		if(!pathname) return -1;
-	}
-	else if(pathname && wd == 0) {
-		int *_wd;
-		_wd = g_hash_table_lookup(vhffsfssync_path_to_wd, pathname);
-		// this wd has already been deleted
-		if(!_wd) return -1;
- 		wd = *_wd;
-	}
-	else return -1;
+//	if(wd >= vhffsfssync_wd_to_watch_len)  {
+//		vhffsfssync_wd_to_watch_len = ( (wd >>10) +1) <<10;
+//		vhffsfssync_wd_to_watch = realloc( vhffsfssync_wd_to_watch, vhffsfssync_wd_to_watch_len * sizeof(void*) );
+//	}
+//	vhffsfssync_wd_to_watch[wd] = strdup(pathname);
 #if DEBUG_INOTIFY
-	printf("- %d %s\n", wd, pathname);
+	printf("a+ %d %s\n", wd, pathname);
 #endif
-	g_hash_table_remove(vhffsfssync_path_to_wd, pathname);
-	g_hash_table_remove(vhffsfssync_wd_to_path, &wd);
-	return inotify_rm_watch(inotifyfd, wd);
+	free(pathname);
+	return watch;
 }
 
 
-int vhffsfssync_modify_watch(int inotifyfd, const char *from, const char *to)  {
+int vhffsfssync_del_watch(int inotifyfd, vhffsfssync_watch *watch)  {
 
-	int wd;
-	int *_wd;
-	char *_to;
-
-	_wd = g_hash_table_lookup(vhffsfssync_path_to_wd, from);
-	if(!_wd) return -1;
-	wd = *_wd;
-
-	g_hash_table_remove(vhffsfssync_path_to_wd, from);
-	g_hash_table_remove(vhffsfssync_wd_to_path, _wd);
-
-	_wd = g_new(int, 1);
-	*_wd = wd;
-	_to = strdup(to);
-	g_hash_table_insert(vhffsfssync_wd_to_path, _wd, _to);
-	g_hash_table_insert(vhffsfssync_path_to_wd, _to, _wd);
-
 #if DEBUG_INOTIFY
-	printf("= %d %s -> %s\n", wd, from, to);
+	char *pathname = vhffsfssync_pathname(watch, NULL);
+	printf("- %d %s\n", watch->wd, pathname);
+	free(pathname);
 #endif
+	g_hash_table_remove(vhffsfssync_wd_to_watch, &watch->wd);
+	inotify_rm_watch(inotifyfd, watch->wd);
+	free(watch->dirname);
+	free(watch);
 	return 0;
 }
 
 
-int vhffsfssync_add_watch_recursively(int inotifyfd, const char *pathname, uint32_t mask)  {
+vhffsfssync_watch *vhffsfssync_add_watch_recursively(int inotifyfd, vhffsfssync_watch *parent, const char *dirname, uint32_t mask)  {
 
-	int wd;
+	vhffsfssync_watch *watch;
+	char *pathname;
 	DIR *d;
 
-	wd = vhffsfssync_add_watch(inotifyfd, pathname, mask);
-	if(wd < 0) return wd;
+	watch = vhffsfssync_add_watch(inotifyfd, parent, dirname, mask);
+	if(!watch) return NULL;
 
+	pathname = vhffsfssync_pathname(parent, dirname);
 	d = opendir(pathname);
+	free(pathname);
 	if(d) {
 		struct dirent *dir;
 		while( (dir = readdir(d)) )  {
 			if(dir->d_type == DT_DIR && strcmp(dir->d_name, ".") && strcmp(dir->d_name, "..") )  {
-				char *path;
-				path = g_strdup_printf("%s/%s", pathname, dir->d_name);
-				wd = vhffsfssync_add_watch_recursively(inotifyfd, path, mask);
-				free(path);
+				vhffsfssync_add_watch_recursively(inotifyfd, watch, dir->d_name, mask);
 			}
 		}
 		closedir(d);
 	}
 
-	return wd;
+	return watch;
 }
 
 
-int vhffsfssync_manage_event_remove(int inotifyfd, char *pathname)  {
+int vhffsfssync_manage_event_remove(int inotifyfd, vhffsfssync_watch *watch, char *filename)  {
+	char *pathname;
 	GList *conns;
-	int *_wd;
 
+	pathname = vhffsfssync_pathname(watch, filename);
+
 #if DEBUG_INOTIFY
 	printf("==> REMOVE %s\n", pathname);
 #endif
-	g_hash_table_remove(vhffsfssync_missedfiles, pathname);
 
-	if( (_wd = g_hash_table_lookup(vhffsfssync_path_to_wd, pathname)) )  {
-		vhffsfssync_del_watch(inotifyfd, NULL, *_wd);
-	}
-
 	/* connections */
 	for(conns = g_list_first(vhffsfssync_conns) ; conns ; )  {
 		vhffsfssync_conn *conn = conns->data;
 		conns = g_list_next(conns);
 		vhffsfssync_net_remove_file(conn, pathname);
 		vhffsfssync_net_send_event(conn, g_strdup_printf("remove%c%s%c", '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+		vhffsfssync_net_send_event(conn, vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 	}
+
+	free(pathname);
 	return 0;
 }
 
 
-int vhffsfssync_manage_event_create(int inotifyfd, char *pathname, gboolean sendfile)  {
+int vhffsfssync_manage_event_create(int inotifyfd, vhffsfssync_watch *watch, char *filename)  {
 	struct stat st;
+	char *pathname;
 
+	pathname = vhffsfssync_pathname(watch, filename);
+
 	if(! lstat(pathname, &st) )  {
 
 		if( S_ISREG(st.st_mode) )  {
 #if DEBUG_INOTIFY
 			printf("==> CREATE %s\n", pathname);
 #endif
-			if(!sendfile)  {
-				vhffsfssync_net_broadcast_event( g_strdup_printf("create%c%s%c", '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+			if(!st.st_size)  {
+				vhffsfssync_net_broadcast_event( g_strdup_printf("create%c%s%c%ld%c", '\0', pathname, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_broadcast_event( vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 			}
 			else {
 				vhffsfssync_net_broadcast_file(pathname);
@@ -1307,14 +1380,16 @@
 		}
 
 		else if( S_ISDIR(st.st_mode) )  {
+			vhffsfssync_watch *newwatch;
 #if DEBUG_INOTIFY
 			printf("==> MKDIR %s\n", pathname);
 #endif
-			vhffsfssync_add_watch(inotifyfd, pathname, VHFFSFSSYNC_WATCH_MASK);
-			vhffsfssync_net_broadcast_event( g_strdup_printf("mkdir%c%s%c", '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+			newwatch = vhffsfssync_add_watch(inotifyfd, watch, filename, VHFFSFSSYNC_WATCH_MASK);
+			vhffsfssync_net_broadcast_event( g_strdup_printf("mkdir%c%s%c%ld%c", '\0', pathname, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+			vhffsfssync_net_broadcast_event( vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 			/* there is a short delay between the mkdir() and the add_watch(),
 			   we need to send events about the data which have already been written */
-			vhffsfssync_fake_events_recursively( inotifyfd, pathname );
+			vhffsfssync_fake_events_recursively( inotifyfd, newwatch );
 		}
 
 		else if( S_ISLNK(st.st_mode) )  {
@@ -1327,15 +1402,16 @@
 #if DEBUG_INOTIFY
 				printf("==> SYMLINK %s -> %s\n", pathname, linkto);
 #endif
-				vhffsfssync_net_broadcast_event( g_strdup_printf("symlink%c%s%c%s%c", '\0', pathname, '\0', linkto, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_broadcast_event( g_strdup_printf("symlink%c%s%c%s%c%ld%c", '\0', pathname, '\0', linkto, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_broadcast_event( vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
 			}
 			free(linkto);
 			if(ret < 0) {
 				if(errno == ENOENT) {
 					// file already disappeared (common for temporary files)
-					g_hash_table_insert(vhffsfssync_missedfiles, g_strdup(pathname), "");
 				} else {
 					fprintf(stderr, "cannot readlink() '%s': %s\n", pathname, strerror(errno));
+					free(pathname);
 					return -1;
 				}
 			}
@@ -1346,20 +1422,22 @@
 	else {
 		if(errno == ENOENT) {
 			// file already disappeared (common for temporary files)
-			g_hash_table_insert(vhffsfssync_missedfiles, g_strdup(pathname), "");
 		} else {
 			fprintf(stderr, "cannot lstat() '%s': %s\n", pathname, strerror(errno));
+			free(pathname);
 			return -1;
 		}
 	}
 
+	free(pathname);
 	return 0;
 }
 
 
 int vhffsfssync_manage_event(int inotifyfd, struct inotify_event *event)  {
 
-	char *dirpath, *pathname;
+	vhffsfssync_watch *watch;
+	char *pathname;
 #if DEBUG_INOTIFY
 	printf("wd=%d mask=%x cookie=%d len=%d", event->wd, event->mask, event->cookie, event->len);
 	if(event->len > 0) printf(" name=%s", event->name);
@@ -1371,43 +1449,53 @@
 		return -1;
 	}
 
-	dirpath = (char*)g_hash_table_lookup(vhffsfssync_wd_to_path, &event->wd);
-	// this wd has been deleted
-	if(!dirpath) return -1;
+	watch = g_hash_table_lookup(vhffsfssync_wd_to_watch, &event->wd);
+	assert( watch != NULL );
 
 	if(event->len > 0)  {
-		pathname = g_strdup_printf("%s/%s", dirpath, event->name);
+		pathname = vhffsfssync_pathname(watch, event->name);
 	} else {
-		pathname = strdup(dirpath);
+		pathname = vhffsfssync_pathname(watch, NULL);
 	}
 
 	// this event is not waiting for a cookie, delete file if necessary (IN_MOVED_FROM not followed with IN_MOVED_TO)
 	if( !(event->mask & IN_MOVED_TO) && vhffsfssync_cookie.id )  {
 
-		vhffsfssync_manage_event_remove(inotifyfd, vhffsfssync_cookie.from);
+		vhffsfssync_manage_event_remove(inotifyfd, vhffsfssync_cookie.watch, vhffsfssync_cookie.filename);
 		vhffsfssync_cookie.id = 0;
-		free(vhffsfssync_cookie.from);
+		free(vhffsfssync_cookie.filename);
 	}
 
-	// useless at the moment (chmod, chown, touch, ...)
+	// new mtime (and also atime, chmod and chown, but we are not using them)
 	if( event->mask & IN_ATTRIB )  {
+		struct stat st;
 #if DEBUG_INOTIFY
 		printf("IN_ATTRIB\n");
 #endif
+		if(! lstat(pathname, &st) )  {
+			vhffsfssync_net_broadcast_event( g_strdup_printf("mtime%c%s%c%ld%c", '\0', pathname, '\0', st.st_mtime, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+		}
+		else {
+			if(errno == ENOENT) {
+				// file already disappeared (common for temporary files)
+			} else {
+				fprintf(stderr, "cannot lstat() '%s': %s\n", pathname, strerror(errno));
+			}
+		}
 
 	// new file, directory, or symlink
 	} else if( event->mask & IN_CREATE )  {
 #if DEBUG_INOTIFY
 		printf("IN_CREATE\n");
 #endif
-		vhffsfssync_manage_event_create(inotifyfd, pathname, FALSE);
+		vhffsfssync_manage_event_create(inotifyfd, watch, event->name);
 
 	// deleted file, directory or symlink
 	} else if( event->mask & IN_DELETE )  {
 #if DEBUG_INOTIFY
 		printf("IN_DELETE\n");
 #endif
-		vhffsfssync_manage_event_remove(inotifyfd, pathname);
+		vhffsfssync_manage_event_remove(inotifyfd, watch, event->name);
 
 	// watch deleted, not used
 	} else if( event->mask & IN_DELETE_SELF )  {
@@ -1418,15 +1506,15 @@
 		// event was added, in this case the add_watch failed to monitor this dir
 		// and we'll not receive a IN_DELETE_SELF for it
 		//
-		//implicit deletion (IN_IGNORED will follow this event)
-		//vhffsfssync_del_watch(inotifyfd, event->wd);
+		// Anyway, a IN_IGNORE event will be sent, IN_DELETE_SELF is only
+		// useful for monitored files, that is not used here.
 
 	// file modified
 	} else if( event->mask & IN_MODIFY )  {
 #if DEBUG_INOTIFY
 		printf("IN_MODIFY\n");
 		/* we can send the data here */
-		printf("==> SEND %s\n", pathname);
+//		printf("==> SEND %s\n", pathname);
 #endif
 	// file modified and closed
 	} else if( event->mask & IN_CLOSE_WRITE )  {
@@ -1456,7 +1544,8 @@
 #endif
 		// set the cookie
 		vhffsfssync_cookie.id = event->cookie;
-		vhffsfssync_cookie.from = strdup(pathname);
+		vhffsfssync_cookie.watch = watch;
+		vhffsfssync_cookie.filename = strdup(event->name);
 		vhffsfssync_cookie.isdir = !!( event->mask & IN_ISDIR );
 
 	} else if( event->mask & IN_MOVED_TO )  {
@@ -1466,26 +1555,30 @@
 		// mv
 		if(vhffsfssync_cookie.id == event->cookie)  {
 #if DEBUG_INOTIFY
-			printf("==> MOVE %s -> %s  (used cookie %d)\n", vhffsfssync_cookie.from, pathname, vhffsfssync_cookie.id);
+			char *tmp = vhffsfssync_pathname(vhffsfssync_cookie.watch, vhffsfssync_cookie.filename);
+			printf("==> MOVE (%d -> %d) %s -> %s  (used cookie %d)\n", vhffsfssync_cookie.watch->wd, watch->wd, tmp, pathname, vhffsfssync_cookie.id);
+			free(tmp);
 #endif
-			if( vhffsfssync_cookie.isdir )
-				vhffsfssync_modify_watch(inotifyfd, vhffsfssync_cookie.from, pathname);
-
-			if(! g_hash_table_lookup(vhffsfssync_missedfiles, vhffsfssync_cookie.from) )  {
-				vhffsfssync_net_broadcast_event( g_strdup_printf("move%c%s%c%s%c", '\0', vhffsfssync_cookie.from, '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+			if( vhffsfssync_cookie.isdir )  {
+				
+				char *frompathname = vhffsfssync_pathname(vhffsfssync_cookie.watch, vhffsfssync_cookie.filename);
+				vhffsfssync_add_watch(inotifyfd, watch, event->name, VHFFSFSSYNC_WATCH_MASK);
+				vhffsfssync_net_broadcast_event( g_strdup_printf("move%c%s%c%s%c", '\0', frompathname, '\0', pathname, '\0') , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_broadcast_event( vhffsfssync_net_parent_mtime(frompathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				vhffsfssync_net_broadcast_event( vhffsfssync_net_parent_mtime(pathname) , VHFFSFSSYNC_NET_PRIO_MEDIUM);
+				free(frompathname);
 			}
 			else {
-				vhffsfssync_manage_event_remove(inotifyfd, vhffsfssync_cookie.from);
-				vhffsfssync_manage_event_create(inotifyfd, pathname, TRUE);
-				g_hash_table_remove(vhffsfssync_missedfiles, vhffsfssync_cookie.from);
+				vhffsfssync_manage_event_remove(inotifyfd, vhffsfssync_cookie.watch, vhffsfssync_cookie.filename);
+				vhffsfssync_manage_event_create(inotifyfd, watch, event->name);
 			}
 
 			vhffsfssync_cookie.id = 0;
-			free(vhffsfssync_cookie.from);
+			free(vhffsfssync_cookie.filename);
 		}
 		// create
 		else  {
-			vhffsfssync_manage_event_create(inotifyfd, pathname, TRUE);
+			vhffsfssync_manage_event_create(inotifyfd, watch, event->name);
 		}
 
 	// watch deleted, clean it
@@ -1493,7 +1586,7 @@
 #if DEBUG_INOTIFY
 		printf("IN_IGNORED\n");
 #endif
-		vhffsfssync_del_watch(inotifyfd, NULL, event->wd);
+		vhffsfssync_del_watch(inotifyfd, watch);
 
 	// this event is not handled, this should not happen
 	} else {
@@ -1507,21 +1600,21 @@
 }
 
 
-int vhffsfssync_fake_events_recursively(int inotifyfd, char *pathname)  {
+int vhffsfssync_fake_events_recursively(int inotifyfd, vhffsfssync_watch *watch)  {
 	DIR *d;
+	char *pathname;
+	
+	pathname = vhffsfssync_pathname(watch, NULL);
+	d = opendir(pathname);
+	free(pathname);
 
-	d = opendir(pathname);
 	if(d) {
 		struct dirent *dir;
 		while( (dir = readdir(d)) ) {
 			if( strcmp(dir->d_name, ".") && strcmp(dir->d_name, "..") ) {
-				char *path;
-				path = g_strdup_printf("%s/%s", pathname, dir->d_name);
-
 				// recursivity is done through vhffsfssync_manage_event_create()
 				// which calls this function
-				vhffsfssync_manage_event_create(inotifyfd, path, TRUE);
-				free(path);
+				vhffsfssync_manage_event_create(inotifyfd, watch, dir->d_name);
 			}
 		}
 		closedir(d);
@@ -1547,7 +1640,7 @@
 int main(int argc, char *argv[])  {
 
 	int inotifyfd, flags;
-	int wd;
+	vhffsfssync_watch *watch;
 
 	int listenfd, opt;
 	struct sockaddr_in src;
@@ -1636,11 +1729,10 @@
 
 	/* -- inotify stuff -- */
 
-	vhffsfssync_wd_to_path = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
-	vhffsfssync_path_to_wd = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
+	vhffsfssync_wd_to_watch = g_hash_table_new_full(g_int_hash, g_int_equal, NULL, NULL);
+	vhffsfssync_cookie.watch = NULL;
 	vhffsfssync_cookie.id = 0;
-	vhffsfssync_cookie.from = NULL;
-	vhffsfssync_missedfiles = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+	vhffsfssync_cookie.filename = NULL;
 
 	inotifyfd = inotify_init();
 
@@ -1651,8 +1743,8 @@
 		fcntl(inotifyfd, F_SETFL, flags);
 	}
 
-	wd = vhffsfssync_add_watch_recursively(inotifyfd, root, VHFFSFSSYNC_WATCH_MASK);
-	if(wd < 0)  {
+	watch = vhffsfssync_add_watch_recursively(inotifyfd, NULL, root, VHFFSFSSYNC_WATCH_MASK);
+	if(!watch)  {
 		fprintf(stderr, "Maximum number of watches probably reached, consider adding more or fixing what is being wrong before running me again (strace is your friend)... byebye!\n");
 		return -1;
 	}

Modified: branches/vhffs-design/vhffs-fssync/vhffsfssync_slave.c
===================================================================
--- branches/vhffs-design/vhffs-fssync/vhffsfssync_slave.c	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-fssync/vhffsfssync_slave.c	2010-03-14 17:55:02 UTC (rev 1557)
@@ -46,6 +46,8 @@
 #include <arpa/inet.h>
 #include <netinet/in.h>
 #include <getopt.h>
+#include <utime.h>
+#include <sys/time.h>
 
 
 /* -- network stuff -- */
@@ -88,7 +90,7 @@
 
 // events protos
 int vhffsfssync_remove(char *pathname);
-int vhffsfssync_mkdir(char *pathname, mode_t mode);
+int vhffsfssync_mkdir(char *pathname, mode_t mode, int long long mtime);
 int vhffsfssync_checkfile(vhffsfssync_conn *conn, char *path, char *type, int long long size, int long long mtime);
 int vhffsfssync_event(vhffsfssync_conn *conn, char *event);
 int vhffsfssync_parse(vhffsfssync_conn *conn);
@@ -209,7 +211,7 @@
 	return 0;
 }
 
-
+#ifndef CHECK
 /* ---------------------------------------- */
 int vhffsfssync_remove(char *pathname)  {
 	struct stat st;
@@ -259,7 +261,7 @@
 
 
 // the content of pathname is modified
-int vhffsfssync_mkdir(char *pathname, mode_t mode)  {
+int vhffsfssync_mkdir(char *pathname, mode_t mode, int long long mtime)  {
 	char *cur, *dirs[64];
 	int i, fd, fd_, argc;
 
@@ -285,10 +287,22 @@
 			break;
 		}
 	}
-	if(fd >= 0) close(fd);
+	if(fd >= 0) {
+		if(mtime && i == argc) {
+			struct timeval tv[2];
+			tv[0].tv_sec = (time_t)mtime;
+			tv[0].tv_usec = 0;
+			tv[1].tv_sec = (time_t)mtime;
+			tv[1].tv_usec = 0;
+			futimes(fd, &tv[0]);
+		}
+		close(fd);
+	}
 	if(i != argc) return -1;
+
 	return 0;
 }
+#endif
 
 
 int vhffsfssync_checkfile(vhffsfssync_conn *conn, char *path, char *type, int long long size, int long long mtime) {
@@ -299,29 +313,33 @@
 
 	// file or link
 	if(! lstat(path, &st) )  {
-		if(! S_ISDIR(st.st_mode) ) {
-			char *type_ = "unknown";
+		char *type_ = "unknown";
 
-			if( S_ISREG(st.st_mode) )  {
-				type_ = "file";
-			}
+		if( S_ISDIR(st.st_mode) )  {
+			type_ = "dir";
+		}
 
-			else if( S_ISLNK(st.st_mode) )  {
-				type_ = "link";
-			}
-			/* we don't need other file types (chr, block, fifo, socket, ...) */
+		else if( S_ISREG(st.st_mode) )  {
+			type_ = "file";
+		}
 
-			if(strcmp(type, type_)) {
-				vhffsfssync_remove(path);
-				fetch = TRUE;
-			}
-			else if(st.st_size != size) {
-				fetch = TRUE;
-			}
-			else if(st.st_mtime < mtime) {
-				fetch = TRUE;
-			}
+		else if( S_ISLNK(st.st_mode) )  {
+			type_ = "link";
 		}
+		/* we don't need other file types (chr, block, fifo, socket, ...) */
+
+		if(strcmp(type, type_)) {
+#ifndef CHECK
+			vhffsfssync_remove(path);
+#endif
+			fetch = TRUE;
+		}
+		else if(!S_ISDIR(st.st_mode) && st.st_size != size) {
+			fetch = TRUE;
+		}
+		else if(st.st_mtime != mtime) {
+			fetch = TRUE;
+		}
 	}
 	else {
 		if(errno == ENOENT) {
@@ -332,15 +350,20 @@
 			return -1;
 		}
 	}
-
+#ifndef CHECK
 	if(fetch) {
 		vhffsfssync_net_send_event(conn, g_strdup_printf("get%c%s%c", '\0', path, '\0') );
 	}
+#else
+	if(fetch) {
+		printf("%s is not synched\n", path );
+	}
+#endif
 
 	return 0;
 }
 
-
+#ifndef CHECK
 int vhffsfssync_event(vhffsfssync_conn *conn, char *event)  {
 	char *cur, **args = NULL;
 	int argalloc = 0, argc = 0;
@@ -373,10 +396,22 @@
 	}
 	else if(!strcmp(args[0], "create")) {
 		char *pathname = args[1];
+		int long long mtime = atoll(args[2]);
 		int fd;
 
 		fd = open(pathname, O_CREAT|O_WRONLY|O_TRUNC, 0644);
 		if(fd >= 0) {
+			struct timeval tv[2];
+
+			tv[0].tv_sec = (time_t)mtime;
+			tv[0].tv_usec = 0;
+			tv[1].tv_sec = (time_t)mtime;
+			tv[1].tv_usec = 0;
+
+			if( futimes(fd, tv) ) {
+				fprintf(stderr, "futimes() failed on %s: %s\n", pathname, strerror(errno));
+			}
+
 			close(fd);
 		}
 		else {
@@ -406,21 +441,51 @@
 	}
 	else if(!strcmp(args[0], "close")) {
 		char *pathname = args[1];
+		int long long mtime = atoll(args[2]);
+		FILE *f;
+
+		f = g_hash_table_lookup(conn->openfiles, pathname);
+		if(f) {
+			struct timeval tv[2];
+
+			fflush(f);
+
+			tv[0].tv_sec = (time_t)mtime;
+			tv[0].tv_usec = 0;
+			tv[1].tv_sec = (time_t)mtime;
+			tv[1].tv_usec = 0;
+
+			if( futimes(fileno(f), tv) ) {
+				fprintf(stderr, "futimes() failed on %s: %s\n", pathname, strerror(errno));
+			}
+		}
 		g_hash_table_remove(conn->openfiles, pathname);
 	}
 	else if(!strcmp(args[0], "mkdir")) {
 		char *path = args[1];
-		vhffsfssync_mkdir(path, 0755);
+		int long long mtime = atoll(args[2]);
+
+		vhffsfssync_mkdir(path, 0755, mtime);
 	}
 	else if(!strcmp(args[0], "symlink")) {
 		char *from = args[1];
 		char *to = args[2];
+		int long long mtime = atoll(args[3]);
 		struct stat st;
+
 		if(! lstat(from, &st) )  {
 			vhffsfssync_remove(from);
 		}
 		if( symlink(to, from) )  {
 			fprintf(stderr, "symlink() failed on %s -> %s: %s\n", from, to, strerror(errno));
+		} else {
+			struct timeval tv[2];
+			tv[0].tv_sec = (time_t)mtime;
+			tv[0].tv_usec = 0;
+			tv[1].tv_sec = (time_t)mtime;
+			tv[1].tv_usec = 0;
+
+			lutimes(from, &tv[0]);
 		}
 	}
 	else if(!strcmp(args[0], "move")) {
@@ -473,12 +538,25 @@
 			conn->chunk_file = NULL;
 		}
 	}
+	else if(!strcmp(args[0], "mtime")) {
+		char *pathname = args[1];
+		int long long mtime = atoll(args[2]);
+		struct timeval tv[2];
+
+		tv[0].tv_sec = (time_t)mtime;
+		tv[0].tv_usec = 0;
+		tv[1].tv_sec = (time_t)mtime;
+		tv[1].tv_usec = 0;
+
+		lutimes(pathname, &tv[0]);
+	}
 	else if(!strcmp(args[0], "ls")) {
 		char *root, *root_;
+
 		root = args[1];
 		root_ = strdup(root);
 
-		if(! vhffsfssync_mkdir(root, 0755) ) {
+		if(! vhffsfssync_mkdir(root, 0755, 0) ) {
 			int i;
 			GHashTable *filesindex;
 			DIR *d;
@@ -537,8 +615,133 @@
 	free(args);
 	return ret;
 }
+#endif
 
 
+#ifdef CHECK
+int vhffsfssync_event(vhffsfssync_conn *conn, char *event)  {
+	char *cur, **args = NULL;
+	int argalloc = 0, argc = 0;
+	int ret = 0;
+
+	do {
+		for(cur = event ; *cur++ != '\0' ; );
+
+		if(argc >= argalloc)  {
+			argalloc = ( (argc >>8) +1) <<8;
+			args = realloc( args, argalloc * sizeof(char*) );
+		}
+
+		args[argc++] = event;
+		event = cur;
+	} while(*event);
+	if(!argc) return -1;
+
+#if DEBUG_EVENTS
+	int i;
+	for(i = 0 ; i < argc ; i++) {
+		printf("%s ", args[i]);
+	}
+	printf("\n");
+#endif
+
+	if(!strcmp(args[0], "remove")) {
+	}
+	else if(!strcmp(args[0], "create")) {
+	}
+	else if(!strcmp(args[0], "open")) {
+	}
+	else if(!strcmp(args[0], "close")) {
+	}
+	else if(!strcmp(args[0], "mkdir")) {
+	}
+	else if(!strcmp(args[0], "symlink")) {
+	}
+	else if(!strcmp(args[0], "move")) {
+	}
+	else if(!strcmp(args[0], "write")) {
+		ssize_t size = atol(args[3]);
+		conn->chunk_stilltoread = size;
+	}
+	else if(!strcmp(args[0], "mtime")) {
+	}
+	else if(!strcmp(args[0], "ls")) {
+		char *root, *root_;
+		struct stat st;
+
+		root = args[1];
+		root_ = strdup(root);
+
+		printf("\033[2K\033[0G%s - ", root);
+		fflush(stdout);
+
+		if( lstat(root, &st) ) {
+			printf("%s not found on slave\n", root );
+		}
+		else {
+			int i;
+			GHashTable *filesindex;
+			DIR *d;
+
+			// build an index with all files
+			filesindex = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL);
+
+			// check each file
+			for( i = 2 ; i < argc ; i+=4 ) {
+				char *path;
+				g_hash_table_insert(filesindex, args[i], args[i]);
+
+				path = g_strdup_printf("%s/%s", root_, args[i]);
+				vhffsfssync_checkfile(conn, path, args[i+1], atoll(args[i+2]), atoll(args[i+3]) );
+				free(path);
+			}
+
+			// check for removed files
+			d = opendir(root_);
+			if(d) {
+				struct dirent *dir;
+				while( (dir = readdir(d)) )  {
+					if(strcmp(dir->d_name, ".") && strcmp(dir->d_name, "..") )  {
+						if(! g_hash_table_lookup(filesindex, dir->d_name) )  {
+							char *path = g_strdup_printf("%s/%s", root_, dir->d_name);
+							printf("%s found on slave, not present on master\n", path );
+							free(path);
+						}
+					}
+				}
+				closedir(d);
+			}
+			else {
+				printf("%s is not a directory\n", root );
+			}
+			g_hash_table_destroy(filesindex);
+		}
+		free(root_);
+	}
+	else if(!strcmp(args[0], "time")) {
+		time_t sec;
+		struct timeval tv;
+		gettimeofday(&tv, NULL);
+		sec = atol(args[1]);
+		if( abs(tv.tv_sec - sec) > 10 ) {
+			fprintf(stderr, "The slave timestamp is not synchronous with the master timestamp\n");
+			ret = -1;
+		}
+	}
+	else if(!strcmp(args[0], "hello")) {
+		// nice to meet you
+	}
+	else {
+		fprintf(stderr, "Received unhandled event: %s\n", args[0]);
+		ret = -1;
+	}
+
+	free(args);
+	return ret;
+}
+#endif
+
+
 int vhffsfssync_parse(vhffsfssync_conn *conn)  {
 	char *cur, *end;
 
@@ -658,6 +861,10 @@
 	char *root = NULL;
 	int limitrate = 0;
 
+#ifdef CHECK
+	foreground = 1;
+#endif
+
 	struct option long_options[] = {
 		{ "foreground", no_argument, NULL, 'f' },
 		{ "limit-rate", required_argument, NULL, 'r' },

Modified: branches/vhffs-design/vhffs-intl/POTFILES.in
===================================================================
--- branches/vhffs-design/vhffs-intl/POTFILES.in	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/POTFILES.in	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,330 +1,262 @@
-vhffs-public/tt-test.pl
-vhffs-public/index.pl
-vhffs-public/allgroups.pl
-vhffs-public/group.pl
-vhffs-public/groupsearch.pl
-vhffs-public/allwebsites.pl
-vhffs-public/lastgroups.pl
-vhffs-public/getavatar.pl
-vhffs-public/websitesearch.pl
-vhffs-public/usersearch.pl
-vhffs-public/user.pl
-vhffs-public/tagsearch.pl
-vhffs-public/lastusers.pl
-vhffs-public/extern/newusersrss.pl
-vhffs-public/extern/newgroupsrss.pl
-vhffs-public/extern/stats.pl
-vhffs-jabber/vhffspipe.pl
-vhffs-robots/src/mysql_delete.pl
-vhffs-robots/src/mail_delete.pl
-vhffs-robots/src/dns_delete.pl
-vhffs-robots/src/git_delete.pl
-vhffs-robots/src/object_cleanup.pl
-vhffs-robots/src/user_cleanup.pl
-vhffs-robots/src/group_getquota.pl
-vhffs-robots/src/web_stats.pl
-vhffs-robots/src/user_create.pl
-vhffs-robots/src/mail_create.pl
-vhffs-robots/src/user_getquota.pl
-vhffs-robots/src/cron_create.pl
-vhffs-robots/src/svn_delete.pl
-vhffs-robots/src/mail_deleteboxes.pl
-vhffs-robots/src/svn_websvn.pl
-vhffs-robots/src/mysql_modify.pl
-vhffs-robots/src/svn_public.pl
-vhffs-robots/src/cvs_delete.pl
-vhffs-robots/src/group_delete.pl
-vhffs-robots/src/user_group.pl
-vhffs-robots/src/pgsql_dump.pl
-vhffs-robots/src/dns_create.pl
-vhffs-robots/src/user_delete.pl
-vhffs-robots/src/cron_delete.pl
-vhffs-robots/src/listengine_publicarchives.pl
-vhffs-robots/src/pgsql_create.pl
-vhffs-robots/src/web_create.pl
-vhffs-robots/src/mailinglist_create.pl
-vhffs-robots/src/mailinglist_delete.pl
-vhffs-robots/src/mailing.pl
-vhffs-robots/src/mail_createboxes.pl
-vhffs-robots/src/svn_create.pl
-vhffs-robots/src/web_delete.pl
-vhffs-robots/src/git_create.pl
-vhffs-robots/src/user_setquota.pl
-vhffs-robots/src/git_public.pl
-vhffs-robots/src/repository_stats.pl
-vhffs-robots/src/repository_create.pl
-vhffs-robots/src/svn_viewvcconf.pl
-vhffs-robots/src/repository_setquota.pl
-vhffs-robots/src/mysql_create.pl
-vhffs-robots/src/repository_delete.pl
-vhffs-robots/src/pgsql_modify.pl
-vhffs-robots/src/repository_getquota.pl
-vhffs-robots/src/cvs_fixperms.pl
-vhffs-robots/src/group_setquota.pl
-vhffs-robots/src/cvs_create.pl
-vhffs-robots/src/mysql_dump.pl
-vhffs-robots/src/cvs_viewvcconf.pl
-vhffs-robots/src/group_create.pl
-vhffs-robots/src/pgsql_delete.pl
-vhffs-robots/misc/svn_post-commit.pl
-vhffs-listengine/src/listengine.pl
+vhffs-api/src/examples/add_acl_dns.pl
+vhffs-api/src/examples/add_acl.pl
+vhffs-api/src/examples/create_box.pl
+vhffs-api/src/examples/create_cvs_panel.pl
+vhffs-api/src/examples/create_cvs.pl
+vhffs-api/src/examples/create_dir.pl
+vhffs-api/src/examples/create_dns.pl
+vhffs-api/src/examples/create_forward.pl
+vhffs-api/src/examples/create_group_by_panel.pl
+vhffs-api/src/examples/create_group.pl
+vhffs-api/src/examples/create_list.pl
+vhffs-api/src/examples/create_mail.pl
+vhffs-api/src/examples/create_mysql_panel.pl
+vhffs-api/src/examples/create_mysql.pl
+vhffs-api/src/examples/create_panel_mail.pl
+vhffs-api/src/examples/create_postgres.pl
+vhffs-api/src/examples/create_repository.pl
+vhffs-api/src/examples/create_user.pl
+vhffs-api/src/examples/create_web_panel.pl
+vhffs-api/src/examples/create_web.pl
+vhffs-api/src/examples/delbox.pl
+vhffs-api/src/examples/delete_acl.pl
+vhffs-api/src/examples/generate_password.pl
+vhffs-api/src/examples/get_list.pl
+vhffs-api/src/examples/hashdomain.pl
+vhffs-api/src/examples/hashhome_example.pl
+vhffs-api/src/examples/hashpopuser.pl
+vhffs-api/src/examples/hash_webdir.pl
+vhffs-api/src/examples/join_group.pl
+vhffs-api/src/examples/list_themes.pl
+vhffs-api/src/examples/mailuser_add_box.pl
+vhffs-api/src/examples/mailuser.pl
+vhffs-api/src/examples/modify_acl.pl
+vhffs-api/src/examples/modify_user.pl
+vhffs-api/src/examples/perm_for_user.pl
+vhffs-api/src/examples/print_domain.pl
+vhffs-api/src/examples/show_acl_per_object.pl
+vhffs-api/src/examples/show_dns_per_group.pl
+vhffs-api/src/examples/show_dns_per_user.pl
+vhffs-api/src/examples/show_dumper_cvs.pl
+vhffs-api/src/examples/show_dumper_group.pl
+vhffs-api/src/examples/show_dumper_object.pl
+vhffs-api/src/examples/show_dumper_user.pl
+vhffs-api/src/examples/show_groups_per_user.pl
+vhffs-api/src/examples/show_last_users.pl
+vhffs-api/src/examples/show_mail_conf.pl
+vhffs-api/src/examples/show_mail_per_group.pl
+vhffs-api/src/examples/show_members_from_list.pl
+vhffs-api/src/examples/stats.pl
+vhffs-api/src/Vhffs/Acl.pm
+vhffs-api/src/Vhffs/Conf.pm
+vhffs-api/src/Vhffs/Constants.pm
+vhffs-api/src/Vhffs/Debug.pm
+vhffs-api/src/Vhffs/Functions.pm
+vhffs-api/src/Vhffs/Group.pm
+vhffs-api/src/Vhffs/Listengine.pm
+vhffs-api/src/Vhffs/Mailings.pm
+vhffs-api/src/Vhffs/Main.pm
+vhffs-api/src/Vhffs/ObjectFactory.pm
+vhffs-api/src/Vhffs/Object.pm
+vhffs-api/src/Vhffs/Panel/Admin.pm
+vhffs-api/src/Vhffs/Panel/Avatar.pm
+vhffs-api/src/Vhffs/Panel/Commons.pm
+vhffs-api/src/Vhffs/Panel/Cron.pm
+vhffs-api/src/Vhffs/Panel/Cvs.pm
+vhffs-api/src/Vhffs/Panel/DNS.pm
+vhffs-api/src/Vhffs/Panel/Git.pm
+vhffs-api/src/Vhffs/Panel/Group.pm
+vhffs-api/src/Vhffs/Panel/MailingList.pm
 vhffs-api/src/Vhffs/Panel/Mail.pm
-vhffs-api/src/Vhffs/Panel/Template.pm
+vhffs-api/src/Vhffs/Panel/Main.pm
 vhffs-api/src/Vhffs/Panel/Menu.pm
-vhffs-api/src/Vhffs/Panel/Group.pm
+vhffs-api/src/Vhffs/Panel/Mysql.pm
+vhffs-api/src/Vhffs/Panel/Object.pm
+vhffs-api/src/Vhffs/Panel/Pgsql.pm
 vhffs-api/src/Vhffs/Panel/Public.pm
 vhffs-api/src/Vhffs/Panel/Repository.pm
-vhffs-api/src/Vhffs/Panel/Admin.pm
-vhffs-api/src/Vhffs/Panel/Git.pm
-vhffs-api/src/Vhffs/Panel/Cvs.pm
 vhffs-api/src/Vhffs/Panel/Svn.pm
-vhffs-api/src/Vhffs/Panel/Pgsql.pm
-vhffs-api/src/Vhffs/Panel/Web.pm
-vhffs-api/src/Vhffs/Panel/MailingList.pm
-vhffs-api/src/Vhffs/Panel/Cron.pm
-vhffs-api/src/Vhffs/Panel/Object.pm
-vhffs-api/src/Vhffs/Panel/Mysql.pm
-vhffs-api/src/Vhffs/Panel/Main.pm
-vhffs-api/src/Vhffs/Panel/Avatar.pm
-vhffs-api/src/Vhffs/Panel/Commons.pm
 vhffs-api/src/Vhffs/Panel/Tag.pm
+vhffs-api/src/Vhffs/Panel/Template.pm
 vhffs-api/src/Vhffs/Panel/User.pm
-vhffs-api/src/Vhffs/Panel/DNS.pm
-vhffs-api/src/Vhffs/Conf.pm
-vhffs-api/src/Vhffs/Mailings.pm
-vhffs-api/src/Vhffs/ObjectFactory.pm
-vhffs-api/src/Vhffs/Group.pm
-vhffs-api/src/Vhffs/Functions.pm
-vhffs-api/src/Vhffs/Listengine.pm
-vhffs-api/src/Vhffs/Services/Mail.pm
-vhffs-api/src/Vhffs/Services/Repository.pm
-vhffs-api/src/Vhffs/Services/MailGroup.pm
-vhffs-api/src/Vhffs/Services/Git.pm
-vhffs-api/src/Vhffs/Services/Cvs.pm
-vhffs-api/src/Vhffs/Services/Svn.pm
-vhffs-api/src/Vhffs/Services/Pgsql.pm
-vhffs-api/src/Vhffs/Services/MailUser.pm
-vhffs-api/src/Vhffs/Services/Web.pm
-vhffs-api/src/Vhffs/Services/MailingList.pm
-vhffs-api/src/Vhffs/Services/Cron.pm
-vhffs-api/src/Vhffs/Services/Mysql.pm
-vhffs-api/src/Vhffs/Services/DNS.pm
-vhffs-api/src/Vhffs/Acl.pm
-vhffs-api/src/Vhffs/Object.pm
-vhffs-api/src/Vhffs/Main.pm
-vhffs-api/src/Vhffs/Robots/Mail.pm
-vhffs-api/src/Vhffs/Robots/Group.pm
-vhffs-api/src/Vhffs/Robots/Repository.pm
-vhffs-api/src/Vhffs/Robots/Git.pm
+vhffs-api/src/Vhffs/Panel/Web.pm
+vhffs-api/src/Vhffs/Robots/Cron.pm
 vhffs-api/src/Vhffs/Robots/Cvs.pm
-vhffs-api/src/Vhffs/Robots/Svn.pm
-vhffs-api/src/Vhffs/Robots/Pgsql.pm
-vhffs-api/src/Vhffs/Robots/Web.pm
+vhffs-api/src/Vhffs/Robots/Git.pm
+vhffs-api/src/Vhffs/Robots/Group.pm
 vhffs-api/src/Vhffs/Robots/Mailing.pm
+vhffs-api/src/Vhffs/Robots/Mail.pm
 vhffs-api/src/Vhffs/Robots/Mysql.pm
+vhffs-api/src/Vhffs/Robots/Pgsql.pm
+vhffs-api/src/Vhffs/Robots.pm
+vhffs-api/src/Vhffs/Robots/Repository.pm
+vhffs-api/src/Vhffs/Robots/Svn.pm
 vhffs-api/src/Vhffs/Robots/User.pm
-vhffs-api/src/Vhffs/Constants.pm
+vhffs-api/src/Vhffs/Robots/Web.pm
+vhffs-api/src/Vhffs/Services/Cron.pm
+vhffs-api/src/Vhffs/Services/Cvs.pm
+vhffs-api/src/Vhffs/Services/DNS.pm
+vhffs-api/src/Vhffs/Services/Git.pm
+vhffs-api/src/Vhffs/Services/MailGroup.pm
+vhffs-api/src/Vhffs/Services/MailingList.pm
+vhffs-api/src/Vhffs/Services/Mail.pm
+vhffs-api/src/Vhffs/Services/MailUser.pm
+vhffs-api/src/Vhffs/Services/Mysql.pm
+vhffs-api/src/Vhffs/Services/Newsletter.pm
+vhffs-api/src/Vhffs/Services/Pgsql.pm
+vhffs-api/src/Vhffs/Services.pm
+vhffs-api/src/Vhffs/Services/Repository.pm
+vhffs-api/src/Vhffs/Services/Svn.pm
+vhffs-api/src/Vhffs/Services/Web.pm
+vhffs-api/src/Vhffs/Stats.pm
+vhffs-api/src/Vhffs/Tag/Category.pm
 vhffs-api/src/Vhffs/Tag.pm
-vhffs-api/src/Vhffs/Robots.pm
 vhffs-api/src/Vhffs/Tag/Request.pm
-vhffs-api/src/Vhffs/Tag/Category.pm
 vhffs-api/src/Vhffs/User.pm
-vhffs-api/src/Vhffs/Services.pm
-vhffs-api/src/Vhffs/Debug.pm
-vhffs-api/src/Vhffs/Stats.pm
-vhffs-api/src/examples/show_dns_per_user.pl
-vhffs-api/src/examples/create_repository.pl
-vhffs-api/src/examples/create_web_panel.pl
-vhffs-api/src/examples/delete_acl.pl
-vhffs-api/src/examples/modify_user.pl
-vhffs-api/src/examples/show_mail_per_group.pl
-vhffs-api/src/examples/hashdomain.pl
-vhffs-api/src/examples/modify_acl.pl
-vhffs-api/src/examples/create_forward.pl
-vhffs-api/src/examples/create_mail.pl
-vhffs-api/src/examples/show_dns_per_group.pl
-vhffs-api/src/examples/create_cvs.pl
-vhffs-api/src/examples/create_dir.pl
-vhffs-api/src/examples/hashpopuser.pl
-vhffs-api/src/examples/show_groups_per_user.pl
-vhffs-api/src/examples/show_dumper_group.pl
-vhffs-api/src/examples/create_panel_mail.pl
-vhffs-api/src/examples/show_mail_conf.pl
-vhffs-api/src/examples/mailuser_add_box.pl
-vhffs-api/src/examples/create_mysql_panel.pl
-vhffs-api/src/examples/hash_webdir.pl
-vhffs-api/src/examples/create_group_by_panel.pl
-vhffs-api/src/examples/create_group.pl
-vhffs-api/src/examples/delbox.pl
-vhffs-api/src/examples/perm_for_user.pl
-vhffs-api/src/examples/mailuser.pl
-vhffs-api/src/examples/hashhome_example.pl
-vhffs-api/src/examples/list_themes.pl
-vhffs-api/src/examples/print_domain.pl
-vhffs-api/src/examples/show_dumper_cvs.pl
-vhffs-api/src/examples/create_postgres.pl
-vhffs-api/src/examples/get_list.pl
-vhffs-api/src/examples/create_user.pl
-vhffs-api/src/examples/create_box.pl
-vhffs-api/src/examples/create_mysql.pl
-vhffs-api/src/examples/stats.pl
-vhffs-api/src/examples/generate_password.pl
-vhffs-api/src/examples/create_list.pl
-vhffs-api/src/examples/show_acl_per_object.pl
-vhffs-api/src/examples/create_dns.pl
-vhffs-api/src/examples/show_dumper_object.pl
-vhffs-api/src/examples/add_acl_dns.pl
-vhffs-api/src/examples/join_group.pl
-vhffs-api/src/examples/show_members_from_list.pl
-vhffs-api/src/examples/create_cvs_panel.pl
-vhffs-api/src/examples/show_last_users.pl
-vhffs-api/src/examples/show_dumper_user.pl
-vhffs-api/src/examples/add_acl.pl
-vhffs-api/src/examples/create_web.pl
 vhffs-irc/modobot.pl
-vhffs-compat/updatedb.pl
-vhffs-intl/extra_strings.pl
-vhffs-intl/template_strings.pl
-vhffs-panel/history.pl
-vhffs-panel/object/resubmit.pl
-vhffs-panel/object/quickdelete.pl
-vhffs-panel/object/upavatar.pl
-vhffs-panel/lost_ack.pl
-vhffs-panel/lost.pl
-vhffs-panel/web/index.pl
-vhffs-panel/web/delete.pl
-vhffs-panel/web/prefs.pl
-vhffs-panel/web/create.pl
-vhffs-panel/git/index.pl
-vhffs-panel/git/delete.pl
-vhffs-panel/git/prefs.pl
-vhffs-panel/git/create.pl
-vhffs-panel/svn/index.pl
-vhffs-panel/svn/delete.pl
-vhffs-panel/svn/prefs.pl
-vhffs-panel/svn/create.pl
-vhffs-panel/mail/index.pl
-vhffs-panel/mail/delete.pl
-vhffs-panel/mail/prefs.pl
-vhffs-panel/mail/create.pl
+vhffs-jabber/vhffspipe.pl
+vhffs-listengine/src/listengine.pl
+vhffs-panel/acl/view.pl
+vhffs-panel/admin/broadcast_delete.pl
+vhffs-panel/admin/broadcast_list.pl
+vhffs-panel/admin/broadcast.pl
 vhffs-panel/admin/broadcast_submit.pl
-vhffs-panel/admin/index.pl
-vhffs-panel/admin/object/edit.pl
-vhffs-panel/admin/object/search.pl
-vhffs-panel/admin/object/edit_submit.pl
-vhffs-panel/admin/object/list.pl
-vhffs-panel/admin/object/delete_avatar.pl
-vhffs-panel/admin/web/index.pl
-vhffs-panel/admin/web/search.pl
-vhffs-panel/admin/web/list.pl
-vhffs-panel/admin/su.pl
+vhffs-panel/admin/broadcast_view.pl
+vhffs-panel/admin/cron/index.pl
+vhffs-panel/admin/cron/list.pl
+vhffs-panel/admin/cron/search.pl
+vhffs-panel/admin/cvs/index.pl
+vhffs-panel/admin/cvs/list.pl
+vhffs-panel/admin/cvs/search.pl
+vhffs-panel/admin/dns/index.pl
+vhffs-panel/admin/dns/list.pl
+vhffs-panel/admin/dns/search.pl
 vhffs-panel/admin/git/index.pl
-vhffs-panel/admin/git/search.pl
 vhffs-panel/admin/git/list.pl
-vhffs-panel/admin/svn/index.pl
-vhffs-panel/admin/svn/search.pl
-vhffs-panel/admin/svn/list.pl
+vhffs-panel/admin/git/search.pl
+vhffs-panel/admin/group/index.pl
+vhffs-panel/admin/group/list.pl
+vhffs-panel/admin/group/search.pl
+vhffs-panel/admin/index.pl
 vhffs-panel/admin/mail/index.pl
-vhffs-panel/admin/mail/search.pl
-vhffs-panel/admin/mail/list.pl
-vhffs-panel/admin/pgsql/index.pl
-vhffs-panel/admin/pgsql/search.pl
-vhffs-panel/admin/pgsql/list.pl
-vhffs-panel/admin/dns/index.pl
-vhffs-panel/admin/dns/search.pl
-vhffs-panel/admin/dns/list.pl
-vhffs-panel/admin/broadcast_delete.pl
-vhffs-panel/admin/mysql/index.pl
-vhffs-panel/admin/mysql/search.pl
-vhffs-panel/admin/mysql/list.pl
 vhffs-panel/admin/mailinglist/index.pl
-vhffs-panel/admin/mailinglist/search.pl
 vhffs-panel/admin/mailinglist/list.pl
-vhffs-panel/admin/moderation_submit.pl
+vhffs-panel/admin/mailinglist/search.pl
+vhffs-panel/admin/mail/list.pl
+vhffs-panel/admin/mail/search.pl
 vhffs-panel/admin/moderation.pl
+vhffs-panel/admin/moderation_submit.pl
+vhffs-panel/admin/mysql/index.pl
+vhffs-panel/admin/mysql/list.pl
+vhffs-panel/admin/mysql/search.pl
+vhffs-panel/admin/object/delete_avatar.pl
+vhffs-panel/admin/object/edit.pl
+vhffs-panel/admin/object/edit_submit.pl
+vhffs-panel/admin/object/list.pl
+vhffs-panel/admin/object/search.pl
+vhffs-panel/admin/pgsql/index.pl
+vhffs-panel/admin/pgsql/list.pl
+vhffs-panel/admin/pgsql/search.pl
 vhffs-panel/admin/repository/index.pl
-vhffs-panel/admin/repository/search.pl
 vhffs-panel/admin/repository/list.pl
-vhffs-panel/admin/user/index.pl
-vhffs-panel/admin/user/search.pl
-vhffs-panel/admin/user/list.pl
+vhffs-panel/admin/repository/search.pl
 vhffs-panel/admin/stats.pl
-vhffs-panel/admin/group/index.pl
-vhffs-panel/admin/group/search.pl
-vhffs-panel/admin/group/list.pl
-vhffs-panel/admin/cron/index.pl
-vhffs-panel/admin/cron/search.pl
-vhffs-panel/admin/cron/list.pl
-vhffs-panel/admin/broadcast_view.pl
-vhffs-panel/admin/cvs/index.pl
-vhffs-panel/admin/cvs/search.pl
-vhffs-panel/admin/cvs/list.pl
-vhffs-panel/admin/tag/index.pl
-vhffs-panel/admin/tag/request/list.pl
-vhffs-panel/admin/tag/request/details.pl
-vhffs-panel/admin/tag/edit.pl
-vhffs-panel/admin/tag/list.pl
-vhffs-panel/admin/tag/create.pl
+vhffs-panel/admin/su.pl
+vhffs-panel/admin/svn/index.pl
+vhffs-panel/admin/svn/list.pl
+vhffs-panel/admin/svn/search.pl
+vhffs-panel/admin/tag/category/create.pl
 vhffs-panel/admin/tag/category/edit.pl
 vhffs-panel/admin/tag/category/list.pl
-vhffs-panel/admin/tag/category/create.pl
-vhffs-panel/admin/broadcast.pl
-vhffs-panel/admin/broadcast_list.pl
-vhffs-panel/pgsql/index.pl
-vhffs-panel/pgsql/delete.pl
-vhffs-panel/pgsql/prefs.pl
-vhffs-panel/pgsql/create.pl
-vhffs-panel/show_code.pl
-vhffs-panel/dns/index.pl
+vhffs-panel/admin/tag/create.pl
+vhffs-panel/admin/tag/edit.pl
+vhffs-panel/admin/tag/index.pl
+vhffs-panel/admin/tag/list.pl
+vhffs-panel/admin/tag/request/details.pl
+vhffs-panel/admin/tag/request/list.pl
+vhffs-panel/admin/user/index.pl
+vhffs-panel/admin/user/list.pl
+vhffs-panel/admin/user/search.pl
+vhffs-panel/admin/web/index.pl
+vhffs-panel/admin/web/list.pl
+vhffs-panel/admin/web/search.pl
+vhffs-panel/ajax/help.pl
+vhffs-panel/alert.pl
+vhffs-panel/alert_submit.pl
+vhffs-panel/auth.pl
+vhffs-panel/cron/create.pl
+vhffs-panel/cron/delete.pl
+vhffs-panel/cron/index.pl
+vhffs-panel/cron/prefs.pl
+vhffs-panel/cvs/create.pl
+vhffs-panel/cvs/delete.pl
+vhffs-panel/cvs/index.pl
+vhffs-panel/cvs/prefs.pl
+vhffs-panel/dns/create.pl
 vhffs-panel/dns/delete.pl
+vhffs-panel/dns/index.pl
 vhffs-panel/dns/prefs.pl
-vhffs-panel/dns/create.pl
-vhffs-panel/subscribe.pl
-vhffs-panel/mysql/index.pl
-vhffs-panel/mysql/delete.pl
-vhffs-panel/mysql/prefs.pl
-vhffs-panel/mysql/create.pl
-vhffs-panel/panel.pl
-vhffs-panel/mailinglist/index.pl
-vhffs-panel/mailinglist/delete.pl
-vhffs-panel/mailinglist/prefs.pl
-vhffs-panel/mailinglist/create.pl
 vhffs-panel/getavatar.pl
-vhffs-panel/ajax/help.pl
-vhffs-panel/repository/index.pl
-vhffs-panel/repository/delete.pl
-vhffs-panel/repository/prefs.pl
-vhffs-panel/repository/create.pl
-vhffs-panel/user/delete.pl
-vhffs-panel/user/prefs.pl
+vhffs-panel/git/create.pl
+vhffs-panel/git/delete.pl
+vhffs-panel/git/index.pl
+vhffs-panel/git/prefs.pl
+vhffs-panel/group/create.pl
+vhffs-panel/group/delete.pl
 vhffs-panel/group/history.pl
 vhffs-panel/group/index.pl
-vhffs-panel/group/delete.pl
 vhffs-panel/group/prefs.pl
-vhffs-panel/group/create.pl
 vhffs-panel/group/view.pl
-vhffs-panel/acl/view.pl
-vhffs-panel/cron/index.pl
-vhffs-panel/cron/delete.pl
-vhffs-panel/cron/prefs.pl
-vhffs-panel/cron/create.pl
-vhffs-panel/cvs/index.pl
-vhffs-panel/cvs/delete.pl
-vhffs-panel/cvs/prefs.pl
-vhffs-panel/cvs/create.pl
-vhffs-panel/auth.pl
-vhffs-panel/alert.pl
-vhffs-panel/show_code.pl
-vhffs-panel/play_code.pl
-vhffs-panel/getavatar.pl
+vhffs-panel/history.pl
+vhffs-panel/lost_ack.pl
 vhffs-panel/lost.pl
+vhffs-panel/mail/create.pl
+vhffs-panel/mail/delete.pl
+vhffs-panel/mail/index.pl
+vhffs-panel/mailinglist/create.pl
+vhffs-panel/mailinglist/delete.pl
+vhffs-panel/mailinglist/index.pl
+vhffs-panel/mailinglist/prefs.pl
+vhffs-panel/mail/prefs.pl
+vhffs-panel/mysql/create.pl
+vhffs-panel/mysql/delete.pl
+vhffs-panel/mysql/index.pl
+vhffs-panel/mysql/prefs.pl
+vhffs-panel/object/quickdelete.pl
+vhffs-panel/object/resubmit.pl
+vhffs-panel/object/upavatar.pl
+vhffs-panel/panel.pl
+vhffs-panel/pgsql/create.pl
+vhffs-panel/pgsql/delete.pl
+vhffs-panel/pgsql/index.pl
+vhffs-panel/pgsql/prefs.pl
+vhffs-panel/play_code.pl
+vhffs-panel/repository/create.pl
+vhffs-panel/repository/delete.pl
+vhffs-panel/repository/index.pl
+vhffs-panel/repository/prefs.pl
+vhffs-panel/show_code.pl
 vhffs-panel/subscribe.pl
-vhffs-panel/alert_submit.pl
-vhffs-backend/src/mirror/mx1-mirror.pl
-vhffs-backend/src/mirror/mx2-mirror.pl
-vhffs-backend/src/mirror/nss-mirror.pl
-vhffs-backend/src/mirror/mydns-mirror.pl
-vhffs-packages/oldbuildwithdput.pl
-vhffs-tests/src/Vhffs/Tests/Utils.pm
-vhffs-tests/src/Vhffs/Tests/Main.pm
-vhffs-tests/src/Functions.pl
+vhffs-panel/svn/create.pl
+vhffs-panel/svn/delete.pl
+vhffs-panel/svn/index.pl
+vhffs-panel/svn/prefs.pl
+vhffs-panel/user/delete.pl
+vhffs-panel/user/prefs.pl
+vhffs-panel/web/create.pl
+vhffs-panel/web/delete.pl
+vhffs-panel/web/index.pl
+vhffs-panel/web/prefs.pl
+vhffs-public/allgroups.pl
+vhffs-public/avatar.pl
+vhffs-public/extern/newgroupsrss.pl
+vhffs-public/extern/newusersrss.pl
+vhffs-public/extern/stats.pl
+vhffs-public/group.pl
+vhffs-public/groupsearch_form.pl
+vhffs-public/groupsearch.pl
+vhffs-public/index.pl
+vhffs-public/lastgroups.pl
+vhffs-public/lastusers.pl
+vhffs-public/usersearch_form.pl
+vhffs-public/usersearch.pl

Modified: branches/vhffs-design/vhffs-intl/de_DE.po
===================================================================
--- branches/vhffs-design/vhffs-intl/de_DE.po	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/de_DE.po	2010-03-14 17:55:02 UTC (rev 1557)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: vhffs-intl\n"
 "Report-Msgid-Bugs-To: vhffs-dev@xxxxxxxxx\n"
-"POT-Creation-Date: 2008-02-04 10:57+0100\n"
+"POT-Creation-Date: 2009-07-09 13:32+0200\n"
 "PO-Revision-Date: 2007-11-17 20:22+0000\n"
 "Last-Translator: Bruno Marmier <bruno@xxxxxxxxxx>\n"
 "Language-Team: German <vhffs-dev@xxxxxxxxx>\n"
@@ -18,21 +18,15 @@
 "X-Generator: Launchpad (build Unknown)\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:68
 msgid "\t\t\t\t   RIGHT can be subscriber or admin\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:148 vhffs-api/src/Vhffs/Listengine.pm:164
 #: vhffs-api/src/Vhffs/Listengine.pm:167 vhffs-api/src/Vhffs/Listengine.pm:442
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:148
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:164
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:442
 msgid "\n"
 msgstr "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:425
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:425
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -41,7 +35,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:428
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:428
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -49,68 +42,43 @@
 "  \"subscription refuse %s %s\" \n"
 msgstr ""
 
-#: vhffs-public/groupsearch.pl:79
+#: vhffs-panel/mailinglist/prefs.pl:297
 #, perl-format
-msgid "%d group(s) found"
-msgstr ""
-
-#: vhffs-public/usersearch.pl:80
-#, perl-format
-msgid "%d user(s) found"
-msgstr ""
-
-#: vhffs-public/websitesearch.pl:78
-#, perl-format
-msgid "%d websites(s) found"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:296
-#, perl-format
 msgid "%s has been added"
 msgstr "%s ist hinzugefügt worden"
 
-#: vhffs-panel/mailinglist/prefs.pl:294
+#: vhffs-panel/mailinglist/prefs.pl:295
 #, perl-format
 msgid "%s is already a member of this list"
 msgstr "%s ist schon Mitglied der Liste"
 
-#: vhffs-panel/mail/prefs.pl:195
+#: vhffs-panel/mail/prefs.pl:194
 #, perl-format
 msgid "%s is not a correct mail address"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:292
+#: vhffs-panel/mailinglist/prefs.pl:293
 #, perl-format
 msgid "%s is not a valid mail"
 msgstr ""
 
-#: vhffs-public/index.pl:65
+#: vhffs-api/src/Vhffs/Panel/Main.pm:706
 #, perl-format
-msgid "%s public area"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:710
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:710
-#, perl-format
 msgid "%s's Panel"
 msgstr "%s Panel"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:150 vhffs-api/src/Vhffs/Listengine.pm:169
 #: vhffs-api/src/Vhffs/Listengine.pm:444
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:169
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:444
 #, perl-format
 msgid "%s-request@%s with subject \"help\"\n"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:312
+#: vhffs-panel/dns/prefs.pl:314
 #, perl-format
 msgid "@ represents the origin (%s)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:299
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:303
 msgid ""
 "A CNAME, A or AAAA record with the same name already exists for this domain"
 msgstr ""
@@ -123,8 +91,11 @@
 msgid "A Record updated"
 msgstr "A Eintrag aktualisiert"
 
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:347
+msgid "A TXT record with the same name already exists for this domain"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:404
 #, perl-format
 msgid ""
 "A mail to moderate is on the following mailing list:\n"
@@ -133,7 +104,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:421
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:421
 #, perl-format
 msgid ""
 "A new person wants to subscribe to the following mailing list:\n"
@@ -173,41 +143,41 @@
 msgid "ACL updated"
 msgstr "ACL aktualisiert"
 
-#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
+#: vhffs-panel/cron/create.pl:108
+msgid "Absolute path of the command to run"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:88 vhffs-panel/admin/moderation.pl:115
 msgid "Accept"
 msgstr "Akzeptieren"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:185 vhffs-api/src/Vhffs/Panel/Main.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:206
+#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
 msgid "Access denied"
 msgstr "Zugriff verweigert"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:68
 msgid "Access to panel"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:111
+#: vhffs-panel/mail/prefs.pl:110
 msgid "Accounts"
 msgstr "Konten"
 
-#: vhffs-panel/user/prefs.pl:411
+#: vhffs-panel/user/prefs.pl:428
 #, perl-format
 msgid "Activate %s@%s email"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:25 vhffs-api/src/Vhffs/Panel/Object.pm:125
-#: vhffs-panel/admin/object/edit.pl:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:125
+#: vhffs-panel/admin/object/edit.pl:118
+#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 msgid "Activated"
 msgstr "Aktiviert"
 
-#: vhffs-panel/group/prefs.pl:150 vhffs-panel/group/prefs.pl:240
+#: vhffs-panel/group/prefs.pl:155 vhffs-panel/group/prefs.pl:253
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: vhffs-panel/dns/prefs.pl:265
+#: vhffs-panel/dns/prefs.pl:264
 msgid "Add !"
 msgstr "Hinzufügen"
 
@@ -215,7 +185,7 @@
 msgid "Add a CNAME field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:270
+#: vhffs-panel/dns/prefs.pl:269
 msgid "Add a MX field to your domain"
 msgstr ""
 
@@ -223,47 +193,47 @@
 msgid "Add a NS field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:292
+#: vhffs-panel/dns/prefs.pl:293
 msgid "Add a SRV record to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:304
+#: vhffs-panel/dns/prefs.pl:306
 msgid "Add a TXT record"
 msgstr "TXT Eintrag hinzufügen"
 
-#: vhffs-panel/mail/prefs.pl:122 vhffs-panel/mail/prefs.pl:132
+#: vhffs-panel/mail/prefs.pl:121 vhffs-panel/mail/prefs.pl:131
 msgid "Add a forward on this domain"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:131
+#: vhffs-panel/mail/prefs.pl:130
 msgid "Add a popbox to this domain"
 msgstr "Pop mailbox an diesem Domain hinzufügen"
 
-#: vhffs-panel/group/prefs.pl:239
+#: vhffs-panel/group/prefs.pl:252
 msgid "Add a user in this group"
 msgstr "Benutzer an dieser Gruppe hinzufügen"
 
-#: vhffs-panel/dns/prefs.pl:238
+#: vhffs-panel/dns/prefs.pl:237
 msgid "Add an A record"
 msgstr "A Eintrag hinzufügen"
 
-#: vhffs-panel/dns/prefs.pl:239
+#: vhffs-panel/dns/prefs.pl:238
 msgid "Add an AAAA record"
 msgstr "AAAA Eintrag hinzufügen"
 
-#: vhffs-panel/mail/prefs.pl:113
+#: vhffs-panel/mail/prefs.pl:112
 msgid "Add an account"
 msgstr "Konto hinzufügen"
 
-#: vhffs-panel/mailinglist/prefs.pl:148
+#: vhffs-panel/mailinglist/prefs.pl:147
 msgid "Add members"
 msgstr "Mitglieder hinzufügen"
 
-#: vhffs-panel/mailinglist/prefs.pl:150
+#: vhffs-panel/mailinglist/prefs.pl:149
 msgid "Add them !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:307 vhffs-panel/subscribe.pl:230
+#: vhffs-panel/user/prefs.pl:324 vhffs-panel/subscribe.pl:245
 msgid "Address"
 msgstr "Adresse"
 
@@ -271,83 +241,73 @@
 msgid "Address (ServerName directive)"
 msgstr "Adresse (ServerName directive)"
 
-#: vhffs-panel/web/prefs.pl:95
+#: vhffs-panel/web/prefs.pl:92
 msgid "Address (Servername)"
 msgstr "Adresse (Servername)"
 
-#: vhffs-panel/user/prefs.pl:138
+#: vhffs-panel/user/prefs.pl:140
 msgid "Address is not correct !"
 msgstr "Adresse ist nich richtig!"
 
-#: vhffs-panel/mailinglist/prefs.pl:149
+#: vhffs-panel/mailinglist/prefs.pl:148
 msgid "Addresses (one per line)"
 msgstr "Adressen (eine per Linie)"
 
-#: vhffs-intl/template_strings.pl:79
-msgid "Admin"
-msgstr "Admin"
-
-#: vhffs-panel/cvs/prefs.pl:107
+#: vhffs-panel/cvs/prefs.pl:94
 msgid "Admin CVS Repository"
 msgstr "Admin CVS Repository"
 
-#: vhffs-panel/repository/prefs.pl:81
+#: vhffs-panel/repository/prefs.pl:80
 msgid "Admin Download repository"
 msgstr "Admin Download repository"
 
-#: vhffs-panel/git/prefs.pl:96
+#: vhffs-panel/git/prefs.pl:93
 msgid "Admin Git Repository"
 msgstr "Admin Git Repository"
 
-#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:112
-#: vhffs-panel/dns/prefs.pl:245 vhffs-panel/svn/prefs.pl:104
-#: vhffs-panel/web/prefs.pl:103
+#: vhffs-panel/mysql/prefs.pl:106 vhffs-panel/cron/prefs.pl:144
+#: vhffs-panel/svn/prefs.pl:105 vhffs-panel/dns/prefs.pl:244
+#: vhffs-panel/mail/prefs.pl:142 vhffs-panel/git/prefs.pl:109
+#: vhffs-panel/web/prefs.pl:100
 msgid "Admin Rights on this object (ACL)"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:87
+#: vhffs-panel/svn/prefs.pl:88
 msgid "Admin Subversion Repository"
 msgstr "Admin Subversion Repository"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:426
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:426
+#: vhffs-api/src/Vhffs/Panel/Main.pm:416
 msgid "Admin account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:96
+#: vhffs-api/src/Vhffs/Panel/Object.pm:95
 msgid "Admin part"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:430
-#: vhffs-panel/admin/index.pl:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:430
+#: vhffs-panel/admin/index.pl:55 vhffs-api/src/Vhffs/Panel/Main.pm:417
+#: vhffs-api/src/Vhffs/Panel/Main.pm:420
 msgid "Administration"
 msgstr "Administration"
 
-#: vhffs-panel/mailinglist/prefs.pl:99
+#: vhffs-panel/mailinglist/prefs.pl:98
 #, perl-format
 msgid "Administration for list %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:86
-msgid "Administrator"
+#: vhffs-panel/admin/tag/category/create.pl:75
+#: vhffs-panel/admin/tag/category/edit.pl:86
+msgid "Administrators"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:116
+#: vhffs-panel/mailinglist/prefs.pl:115
 msgid "Admins only"
 msgstr "Nur admins"
 
-#: vhffs-public/allgroups.pl:74 vhffs-public/allwebsites.pl:74
-msgid "All"
-msgstr "Alle"
-
-#: vhffs-panel/dns/prefs.pl:232
+#: vhffs-panel/dns/prefs.pl:231
 msgid "All A TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:233
+#: vhffs-panel/dns/prefs.pl:232
 msgid "All AAAA TYPE for your domain name"
 msgstr "Alle AAAA TYPE für ihres Domain"
 
@@ -355,15 +315,11 @@
 msgid "All CNAME TYPE for your domain name"
 msgstr "Alle CNAME TYPE für ihres Domain"
 
-#: vhffs-panel/dns/prefs.pl:235
+#: vhffs-panel/dns/prefs.pl:234
 msgid "All CNAME for your domain name"
 msgstr "Alle CNAME für ihres Domain"
 
-#: vhffs-intl/template_strings.pl:28
-msgid "All Groups"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:234 vhffs-panel/dns/prefs.pl:269
+#: vhffs-panel/dns/prefs.pl:233 vhffs-panel/dns/prefs.pl:268
 msgid "All MX TYPE for your domain name"
 msgstr "Alle MX TYPE für ihres Domain"
 
@@ -371,7 +327,7 @@
 msgid "All NS TYPE for your domain name"
 msgstr "Alle NS TYPE für ihres Domain"
 
-#: vhffs-panel/dns/prefs.pl:291
+#: vhffs-panel/dns/prefs.pl:292
 msgid "All SRV records for your domain name"
 msgstr "Alle SRV Einträge für ihres Domain"
 
@@ -379,16 +335,11 @@
 msgid "All Subversion repositories lists"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:305
+#: vhffs-panel/dns/prefs.pl:307
 msgid "All TXT records for your domain name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:34
-msgid "All Websites"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:48
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:48
 msgid "All commands can be sent as mail subject.\n"
 msgstr ""
 
@@ -396,50 +347,36 @@
 msgid "All git repositories lists"
 msgstr ""
 
-#: vhffs-public/allgroups.pl:72
-#, perl-format
-msgid "All groups on %s"
-msgstr "Alle Gruppen auf %s"
-
-#: vhffs-panel/admin/broadcast_list.pl:77
+#: vhffs-panel/admin/broadcast_list.pl:75
 msgid "All mailings sent to hosted"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:50
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:50
 msgid ""
 "All mails with commands must be sent on YOURLIST-request@xxxxxxxxxx list.\n"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:85
+#: vhffs-panel/admin/object/list.pl:83
 msgid "All objects List"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:257
+#: vhffs-panel/group/prefs.pl:270
 msgid "All users in this group"
 msgstr "Alle Benutzer in dieser Gruppe"
 
-#: vhffs-public/allwebsites.pl:72
-#, perl-format
-msgid "All websites on %s"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:251
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:251
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:252
 msgid "An MX record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:274
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:274
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:277
 msgid "An NS record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:87 vhffs-panel/cvs/prefs.pl:100
+#: vhffs-panel/cvs/prefs.pl:87
 msgid "An error occured during CVS repository update"
 msgstr "Während die CVS Repository Aktualisierung ist ein Fehler aufgetreten"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:493
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:493
 #, perl-format
 msgid ""
 "An error occured during your approval of subscription of:\n"
@@ -450,7 +387,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:194
 #, perl-format
 msgid ""
 "An error occured during your subscription to the following list:\n"
@@ -458,33 +394,33 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:217
+#: vhffs-panel/user/prefs.pl:223
 msgid "An error occured while adding the box"
 msgstr "Whärend der Erstellung des Mailbox ist ein Fehler aufgetreten."
 
-#: vhffs-panel/user/prefs.pl:219
+#: vhffs-panel/user/prefs.pl:225
 msgid "An error occured while adding the box (anti-spam adding)"
 msgstr ""
 "Whärend der Erstellung des Mailbox (Anti-spam Hinzufügung) ist ein Fehler "
 "aufgetreten."
 
-#: vhffs-panel/user/prefs.pl:221
+#: vhffs-panel/user/prefs.pl:227
 msgid "An error occured while adding the box (anti-virus adding)"
 msgstr ""
 "Whärend der Erstellung des Mailbox (Anti-virus Hinzufügung) ist ein Fehler "
 "aufgetreten."
 
-#: vhffs-panel/user/prefs.pl:266
+#: vhffs-panel/user/prefs.pl:272
 msgid "An error occured while adding the forwarding"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:83
+#: vhffs-panel/user/delete.pl:81
 msgid "An error occured while applying changes. This user will NOT be deleted"
 msgstr ""
 "Whärend die Änderungen ist ein Fehler aufgetreten. Dieser Benutzer wird "
 "NICHT abgelöst"
 
-#: vhffs-panel/web/delete.pl:92
+#: vhffs-panel/web/delete.pl:90
 msgid ""
 "An error occured while applying changes. This web area will NOT be deleted"
 msgstr ""
@@ -495,7 +431,7 @@
 msgid "An error occured while creating the git repository"
 msgstr "Während der Erstellung des GIT Repository ist ein Fehler aufgetreten"
 
-#: vhffs-panel/mail/create.pl:83
+#: vhffs-panel/mail/create.pl:84
 msgid "An error occured while creating the mail area"
 msgstr ""
 
@@ -505,13 +441,13 @@
 "already have a download repository"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:60
+#: vhffs-panel/dns/create.pl:61
 msgid ""
 "An error occured while creating the object. The domain is not correct or "
 "aleady exists in Vhffs database"
 msgstr ""
 
-#: vhffs-panel/cvs/create.pl:92 vhffs-panel/mailinglist/create.pl:92
+#: vhffs-panel/mailinglist/create.pl:92 vhffs-panel/cvs/create.pl:92
 msgid "An error occured while creating the object.It probably already exists"
 msgstr ""
 "Während der Erstellung dieses Objektes ist ein Fehler aufgetreten. "
@@ -521,25 +457,25 @@
 msgid "An error occured while creating the svn repository"
 msgstr "Während der Erstellung des SVN Repository ist ein Fehler aufgetreten"
 
-#: vhffs-panel/cvs/delete.pl:93
+#: vhffs-panel/cvs/delete.pl:92
 msgid "An error occured while deleting the CVS repository"
 msgstr "Während der Ablösung des CVS Repository ist ein Fehler aufgetreten."
 
-#: vhffs-panel/repository/delete.pl:95
+#: vhffs-panel/repository/delete.pl:94
 msgid "An error occured while deleting the Download repository"
 msgstr ""
 "Während der Ablösung des Download Repository ist ein Fehler aufgetreten."
 
-#: vhffs-panel/svn/delete.pl:94
+#: vhffs-panel/svn/delete.pl:93
 msgid "An error occured while deleting the Subversion repository"
 msgstr ""
 "Während der Ablösung des Subversion Repository ist ein Fehler aufgetreten."
 
-#: vhffs-panel/git/delete.pl:99
+#: vhffs-panel/git/delete.pl:98
 msgid "An error occured while deleting the git repository"
 msgstr "Während der Ablösung des GIT Repository ist ein Fehler aufgetreten."
 
-#: vhffs-panel/admin/broadcast_delete.pl:96
+#: vhffs-panel/admin/broadcast_delete.pl:92
 msgid "An error occured while deleting this mailing"
 msgstr "Während der Ablösung des Mailing ist ein Fehler aufgetreten."
 
@@ -547,30 +483,33 @@
 msgid "An error occured while deleting this object."
 msgstr "Während der Ablösung dieses Objektes ist ein Fehler aufgetreten."
 
-#: vhffs-panel/user/prefs.pl:275
+#: vhffs-panel/group/prefs.pl:414
+msgid "An error occured while saving your request"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:281
 msgid "An error occured while the forwarding"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:285
 #, perl-format
 msgid ""
 "An error occured while updating language for the following address: %s.\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:197
+#: vhffs-panel/mail/prefs.pl:196
 msgid "An error occured while updating the mail domain"
 msgstr "Während der Aktualisierung des Mail Domain ist ein Fehler aufgetreten"
 
-#: vhffs-panel/admin/object/edit_submit.pl:91
+#: vhffs-panel/admin/object/edit_submit.pl:89
 msgid "An error occured while updating the object"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/delete.pl:83
+#: vhffs-panel/group/prefs.pl:100 vhffs-panel/group/delete.pl:82
 msgid "An error occured while updating the project"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:188
+#: vhffs-panel/user/prefs.pl:194
 msgid "An error occured while updating the user account"
 msgstr ""
 
@@ -578,15 +517,15 @@
 msgid "An error occured while updating this object."
 msgstr "Während der Aktualisierung dieses Objektes ist ein Fehler aufgetreten."
 
-#: vhffs-panel/svn/prefs.pl:98
-msgid "Are you SURE you want DELETE this  subversion repository ?"
-msgstr "Sind Sie SICHER Sie wollen das Subversion Repository ablösen ?"
+#: vhffs-panel/cron/prefs.pl:151
+msgid "Are you SURE you want DELETE this Cron job ?"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/mail/prefs.pl:136
 msgid "Are you SURE you want DELETE this Mail Area ?"
 msgstr "Sind Sie SICHER Sie wollen das Mail Area ablösen ?"
 
-#: vhffs-panel/mysql/prefs.pl:112
+#: vhffs-panel/mysql/prefs.pl:113
 msgid "Are you SURE you want DELETE this MySQL database ?"
 msgstr "Sind Sie SICHER dass Sie dieses MySQL Datenbank ABLÖSEN wollen ?"
 
@@ -594,23 +533,23 @@
 msgid "Are you SURE you want DELETE this PostgreSQL database ?"
 msgstr "Sind Sie SICHER dass Sie dieses PostgreSQL Datenbank ABLÖSEN wollen ?"
 
-#: vhffs-panel/web/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:107
 msgid "Are you SURE you want DELETE this Web Area ?"
 msgstr "Sind Sie SICHER dass Sie dieses Webarea ABLÖSEN wollen ?"
 
-#: vhffs-panel/cvs/prefs.pl:117
+#: vhffs-panel/cvs/prefs.pl:104
 msgid "Are you SURE you want DELETE this cvs repository ?"
 msgstr "Sind Sie SICHER dass Sie dieses CVS Repository ABLÖSEN wollen ?"
 
-#: vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/dns/prefs.pl:252
 msgid "Are you SURE you want DELETE this domain ?"
 msgstr "Sind Sie SICHER dass Sie dieses Domain ABLÖSEN wollen ?"
 
-#: vhffs-panel/repository/prefs.pl:90
+#: vhffs-panel/repository/prefs.pl:89
 msgid "Are you SURE you want DELETE this download repository ?"
 msgstr "Sind Sie SICHER dass Sie dieses Download Repository ABLÖSEN wollen ?"
 
-#: vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/git/prefs.pl:103
 msgid "Are you SURE you want DELETE this git repository?"
 msgstr "Sind Sie SICHER dass Sie dieses GIT Repository ABLÖSEN wollen ?"
 
@@ -618,42 +557,49 @@
 msgid "Are you SURE you want DELETE this mailing list ?"
 msgstr "Sind Sie SICHER dass Sie diese Mailingliste ABLÖSEN wollen ?"
 
-#: vhffs-panel/group/prefs.pl:214
+#: vhffs-panel/group/prefs.pl:227
 msgid "Are you SURE you want DELETE this project ?"
 msgstr "Sind Sie SICHER dass Sie dieses Projekt ABLÖSEN wollen ?"
 
-#: vhffs-panel/user/prefs.pl:327
+#: vhffs-panel/svn/prefs.pl:99
+msgid "Are you SURE you want DELETE this subversion repository ?"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:344
 msgid "Are you SURE you want DELETE this user?"
 msgstr "Sind Sie SICHER dass Sie diesen Benutzer ABLÖSEN wollen ?"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:100
+#: vhffs-panel/cron/prefs.pl:126
+msgid "As soon as possible"
+msgstr ""
+
+#: vhffs-panel/admin/object/delete_avatar.pl:98
 msgid "Avatar deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:199
-#: vhffs-panel/admin/object/edit.pl:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:199
+#: vhffs-panel/admin/object/edit.pl:193
+#: vhffs-api/src/Vhffs/Panel/Object.pm:198
 msgid "Avatar management"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:97
-#: vhffs-panel/admin/broadcast_list.pl:96
+#: vhffs-panel/admin/broadcast_list.pl:94
+#: vhffs-panel/admin/broadcast_view.pl:95
 msgid "Awaiting sending"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:191 vhffs-panel/subscribe.pl:232
+#: vhffs-panel/subscribe.pl:193 vhffs-panel/subscribe.pl:247
 msgid "Back to Login"
 msgstr "Zurück zur Anmeldung"
 
-#: vhffs-intl/template_strings.pl:14 vhffs-panel/lost.pl:59
+#: vhffs-panel/lost.pl:59
 msgid "Back to login page"
 msgstr "Zurück zur Anmeldungseite"
 
-#: vhffs-panel/pgsql/prefs.pl:126 vhffs-panel/mysql/prefs.pl:137
+#: vhffs-panel/mysql/prefs.pl:138 vhffs-panel/pgsql/prefs.pl:126
 msgid "Bad password, should be at least 3 chars"
 msgstr "Ungültiges Passwort. Muss mindestens auf 3 Zeichen bestehen"
 
-#: vhffs-panel/dns/create.pl:73
+#: vhffs-panel/dns/create.pl:74
 msgid ""
 "Be careful ! You must give the reason why you want to host this domain on "
 "our servers."
@@ -666,20 +612,20 @@
 "tld to domain.tld"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:89
+#: vhffs-panel/admin/broadcast_view.pl:87
 msgid "Body"
 msgstr "Textkörper"
 
-#: vhffs-panel/mail/prefs.pl:272
+#: vhffs-panel/mail/prefs.pl:271
 #, perl-format
 msgid "Box %s deleted"
 msgstr "Briefkaste %s abgelöst"
 
-#: vhffs-panel/mail/prefs.pl:239
+#: vhffs-panel/mail/prefs.pl:238
 msgid "Box password updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:216
+#: vhffs-panel/mail/prefs.pl:215
 msgid "Box successfully added"
 msgstr ""
 
@@ -689,49 +635,67 @@
 "password will be sent to you by email!"
 msgstr ""
 
-#: vhffs-public/group.pl:72 vhffs-public/user.pl:60 vhffs-public/user.pl:64
-#: vhffs-panel/repository/prefs.pl:68 vhffs-panel/repository/create.pl:77
-#: vhffs-panel/mail/prefs.pl:185 vhffs-panel/mail/prefs.pl:212
-#: vhffs-panel/mail/prefs.pl:233 vhffs-panel/mail/prefs.pl:268
-#: vhffs-panel/mail/prefs.pl:284 vhffs-panel/mail/prefs.pl:300
-#: vhffs-panel/mail/prefs.pl:315 vhffs-panel/mail/delete.pl:75
-#: vhffs-panel/mail/create.pl:74 vhffs-panel/git/prefs.pl:70
-#: vhffs-panel/git/delete.pl:74 vhffs-panel/git/create.pl:79
-#: vhffs-panel/dns/prefs.pl:76 vhffs-panel/dns/delete.pl:79
-#: vhffs-panel/dns/create.pl:49 vhffs-panel/pgsql/prefs.pl:121
-#: vhffs-panel/pgsql/delete.pl:81 vhffs-panel/pgsql/create.pl:82
-#: vhffs-panel/admin/object/edit.pl:80
-#: vhffs-panel/admin/object/edit_submit.pl:78
-#: vhffs-panel/admin/object/delete_avatar.pl:82
+#: vhffs-panel/admin/tag/request/details.pl:68
+#: vhffs-panel/admin/tag/request/details.pl:137 vhffs-public/group.pl:53
+msgid "CGI Error"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:71 vhffs-panel/mysql/prefs.pl:133
+#: vhffs-panel/mysql/create.pl:82 vhffs-panel/mysql/delete.pl:74
+#: vhffs-panel/pgsql/prefs.pl:121 vhffs-panel/pgsql/create.pl:82
+#: vhffs-panel/pgsql/delete.pl:80 vhffs-panel/admin/broadcast_view.pl:77
+#: vhffs-panel/admin/broadcast_submit.pl:80
+#: vhffs-panel/admin/broadcast_delete.pl:80
 #: vhffs-panel/admin/moderation_submit.pl:77
-#: vhffs-panel/admin/broadcast_delete.pl:84
-#: vhffs-panel/admin/broadcast_submit.pl:84
-#: vhffs-panel/admin/broadcast_view.pl:79 vhffs-panel/cvs/prefs.pl:67
-#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/delete.pl:74
-#: vhffs-panel/cvs/create.pl:80 vhffs-panel/group/prefs.pl:84
-#: vhffs-panel/group/prefs.pl:105 vhffs-panel/group/prefs.pl:123
-#: vhffs-panel/group/prefs.pl:164 vhffs-panel/acl/view.pl:85
-#: vhffs-panel/mysql/prefs.pl:70 vhffs-panel/mysql/prefs.pl:132
-#: vhffs-panel/mysql/delete.pl:75 vhffs-panel/mysql/create.pl:82
-#: vhffs-panel/object/resubmit.pl:63 vhffs-panel/object/resubmit.pl:87
-#: vhffs-panel/object/quickdelete.pl:63 vhffs-panel/svn/prefs.pl:66
-#: vhffs-panel/svn/prefs.pl:139 vhffs-panel/svn/delete.pl:73
-#: vhffs-panel/svn/create.pl:79 vhffs-panel/mailinglist/prefs.pl:210
-#: vhffs-panel/mailinglist/prefs.pl:235 vhffs-panel/mailinglist/prefs.pl:256
-#: vhffs-panel/mailinglist/prefs.pl:276 vhffs-panel/mailinglist/delete.pl:79
-#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/web/prefs.pl:130
-#: vhffs-panel/web/create.pl:77 vhffs-panel/user/prefs.pl:114
-#: vhffs-panel/user/prefs.pl:469 vhffs-panel/history.pl:84
+#: vhffs-panel/admin/object/delete_avatar.pl:80
+#: vhffs-panel/admin/object/edit_submit.pl:76
+#: vhffs-panel/admin/object/edit.pl:78 vhffs-panel/history.pl:82
+#: vhffs-panel/mailinglist/prefs.pl:210 vhffs-panel/mailinglist/prefs.pl:235
+#: vhffs-panel/mailinglist/prefs.pl:256 vhffs-panel/mailinglist/prefs.pl:276
+#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/mailinglist/delete.pl:77
+#: vhffs-panel/cron/prefs.pl:70 vhffs-panel/cron/prefs.pl:174
+#: vhffs-panel/cron/create.pl:84 vhffs-panel/cron/delete.pl:74
+#: vhffs-panel/repository/prefs.pl:67 vhffs-panel/repository/create.pl:77
+#: vhffs-panel/user/prefs.pl:116 vhffs-panel/user/prefs.pl:494
+#: vhffs-panel/svn/prefs.pl:67 vhffs-panel/svn/prefs.pl:140
+#: vhffs-panel/svn/create.pl:79 vhffs-panel/svn/delete.pl:72
+#: vhffs-panel/object/quickdelete.pl:62 vhffs-panel/object/resubmit.pl:62
+#: vhffs-panel/object/resubmit.pl:86 vhffs-panel/dns/prefs.pl:76
+#: vhffs-panel/dns/create.pl:50 vhffs-panel/dns/delete.pl:71
+#: vhffs-panel/group/prefs.pl:89 vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:128 vhffs-panel/group/prefs.pl:169
+#: vhffs-panel/mail/prefs.pl:184 vhffs-panel/mail/prefs.pl:211
+#: vhffs-panel/mail/prefs.pl:232 vhffs-panel/mail/prefs.pl:267
+#: vhffs-panel/mail/prefs.pl:283 vhffs-panel/mail/prefs.pl:299
+#: vhffs-panel/mail/prefs.pl:314 vhffs-panel/mail/create.pl:75
+#: vhffs-panel/mail/delete.pl:73 vhffs-panel/cvs/prefs.pl:67
+#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/create.pl:80
+#: vhffs-panel/cvs/delete.pl:73 vhffs-panel/git/prefs.pl:71
+#: vhffs-panel/git/create.pl:79 vhffs-panel/git/delete.pl:73
+#: vhffs-panel/acl/view.pl:85 vhffs-panel/web/prefs.pl:127
+#: vhffs-panel/web/create.pl:77
 #, perl-format
 msgid "CGI Error !"
 msgstr "CGI Fehler !"
 
-#: vhffs-panel/repository/delete.pl:74
+#: vhffs-panel/repository/delete.pl:73
 #, perl-format
 msgid "CGI Error ! %s"
 msgstr "CGI Fehler ! %s"
 
-#: vhffs-panel/git/prefs.pl:169
+#: vhffs-panel/admin/tag/category/edit.pl:62
+#: vhffs-panel/admin/tag/create.pl:85 vhffs-panel/admin/tag/edit.pl:63
+msgid "CGI Error!"
+msgstr "CGI Fehler !"
+
+#: vhffs-panel/admin/tag/category/create.pl:90
+#: vhffs-panel/admin/tag/category/edit.pl:106 vhffs-panel/admin/tag/edit.pl:98
+#: vhffs-panel/group/prefs.pl:332 vhffs-panel/group/prefs.pl:365
+#: vhffs-panel/group/prefs.pl:399
+msgid "CGI error"
+msgstr "CGI Fehler"
+
+#: vhffs-panel/git/prefs.pl:144
 msgid "CGI error !"
 msgstr ""
 
@@ -747,30 +711,19 @@
 msgid "CNAME Record updated"
 msgstr "CNAME Eintrag aktualisiert"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:116
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:120
 msgid "CVS"
 msgstr "CVS"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:188
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:188
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:208
 msgid "CVS Admin"
 msgstr "CVS Admin"
 
-#: vhffs-intl/template_strings.pl:42
-msgid "CVS Repositories for this group"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:41
-msgid "CVS Repository"
-msgstr "CVS Repository"
-
 #: vhffs-panel/admin/cvs/list.pl:76
 msgid "CVS Root"
 msgstr "CVS Root"
 
-#: vhffs-panel/cvs/index.pl:60
+#: vhffs-panel/cvs/index.pl:61
 #, perl-format
 msgid "CVS repositories for %s"
 msgstr "CVS Repositories für %s"
@@ -779,11 +732,11 @@
 msgid "CVS repositories' administration"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:85 vhffs-panel/cvs/prefs.pl:98
+#: vhffs-panel/cvs/prefs.pl:85
 msgid "CVS repository updated"
 msgstr "CVS Repository aktualisiert"
 
-#: vhffs-panel/admin/stats.pl:120
+#: vhffs-panel/admin/stats.pl:119
 msgid "CVS stats"
 msgstr ""
 
@@ -807,7 +760,11 @@
 msgid "Can't access"
 msgstr "Darf nicht zugreifen"
 
-#: vhffs-panel/subscribe.pl:184
+#: vhffs-panel/cron/delete.pl:89
+msgid "Cannot apply changes"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:186
 msgid "Cannot apply changes to the user"
 msgstr ""
 
@@ -815,28 +772,27 @@
 msgid "Cannot apply modifications"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:103
+#: vhffs-panel/mailinglist/delete.pl:101
 msgid "Cannot commit changes on this object, will NOT be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:352
+#: vhffs-api/src/Vhffs/Panel/Main.pm:357
 msgid ""
 "Cannot create or fetch session file, please check that /tmp is readable and "
 "writeable"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:174
+#: vhffs-panel/subscribe.pl:176
 msgid "Cannot create user, the username you entered already exists"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:96
+#: vhffs-panel/admin/object/delete_avatar.pl:94
 msgid "Cannot delete this avatar"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit.pl:85
-#: vhffs-panel/admin/object/edit_submit.pl:82
-#: vhffs-panel/admin/object/delete_avatar.pl:86
+#: vhffs-panel/admin/object/delete_avatar.pl:84
+#: vhffs-panel/admin/object/edit_submit.pl:80
+#: vhffs-panel/admin/object/edit.pl:83
 msgid "Cannot fetch object"
 msgstr ""
 
@@ -844,7 +800,7 @@
 msgid "Cannot find object"
 msgstr ""
 
-#: vhffs-panel/history.pl:89
+#: vhffs-panel/history.pl:87
 msgid "Cannot get information on this object"
 msgstr ""
 
@@ -853,28 +809,28 @@
 msgid "Cannot get informations on object #%d"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:71 vhffs-panel/git/prefs.pl:75
-#: vhffs-panel/dns/prefs.pl:81 vhffs-panel/dns/delete.pl:83
-#: vhffs-panel/pgsql/prefs.pl:68 vhffs-panel/cvs/prefs.pl:70
-#: vhffs-panel/mysql/prefs.pl:75 vhffs-panel/svn/prefs.pl:71
-#: vhffs-panel/mailinglist/delete.pl:83 vhffs-panel/web/prefs.pl:74
-#: vhffs-panel/user/prefs.pl:73
+#: vhffs-panel/mysql/prefs.pl:76 vhffs-panel/pgsql/prefs.pl:68
+#: vhffs-panel/mailinglist/delete.pl:81 vhffs-panel/cron/prefs.pl:75
+#: vhffs-panel/repository/prefs.pl:70 vhffs-panel/user/prefs.pl:74
+#: vhffs-panel/svn/prefs.pl:72 vhffs-panel/dns/prefs.pl:81
+#: vhffs-panel/dns/delete.pl:75 vhffs-panel/cvs/prefs.pl:70
+#: vhffs-panel/git/prefs.pl:76 vhffs-panel/web/prefs.pl:71
 msgid "Cannot get informations on this object"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:74
+#: vhffs-panel/admin/stats.pl:73
 msgid "Cannot get statistics"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:78
+#: vhffs-panel/cvs/delete.pl:77
 msgid "Cannot retrieve informations about this CVS repository"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:78
+#: vhffs-panel/repository/delete.pl:77
 msgid "Cannot retrieve informations about this Download repository"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:78 vhffs-panel/svn/delete.pl:77
+#: vhffs-panel/svn/delete.pl:76 vhffs-panel/git/delete.pl:77
 msgid "Cannot retrieve informations about this repository"
 msgstr ""
 
@@ -882,115 +838,142 @@
 msgid "Cannot send message, CGI error..."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:105
+#: vhffs-panel/mail/prefs.pl:104
 msgid "Catchall address"
 msgstr "Catchall Adresse"
 
-#: vhffs-panel/mail/prefs.pl:199
+#: vhffs-panel/mail/prefs.pl:198
 msgid "Catchall address successfully changed"
 msgstr "Catchall Adresse erfolgreich geändert"
 
-#: vhffs-panel/mail/prefs.pl:180
+#: vhffs-panel/mail/prefs.pl:179
 msgid "Catchall isn't enabled on this platform"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:108
+#: vhffs-panel/mail/prefs.pl:107
 msgid "Catchall mail"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:55
-msgid "Change Forward"
+#: vhffs-panel/admin/tag/create.pl:68
+msgid "Category"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:57
-msgid "Change Password"
-msgstr "Passwort ändern"
+#: vhffs-panel/group/prefs.pl:404
+msgid "Category can't be empty"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:130
-msgid "Change catchall forward"
+#: vhffs-panel/admin/tag/category/list.pl:59
+msgid "Category deleted"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:80
-msgid "Change rights"
-msgstr "Berechtigungen ändern"
+#: vhffs-panel/admin/tag/create.pl:107
+msgid "Category does not exists"
+msgstr ""
 
-#: vhffs-panel/user/prefs.pl:237
+#: vhffs-panel/admin/tag/request/details.pl:173
+msgid "Category not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:65
+msgid "Category not found!"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:129
+msgid "Change catchall forward"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:243
 msgid "Change spam protection status for your account\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:94 vhffs-panel/admin/su.pl:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:94
+#: vhffs-panel/admin/su.pl:72 vhffs-api/src/Vhffs/Panel/Admin.pm:94
 msgid "Change user-id"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:248
+#: vhffs-panel/user/prefs.pl:254
 msgid "Changed anti-virus status for your account\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:306 vhffs-panel/subscribe.pl:228
+#: vhffs-panel/user/prefs.pl:323 vhffs-panel/subscribe.pl:243
 msgid "City"
 msgstr "Stadt"
 
-#: vhffs-panel/user/prefs.pl:126
+#: vhffs-panel/user/prefs.pl:128
 msgid "City is not correct !"
 msgstr "Stadt ist nicht korrekt"
 
-#: vhffs-panel/mailinglist/prefs.pl:109
+#: vhffs-panel/mailinglist/prefs.pl:108
 msgid "Closed"
 msgstr "Geschlossen"
 
-#: vhffs-panel/subscribe.pl:238
+#: vhffs-panel/subscribe.pl:257
 msgid "Code confirmation"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:251
-msgid "Or listen to the code"
-msgstr "Oder hören Sie den Code"
-
 #: vhffs-panel/subscribe.pl:107
 msgid "Codes do not match"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:310
+#: vhffs-panel/cron/prefs.pl:139
+msgid "Collided, something went wrong, recovering"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:327
 msgid "Confirm Password"
 msgstr "Bestätige Passwort"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:241
 msgid "Confirmation code was wrong.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:240
+#: vhffs-panel/subscribe.pl:259
 msgid "Confirmation code, contact administrator team if you can't read it"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:237
+#: vhffs-panel/mail/prefs.pl:236
 msgid "Could not change box password"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:252
+#: vhffs-panel/mail/prefs.pl:251
 #, perl-format
 msgid "Could not update antivirus status for box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:244
 #, perl-format
 msgid "Could not update spam status for box %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:308 vhffs-panel/subscribe.pl:229
+#: vhffs-panel/user/prefs.pl:325 vhffs-panel/subscribe.pl:244
 msgid "Country"
 msgstr "Country"
 
-#: vhffs-panel/user/prefs.pl:135
+#: vhffs-panel/user/prefs.pl:137
 msgid "Country is not correct !"
 msgstr "Land ist nicht korrekt !"
 
+#: vhffs-panel/admin/tag/category/create.pl:77
+#: vhffs-panel/admin/tag/create.pl:72
+msgid "Create"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:66
+msgid "Create Tag"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:66
+msgid "Create Tag Category"
+msgstr ""
+
 #: vhffs-panel/cvs/create.pl:100
 msgid "Create a CVS Repository"
 msgstr "CVS Repository erstellen"
 
-#: vhffs-panel/dns/create.pl:68
+#: vhffs-panel/cron/create.pl:104
+msgid "Create a Cron job"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:69
 msgid "Create a DNS"
 msgstr "DNS erstellen"
 
@@ -1006,7 +989,7 @@
 msgid "Create a PostgreSQL database"
 msgstr "PostgreSQL Datenbank erstellen"
 
-#: vhffs-panel/group/create.pl:84
+#: vhffs-panel/group/create.pl:98
 msgid "Create a Project"
 msgstr "Neues Projekt erstellen"
 
@@ -1018,7 +1001,7 @@
 msgid "Create a git Repository"
 msgstr "Git Repository erstellen"
 
-#: vhffs-panel/mail/create.pl:90
+#: vhffs-panel/mail/create.pl:91
 msgid "Create a mail space"
 msgstr ""
 
@@ -1030,54 +1013,79 @@
 msgid "Create a web space"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:152
+msgid "Create new category"
+msgstr ""
+
 #: vhffs-panel/group/index.pl:63
 msgid "Create new project"
 msgstr "Neues Projekt erstellen"
 
-#: vhffs-intl/extra_strings.pl:24 vhffs-api/src/Vhffs/Panel/Object.pm:126
-#: vhffs-panel/admin/object/edit.pl:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:126
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
+msgid "Create new tag"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:119
+#: vhffs-api/src/Vhffs/Panel/Object.pm:125
 msgid "Created"
 msgstr "Erzeugt"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:124
-#: vhffs-panel/admin/object/edit.pl:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:124
+#: vhffs-panel/admin/object/edit.pl:117
+#: vhffs-api/src/Vhffs/Panel/Object.pm:123
 msgid "Creating error"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:23
-msgid "Creation error"
-msgstr "Erstellungsfehler"
+#: vhffs-panel/cron/prefs.pl:90
+msgid "Cron job Administration"
+msgstr ""
 
-#: vhffs-panel/group/prefs.pl:247 vhffs-panel/user/prefs.pl:337
+#: vhffs-panel/cron/prefs.pl:189
+msgid "Cron job successfully updated"
+msgstr ""
+
+#: vhffs-panel/cron/index.pl:61
+#, perl-format
+msgid "Cron jobs for %s"
+msgstr ""
+
+#: vhffs-panel/admin/cron/index.pl:56
+msgid "Cron jobs' administration"
+msgstr ""
+
+#: vhffs-panel/admin/cron/list.pl:82
+msgid "Cron path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:77 vhffs-api/src/Vhffs/Panel/Menu.pm:127
+msgid "Crons"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:348
+msgid "Crons Admin"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:354 vhffs-panel/group/prefs.pl:260
 msgid "Current avatar"
 msgstr "Aktuelles Avatar"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:450
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:450
-msgid "Current group:"
-msgstr "Aktuelle Gruppe"
-
-#: vhffs-panel/admin/pgsql/list.pl:76 vhffs-panel/admin/mysql/list.pl:82
+#: vhffs-panel/admin/mysql/list.pl:82 vhffs-panel/admin/pgsql/list.pl:76
 msgid "DB Name"
 msgstr "DB Name"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:293
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:313
 msgid "DNS Admin"
 msgstr "DNS Admin"
 
-#: vhffs-panel/dns/prefs.pl:227
+#: vhffs-panel/dns/prefs.pl:226
 #, perl-format
 msgid "DNS Administration - %s"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:74
+#: vhffs-panel/dns/create.pl:75
 msgid "DNS servers:"
 msgstr "DNS servers:"
 
-#: vhffs-panel/admin/stats.pl:112
+#: vhffs-panel/admin/stats.pl:111
 msgid "DNS stats"
 msgstr ""
 
@@ -1085,45 +1093,30 @@
 msgid "DNS' administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:210 vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:240 vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:264 vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:287 vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:343 vhffs-api/src/Vhffs/Panel/DNS.pm:355
-#: vhffs-panel/ajax/help.pl:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:162
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:264
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:287
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:316
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:343
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:355
+#: vhffs-panel/ajax/help.pl:49 vhffs-api/src/Vhffs/Panel/DNS.pm:163
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:199 vhffs-api/src/Vhffs/Panel/DNS.pm:211
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:229 vhffs-api/src/Vhffs/Panel/DNS.pm:241
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:253 vhffs-api/src/Vhffs/Panel/DNS.pm:266
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:278 vhffs-api/src/Vhffs/Panel/DNS.pm:291
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:304 vhffs-api/src/Vhffs/Panel/DNS.pm:321
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:336 vhffs-api/src/Vhffs/Panel/DNS.pm:348
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:360
 msgid "Database error"
 msgstr "Datenbankfehler"
 
-#: vhffs-panel/pgsql/delete.pl:85
+#: vhffs-panel/pgsql/delete.pl:84
 msgid "Database will NOT be deleted !"
 msgstr "Datenbank wird NICHT abgelöst !"
 
-#: vhffs-panel/pgsql/delete.pl:97
+#: vhffs-panel/pgsql/delete.pl:96
 msgid "Database will be DELETE"
 msgstr "Datenbank WIRD abgelöst"
 
-#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/group/history.pl:77
+#: vhffs-panel/admin/broadcast_view.pl:84 vhffs-panel/group/history.pl:78
 msgid "Date"
 msgstr "Datum"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:100 vhffs-panel/admin/object/edit.pl:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:100
+#: vhffs-panel/admin/object/edit.pl:94 vhffs-api/src/Vhffs/Panel/Object.pm:99
 msgid "Date of creation"
 msgstr "Erstellungsdatum"
 
@@ -1131,93 +1124,83 @@
 msgid "Default"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:810 vhffs-panel/repository/prefs.pl:93
-#: vhffs-panel/mail/prefs.pl:140 vhffs-panel/git/prefs.pl:109
-#: vhffs-panel/dns/prefs.pl:256 vhffs-panel/dns/prefs.pl:313
-#: vhffs-panel/dns/prefs.pl:325 vhffs-panel/dns/prefs.pl:338
-#: vhffs-panel/dns/prefs.pl:350 vhffs-panel/dns/prefs.pl:366
-#: vhffs-panel/dns/prefs.pl:377 vhffs-panel/dns/prefs.pl:393
-#: vhffs-panel/pgsql/prefs.pl:103 vhffs-panel/cvs/prefs.pl:120
-#: vhffs-panel/group/index.pl:65 vhffs-panel/group/prefs.pl:217
-#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/svn/prefs.pl:101
-#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/web/prefs.pl:113
-#: vhffs-panel/user/prefs.pl:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:810
+#: vhffs-panel/mysql/prefs.pl:116 vhffs-panel/pgsql/prefs.pl:103
+#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/cron/prefs.pl:154
+#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/user/prefs.pl:347
+#: vhffs-panel/svn/prefs.pl:102 vhffs-panel/dns/prefs.pl:255
+#: vhffs-panel/dns/prefs.pl:315 vhffs-panel/dns/prefs.pl:327
+#: vhffs-panel/dns/prefs.pl:340 vhffs-panel/dns/prefs.pl:352
+#: vhffs-panel/dns/prefs.pl:368 vhffs-panel/dns/prefs.pl:379
+#: vhffs-panel/dns/prefs.pl:395 vhffs-panel/group/prefs.pl:230
+#: vhffs-panel/group/index.pl:65 vhffs-panel/mail/prefs.pl:139
+#: vhffs-panel/cvs/prefs.pl:107 vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/web/prefs.pl:110 vhffs-api/src/Vhffs/Panel/Main.pm:809
 msgid "Delete"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:325
+#: vhffs-panel/user/prefs.pl:342
 msgid "Delete YOUR user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:200
-#: vhffs-panel/admin/object/edit.pl:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:200
+#: vhffs-panel/admin/object/edit.pl:194
+#: vhffs-api/src/Vhffs/Panel/Object.pm:199
 msgid "Delete avatar for this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:81
-msgid "Delete from list"
-msgstr ""
-
 #: vhffs-panel/pgsql/prefs.pl:98
 msgid "Delete this PostgreSQL database"
 msgstr "PostgreSQL Datenbank ablösen"
 
-#: vhffs-panel/mysql/prefs.pl:110
+#: vhffs-panel/cron/prefs.pl:149
+msgid "Delete this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:111
 msgid "Delete this database"
 msgstr "Datenbank ablösen"
 
-#: vhffs-panel/dns/prefs.pl:251
+#: vhffs-panel/dns/prefs.pl:250
 msgid "Delete this domain name from the VHFFS platform"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:56
-msgid "Delete this forward"
-msgstr ""
-
 #: vhffs-panel/mailinglist/prefs.pl:178
 msgid "Delete this list"
 msgstr "Liste ablösen"
 
-#: vhffs-panel/mail/prefs.pl:135
+#: vhffs-panel/mail/prefs.pl:134
 msgid "Delete this mail domain"
 msgstr "Domain ablösen"
 
-#: vhffs-panel/admin/broadcast_list.pl:89
+#: vhffs-panel/admin/broadcast_list.pl:87
 msgid "Delete this mailing"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:88 vhffs-panel/cvs/prefs.pl:115
-#: vhffs-panel/group/prefs.pl:212
+#: vhffs-panel/repository/prefs.pl:87 vhffs-panel/group/prefs.pl:225
+#: vhffs-panel/cvs/prefs.pl:102
 msgid "Delete this project"
 msgstr "Dieses Projekt ablösen"
 
-#: vhffs-panel/git/prefs.pl:104 vhffs-panel/svn/prefs.pl:96
+#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/git/prefs.pl:101
 msgid "Delete this repository"
 msgstr "Repository ablösen"
 
-#: vhffs-panel/web/prefs.pl:108
+#: vhffs-panel/web/prefs.pl:105
 msgid "Delete this web area"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:3 vhffs-intl/template_strings.pl:5
-#: vhffs-intl/template_strings.pl:40 vhffs-api/src/Vhffs/Panel/Object.pm:102
-#: vhffs-panel/repository/create.pl:98 vhffs-panel/git/create.pl:103
-#: vhffs-panel/dns/create.pl:79 vhffs-panel/pgsql/create.pl:110
-#: vhffs-panel/admin/object/edit.pl:98 vhffs-panel/admin/moderation.pl:88
-#: vhffs-panel/cvs/create.pl:108 vhffs-panel/group/create.pl:91
-#: vhffs-panel/mysql/create.pl:110 vhffs-panel/object/resubmit.pl:128
-#: vhffs-panel/svn/create.pl:102
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:102
+#: vhffs-panel/mysql/create.pl:110 vhffs-panel/pgsql/create.pl:111
+#: vhffs-panel/admin/object/edit.pl:96 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/tag/category/create.pl:69
+#: vhffs-panel/admin/tag/category/edit.pl:80
+#: vhffs-panel/admin/tag/create.pl:71 vhffs-panel/cron/create.pl:118
+#: vhffs-panel/repository/create.pl:98 vhffs-panel/svn/create.pl:102
+#: vhffs-panel/object/resubmit.pl:128 vhffs-panel/dns/create.pl:80
+#: vhffs-panel/group/create.pl:105 vhffs-panel/cvs/create.pl:108
+#: vhffs-panel/git/create.pl:103 vhffs-api/src/Vhffs/Panel/Object.pm:101
 msgid "Description"
 msgstr "Beschreibung"
 
-#: vhffs-intl/template_strings.pl:31
-msgid "Description contains"
-msgstr ""
-
-#: vhffs-panel/web/prefs.pl:99
+#: vhffs-panel/web/prefs.pl:96
 msgid "Description of your webarea"
 msgstr "Beschreibung des Webareas"
 
@@ -1225,48 +1208,43 @@
 msgid "Destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:71
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:120
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:74 vhffs-api/src/Vhffs/Panel/Menu.pm:124
 msgid "Dl repos"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:91
+#: vhffs-panel/mail/create.pl:92
 msgid "Domain"
 msgstr "Domain"
 
-#: vhffs-intl/extra_strings.pl:43 vhffs-panel/dns/create.pl:70
-#: vhffs-panel/admin/mail/list.pl:75 vhffs-panel/admin/dns/list.pl:75
+#: vhffs-panel/admin/dns/list.pl:75 vhffs-panel/admin/mail/list.pl:75
+#: vhffs-panel/dns/create.pl:71
 msgid "Domain Name"
 msgstr "Domainname"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:119
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:123
 msgid "Domain names"
 msgstr "Domainnamen"
 
-#: vhffs-panel/dns/index.pl:60
+#: vhffs-panel/dns/index.pl:61
 #, perl-format
 msgid "Domain names for %s"
 msgstr "Domainnamen für %s"
 
-#: vhffs-panel/git/prefs.pl:121 vhffs-panel/svn/prefs.pl:110
+#: vhffs-panel/svn/prefs.pl:111 vhffs-panel/git/prefs.pl:115
 #, perl-format
 msgid ""
 "Don't forget to subscribe %s to your mailing list if you are filtering posts"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:38
-msgid "Download Repository"
-msgstr "Download Repository"
+#: vhffs-panel/subscribe.pl:271
+msgid "Don't subscribe to the newsletter"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:311
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:331
 msgid "Download repositories Admin"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:60
+#: vhffs-panel/repository/index.pl:61
 #, perl-format
 msgid "Download repositories for %s"
 msgstr "Download Repositories für %s"
@@ -1279,53 +1257,50 @@
 msgid "Edit"
 msgstr "Ändern"
 
-#: vhffs-panel/admin/object/edit.pl:91
+#: vhffs-panel/admin/object/edit.pl:89
 msgid "Edit Object"
 msgstr "Ojekt ändern"
 
-#: vhffs-panel/admin/object/list.pl:98
+#: vhffs-panel/admin/object/list.pl:96
 msgid "Edit this object"
 msgstr "Dieses Objekt ändern"
 
-#: vhffs-panel/user/prefs.pl:183
+#: vhffs-panel/user/prefs.pl:189
 msgid "Email address changed"
 msgstr "Email Adresse aktualisiert"
 
-#: vhffs-panel/user/prefs.pl:129
+#: vhffs-panel/user/prefs.pl:131
 msgid "Email is not correct !"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:58
-msgid "Enable anti-spam"
-msgstr "Anti-spam aktivieren"
+#: vhffs-panel/cron/create.pl:112
+msgid "Email to which report will be sent if something went wrong"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:61
-msgid "Enable anti-virus"
-msgstr "Anti-virus aktivieren"
-
-#: vhffs-panel/mail/prefs.pl:107
+#: vhffs-panel/mail/prefs.pl:106
 msgid "Enter a mail address to catch all email for this domain"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:53 vhffs-panel/mail/index.pl:53
-#: vhffs-panel/git/index.pl:54 vhffs-panel/dns/index.pl:53
-#: vhffs-panel/pgsql/index.pl:53 vhffs-panel/cvs/index.pl:53
-#: vhffs-panel/mysql/index.pl:53 vhffs-panel/svn/index.pl:53
-#: vhffs-panel/mailinglist/index.pl:53 vhffs-panel/web/index.pl:53
+#: vhffs-panel/mysql/index.pl:54 vhffs-panel/pgsql/index.pl:54
+#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/cron/index.pl:54
+#: vhffs-panel/repository/index.pl:54 vhffs-panel/svn/index.pl:54
+#: vhffs-panel/dns/index.pl:54 vhffs-panel/mail/index.pl:54
+#: vhffs-panel/cvs/index.pl:54 vhffs-panel/git/index.pl:55
+#: vhffs-panel/web/index.pl:54
 msgid "Error"
 msgstr "Fehler"
 
-#: vhffs-panel/admin/broadcast_submit.pl:96
+#: vhffs-panel/admin/broadcast_submit.pl:92
 msgid "Error !"
 msgstr "Fehler !"
 
-#: vhffs-panel/user/prefs.pl:212
+#: vhffs-panel/user/prefs.pl:218
 msgid ""
 "Error ! You MUST provide a password in your account when you create your "
 "popable account"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:74
+#: vhffs-panel/group/create.pl:78
 msgid "Error creating group (maybe a group with the same name already exists)"
 msgstr ""
 
@@ -1333,11 +1308,11 @@
 msgid "Error creating webarea."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:239
+#: vhffs-panel/user/prefs.pl:245
 msgid "Error for spam protection\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:250
+#: vhffs-panel/user/prefs.pl:256
 msgid "Error for virus protection\n"
 msgstr "Fehler in virus Verteidigung\n"
 
@@ -1345,20 +1320,19 @@
 msgid "Error when uploading avatar for this object"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:96
+#: vhffs-panel/dns/delete.pl:88
 msgid "Error while switching state. DNS will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:67 vhffs-panel/group/history.pl:65
+#: vhffs-panel/group/history.pl:66 vhffs-panel/group/prefs.pl:71
 msgid "Error. This group doesn't exists"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:80
+#: vhffs-panel/group/history.pl:81
 msgid "Event"
 msgstr "Ereignis"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:360
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:360
+#: vhffs-api/src/Vhffs/Panel/Main.pm:365
 msgid "Expired session ! Please login again"
 msgstr ""
 
@@ -1366,85 +1340,59 @@
 msgid "Filetype not supported, only png is supported"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:74
-msgid "Fill with project's members emails"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:8 vhffs-intl/template_strings.pl:23
-#: vhffs-panel/user/prefs.pl:303 vhffs-panel/subscribe.pl:225
+#: vhffs-panel/user/prefs.pl:320 vhffs-panel/subscribe.pl:240
 msgid "Firstname"
 msgstr "Vorname"
 
-#: vhffs-panel/user/prefs.pl:120
+#: vhffs-panel/user/prefs.pl:122
 msgid "Firstname is not correct !"
 msgstr "Vorname ist nicht korrekt !"
 
-#: vhffs-panel/git/prefs.pl:115
-msgid "Fix permissions in this repository"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:117
-msgid "Fix them !"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:116
-msgid ""
-"Fixing permissions on a repository solve permission access on the "
-"repository. Can be helpful if you encounter problems"
-msgstr ""
-
-#: vhffs-panel/mail/prefs.pl:319
+#: vhffs-panel/mail/prefs.pl:318
 #, perl-format
 msgid "Forward %s deleted"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:304
+#: vhffs-panel/mail/prefs.pl:303
 #, perl-format
 msgid "Forward %s successfully updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:288 vhffs-panel/group/prefs.pl:191
-#: vhffs-panel/user/prefs.pl:268
+#: vhffs-panel/user/prefs.pl:274 vhffs-panel/group/prefs.pl:196
+#: vhffs-panel/mail/prefs.pl:287
 msgid "Forward added"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:188
+#: vhffs-panel/group/prefs.pl:193
 msgid "Forward deleted"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:414
+#: vhffs-panel/user/prefs.pl:431
 #, perl-format
 msgid "Forward emails from %s@%s to %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:125
+#: vhffs-panel/mail/prefs.pl:124
 msgid "Forward mail"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:277
+#: vhffs-panel/user/prefs.pl:283
 msgid "Forward updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:120
+#: vhffs-panel/mail/prefs.pl:119
 msgid "Forwards"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:560
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:560
+#: vhffs-api/src/Vhffs/Panel/Main.pm:547
 msgid "Full history"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:118
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:122
 msgid "GIT"
 msgstr "GIT"
 
-#: vhffs-intl/template_strings.pl:44
-msgid "GIT Repositories for this group"
-msgstr ""
-
-#: vhffs-panel/git/index.pl:61
+#: vhffs-panel/git/index.pl:62
 #, perl-format
 msgid "GIT repositories for %s"
 msgstr "GIT Repositories für %s"
@@ -1457,30 +1405,22 @@
 msgid "GIT root"
 msgstr "GIT root"
 
-#: vhffs-panel/admin/stats.pl:133
+#: vhffs-panel/admin/stats.pl:132
 msgid "GIT stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:110 vhffs-api/src/Vhffs/Panel/Main.pm:559
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:114 vhffs-api/src/Vhffs/Panel/Main.pm:546
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:79
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:559
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:110
 msgid "General"
 msgstr "Allgemein"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:91 vhffs-api/src/Vhffs/Panel/Admin.pm:76
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:95 vhffs-api/src/Vhffs/Panel/Admin.pm:76
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:76
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:91
 msgid "Get Statistics"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:206
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:226
 msgid "Git Admin"
 msgstr "Git Admin"
 
@@ -1488,17 +1428,15 @@
 msgid "Give me a new password"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:808
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:808
+#: vhffs-api/src/Vhffs/Panel/Main.pm:807
 msgid "Go to administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:85
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:88
 msgid "Go to public area"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:302
+#: vhffs-panel/mailinglist/prefs.pl:304
 #, perl-format
 msgid ""
 "Greetings,\n"
@@ -1508,38 +1446,35 @@
 "You may get some help on listengine by sending an email to %s-request@%s "
 "with subject help.\n"
 "\n"
-"Cheers."
+"Cheers.\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:36 vhffs-panel/admin/repository/list.pl:76
-#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/git/list.pl:73
-#: vhffs-panel/admin/dns/list.pl:76 vhffs-panel/admin/pgsql/list.pl:77
-#: vhffs-panel/admin/cvs/list.pl:77 vhffs-panel/admin/mysql/list.pl:83
-#: vhffs-panel/admin/svn/list.pl:71 vhffs-panel/admin/mailinglist/list.pl:80
-#: vhffs-panel/admin/web/list.pl:71 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/mysql/list.pl:83 vhffs-panel/admin/pgsql/list.pl:77
+#: vhffs-panel/admin/mailinglist/list.pl:80 vhffs-panel/admin/cron/list.pl:83
+#: vhffs-panel/admin/repository/list.pl:76 vhffs-panel/admin/svn/list.pl:71
+#: vhffs-panel/admin/moderation.pl:86 vhffs-panel/admin/dns/list.pl:76
+#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/cvs/list.pl:77
+#: vhffs-panel/admin/git/list.pl:73 vhffs-panel/admin/web/list.pl:71
 msgid "Group"
 msgstr "Gruppe"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:546
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:546
+#: vhffs-api/src/Vhffs/Panel/Main.pm:533
 #, perl-format
 msgid "Group %s"
 msgstr "Gruppe %s"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:135
 msgid "Group Admin"
 msgstr "Gruppe Admin"
 
-#: vhffs-intl/template_strings.pl:66
-msgid "Group Quota"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:543
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:543
+#: vhffs-api/src/Vhffs/Panel/Main.pm:530
 msgid "Group error"
 msgstr "Gruppe Fehler"
 
+#: vhffs-public/group.pl:62
+msgid "Group not found"
+msgstr ""
+
 #: vhffs-panel/acl/view.pl:87
 msgid "Group or user not found"
 msgstr "Guppe oder Benutzer nicht gefunden"
@@ -1548,7 +1483,7 @@
 msgid "Group owning this CVS"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:75
+#: vhffs-panel/dns/create.pl:76
 msgid "Group owning this DNS"
 msgstr ""
 
@@ -1556,7 +1491,11 @@
 msgid "Group owning this Subversion repository"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:103 vhffs-panel/mysql/create.pl:103
+#: vhffs-panel/cron/create.pl:106
+msgid "Group owning this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:103 vhffs-panel/pgsql/create.pl:103
 msgid "Group owning this database"
 msgstr ""
 
@@ -1564,7 +1503,7 @@
 msgid "Group owning this git repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:93
+#: vhffs-panel/mail/create.pl:94
 msgid "Group owning this mail domain"
 msgstr ""
 
@@ -1580,32 +1519,29 @@
 msgid "Group owning this web space"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:97
+#: vhffs-panel/group/prefs.pl:102
 msgid "Group updated"
 msgstr "Gruppe aktualisiert"
 
-#: vhffs-panel/group/prefs.pl:293
+#: vhffs-panel/group/prefs.pl:303
 msgid "Group updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:1 vhffs-intl/template_strings.pl:4
-#: vhffs-intl/template_strings.pl:30 vhffs-intl/template_strings.pl:39
 #: vhffs-panel/admin/group/list.pl:80
 msgid "Groupname"
 msgstr "Gruppenname"
 
-#: vhffs-panel/group/create.pl:66
+#: vhffs-panel/group/create.pl:68
 msgid ""
 "Groupname must contain between 3 and 12 characters, only letters or numbers "
 "in lower case"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:48 vhffs-api/src/Vhffs/Panel/Menu.pm:112
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:112
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:116
 msgid "Groups"
 msgstr "Gruppen"
 
-#: vhffs-panel/admin/stats.pl:99
+#: vhffs-panel/admin/stats.pl:98
 msgid "Groups stats"
 msgstr ""
 
@@ -1613,11 +1549,7 @@
 msgid "Groups' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:26
-msgid "Groups/Projects"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:181
+#: vhffs-panel/user/prefs.pl:187
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1630,8 +1562,7 @@
 "VHFFS administrators\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:499
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:499
+#: vhffs-api/src/Vhffs/Object.pm:514
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1652,11 +1583,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:322
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:322
+#: vhffs-api/src/Vhffs/User.pm:333
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1677,12 +1607,29 @@
 "%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:404
+#: vhffs-api/src/Vhffs/Object.pm:408
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
 "\n"
+"Your request for a %s (%s) on %s was accepted, however, moderators wanted to "
+"add some precision:\n"
+"%s.\n"
+"Please wait while we are creating your object.\n"
+"\n"
+"Cheers,\n"
+"The moderator team\n"
+"\n"
+"---------\n"
+"%s\n"
+"%s\n"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Object.pm:420
+#, perl-format
+msgid ""
+"Hello %s %s,\n"
+"\n"
 "Your request for a %s (%s) on %s was accepted.\n"
 "Please wait while we are creating your object.\n"
 "\n"
@@ -1691,11 +1638,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:453
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:453
+#: vhffs-api/src/Vhffs/Object.pm:468
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1715,32 +1661,25 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:502
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:502
+#: vhffs-api/src/Vhffs/Panel/Main.pm:490
 #, perl-format
 msgid "Hello %s, welcome in VHFFS !"
 msgstr "Hello %s, Wilkommen bei VHFFS !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:46
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:46
 msgid "Hello and welcome on listengine help\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:437 vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-api/src/Vhffs/Panel/Main.pm:663 vhffs-api/src/Vhffs/Panel/Main.pm:818
-#: vhffs-panel/group/prefs.pl:233 vhffs-panel/user/prefs.pl:417
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:437
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:663
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:818
+#: vhffs-panel/user/prefs.pl:434 vhffs-panel/group/prefs.pl:246
+#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:553
+#: vhffs-api/src/Vhffs/Panel/Main.pm:659 vhffs-api/src/Vhffs/Panel/Main.pm:818
 msgid "Help"
 msgstr "Hilfe"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:52
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:52
 msgid "Here are the basic listengine commands:\n"
 msgstr ""
 
@@ -1749,152 +1688,159 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:422
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:422
 #, perl-format
 msgid ""
 "His email address is:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:811 vhffs-panel/admin/object/list.pl:92
-#: vhffs-panel/admin/object/list.pl:99 vhffs-panel/history.pl:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:811
+#: vhffs-panel/admin/object/list.pl:90 vhffs-panel/admin/object/list.pl:97
+#: vhffs-panel/history.pl:96 vhffs-api/src/Vhffs/Panel/Main.pm:810
 msgid "History"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:203
-#: vhffs-panel/admin/object/edit.pl:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:203
+#: vhffs-panel/admin/object/edit.pl:196
+#: vhffs-api/src/Vhffs/Panel/Object.pm:202
 msgid "History of this object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:434
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:434
+#: vhffs-api/src/Vhffs/Panel/Main.pm:424
 msgid "Home page"
 msgstr "Homepage"
 
-#: vhffs-intl/template_strings.pl:15
-msgid "Homepage of public area"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:295 vhffs-panel/dns/prefs.pl:380
-#: vhffs-panel/dns/prefs.pl:396
+#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:398
 msgid "Host"
 msgstr "Rechner"
 
-#: vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:288
 msgid "Host of your name server"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:165
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:165
 msgid "However this list require approval for new subscribers.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:120
 #, perl-format
 msgid "However you are (%s) already subscribed to this list.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:69
 msgid "I've lost my password"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:263
+#: vhffs-panel/dns/prefs.pl:262
 msgid "IP"
 msgstr "IP"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:505
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:505
+#: vhffs-api/src/Vhffs/Panel/Main.pm:493
 msgid ""
 "If you are new to VHFFS, you should start to read quickly the whole help "
 "available by clicking on the help button in the upper right of your screen"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:88
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:88
 msgid ""
 "If you don't asked to be subscribed to this mailing list,\n"
 "just forget this email\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:106
 msgid ""
 "If you haven't asked to be unsubscribed from this list,\n"
 "please don't answer to this mail\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:203
+#: vhffs-panel/group/prefs.pl:216
 msgid ""
 "If you want more disk space for your project, you must fill a form in the "
 "bug report section, in the menu. Don't forget to mention the name of the "
 "group."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:239
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:197
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:239
+#: vhffs-panel/admin/tag/request/details.pl:146
+msgid "If you want to create a new category, you have to create a new tag too"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:110
+#, perl-format
+msgid ""
+"In minutes, at which interval this cron should be started, the minimum "
+"interval is set to %d minutes"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:109
+msgid "Interval"
+msgstr ""
+
+#: vhffs-panel/cron/prefs.pl:95
+msgid "Interval between runs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:198 vhffs-api/src/Vhffs/Panel/DNS.pm:210
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:240
 msgid "Invalid IP address"
 msgstr "Ungültige IP Adresse"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:227
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:228
 msgid "Invalid IP v6 address"
 msgstr "Ungültige IP v6 Adresse"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:297
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:301
 msgid "Invalid alias"
 msgstr "Ungültiges Alias"
 
-#: vhffs-panel/pgsql/create.pl:86 vhffs-panel/mysql/create.pl:86
+#: vhffs-panel/admin/tag/create.pl:90 vhffs-panel/admin/tag/edit.pl:111
+msgid "Invalid category"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:88
 msgid ""
+"Invalid cronpath, it must contain only letters, numbers, underscore, dash, "
+"dot or slash. A valid cronpath will be something like /home/group/script.sh)"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:86 vhffs-panel/pgsql/create.pl:86
+msgid ""
 "Invalid database name, it must contain only numbers, lowercase letters and "
 "underscore (the latter isn't allowed in first or last position) and be "
 "between 3 and 32 characters."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:286
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:286
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:290
 msgid "Invalid destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:311 vhffs-api/src/Vhffs/Panel/DNS.pm:327
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:327
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:315 vhffs-api/src/Vhffs/Panel/DNS.pm:332
 msgid "Invalid destination domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:298
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:302
 msgid "Invalid destination host"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:76 vhffs-panel/dns/create.pl:51
+#: vhffs-panel/dns/create.pl:52 vhffs-panel/mail/create.pl:77
 msgid "Invalid domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:263
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:265
 msgid "Invalid host"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:249 vhffs-api/src/Vhffs/Panel/DNS.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:249
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:273
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:276
 msgid "Invalid hostname"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:90
+msgid "Invalid interval, it must be a positive integer"
+msgstr ""
+
 #: vhffs-panel/mailinglist/create.pl:85
 msgid "Invalid local part"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:188
+#: vhffs-panel/git/prefs.pl:163
 msgid "Invalid mailing list address"
 msgstr ""
 
@@ -1906,53 +1852,38 @@
 msgid "Invalid password. It must contain at least 3 characters"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:312 vhffs-api/src/Vhffs/Panel/DNS.pm:328
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:312
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:328
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:333
 msgid "Invalid port"
 msgstr "Invalid port"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:194 vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:341
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:341
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:254 vhffs-api/src/Vhffs/Panel/DNS.pm:279
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:345
 msgid "Invalid prefix"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:329
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:250
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:329
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:251 vhffs-api/src/Vhffs/Panel/DNS.pm:317
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:334
 msgid "Invalid priority"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:309
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:313
 msgid "Invalid protocol syntax"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:120 vhffs-panel/group/prefs.pl:274
+#: vhffs-panel/repository/prefs.pl:119 vhffs-panel/group/prefs.pl:289
 msgid "Invalid quota"
 msgstr "Ungültige Quote"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:159 vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:237 vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:284 vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:159
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:284
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:352
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:160 vhffs-api/src/Vhffs/Panel/DNS.pm:208
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:319
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:330 vhffs-api/src/Vhffs/Panel/DNS.pm:357
 msgid "Invalid record"
 msgstr "Ungültiger Eintrag"
 
-#: vhffs-panel/git/create.pl:81 vhffs-panel/cvs/create.pl:82
-#: vhffs-panel/svn/create.pl:81
+#: vhffs-panel/svn/create.pl:81 vhffs-panel/cvs/create.pl:82
+#: vhffs-panel/git/create.pl:81
 msgid ""
 "Invalid reponame. It must contain between 3 and 64 characters, only "
 "lowercase letters and numbers"
@@ -1962,152 +1893,140 @@
 msgid "Invalid servername (doesn't conform to domain names rules)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:310
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:310
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:314
 msgid "Invalid service syntax"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:115
+#: vhffs-panel/subscribe.pl:117
 msgid ""
 "Invalid username, it must contain between 3 and 12 alphanumeric characters, "
 "all in lowercase"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:314 vhffs-api/src/Vhffs/Panel/DNS.pm:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:330
+#: vhffs-panel/admin/tag/category/edit.pl:119
+msgid "Invalid visibility"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:318 vhffs-api/src/Vhffs/Panel/DNS.pm:335
 msgid "Invalid weight"
 msgstr "Ungültiges Gewicht"
 
-#: vhffs-panel/cvs/prefs.pl:111
+#: vhffs-panel/cvs/prefs.pl:98
 msgid "Is this CVS repository public ??"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:100 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/svn/prefs.pl:93 vhffs-panel/git/prefs.pl:97
 msgid "Is this a public repository ?"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:311
+#: vhffs-panel/admin/tag/category/create.pl:68
+#: vhffs-panel/admin/tag/category/edit.pl:79
+#: vhffs-panel/admin/tag/create.pl:70
+msgid "Label"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:328
 msgid "Language"
 msgstr "Sprache"
 
-#: vhffs-intl/template_strings.pl:17 vhffs-intl/template_strings.pl:27
-msgid "Last Groups"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:16
-msgid "Last Users"
-msgstr ""
-
-#: vhffs-public/lastgroups.pl:58
+#: vhffs-public/index.pl:48 vhffs-public/lastgroups.pl:58
 #, perl-format
 msgid "Last groups on %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:20
-msgid "Last users"
+#: vhffs-panel/cron/prefs.pl:114
+msgid "Last run date was"
 msgstr ""
 
-#: vhffs-public/lastusers.pl:60
-#, perl-format
-msgid "Last users on %s"
+#: vhffs-panel/cron/prefs.pl:119
+msgid "Last run return code was"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:9 vhffs-intl/template_strings.pl:24
-#: vhffs-panel/user/prefs.pl:304 vhffs-panel/subscribe.pl:226
+#: vhffs-panel/user/prefs.pl:321 vhffs-panel/subscribe.pl:241
 msgid "Lastname"
 msgstr "Nachname"
 
-#: vhffs-panel/user/prefs.pl:123
+#: vhffs-panel/user/prefs.pl:125
 msgid "Lastname is not correct !"
 msgstr "Nachname ist nicht korrekt"
 
-#: vhffs-panel/dns/prefs.pl:236
+#: vhffs-panel/dns/prefs.pl:235
 msgid "List all A reccords"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:237
+#: vhffs-panel/dns/prefs.pl:236
 msgid "List all AAAA reccords"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:185
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:205
 msgid "List all CVS repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:203
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:203
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
 msgid "List all Git repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:220
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:220
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
 msgid "List all MySQL databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:237
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
 msgid "List all Pg databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:167
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:187
 msgid "List all SVN repos"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:303
+#: vhffs-panel/dns/prefs.pl:305
 msgid "List all TXT records"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:112
+#: vhffs-panel/mail/prefs.pl:111
 msgid "List all accounts"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:290
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:290
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:345
+msgid "List all cron jobs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:310
 msgid "List all domain names"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:308
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:308
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:328
 msgid "List all download repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:121
+#: vhffs-panel/mail/prefs.pl:120
 msgid "List all forwardings for this domain"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:132
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:132
 msgid "List all groups"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:254
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:254
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:274
 msgid "List all mail domains"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:272
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:272
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:292
 msgid "List all mailing lists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:147
+#: vhffs-panel/mailinglist/prefs.pl:146
 msgid "List all members"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:96
 msgid "List all objects"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:115
 msgid "List all users"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:150
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
 msgid "List all webareas"
 msgstr ""
 
@@ -2115,6 +2034,10 @@
 msgid "List of all CVS repositories"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:79
+msgid "List of all Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:72
 msgid "List of all Download repositories"
 msgstr ""
@@ -2147,7 +2070,7 @@
 msgid "List of all users"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:18 vhffs-panel/admin/web/list.pl:67
+#: vhffs-panel/admin/web/list.pl:67
 msgid "List of all websites"
 msgstr ""
 
@@ -2155,23 +2078,23 @@
 msgid "List updated"
 msgstr "Liste aktualisiert"
 
-#: vhffs-panel/mailinglist/delete.pl:95
+#: vhffs-panel/mailinglist/delete.pl:93
 msgid "List will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:166
+#: vhffs-panel/admin/stats.pl:165
 msgid "Listengine stats"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:124
+#: vhffs-panel/mail/prefs.pl:123
 msgid "Local Part"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:115
+#: vhffs-panel/mail/prefs.pl:114
 msgid "Local Part for this account"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:75 vhffs-panel/lost_ack.pl:83
+#: vhffs-panel/lost_ack.pl:78 vhffs-panel/lost_ack.pl:86
 msgid "Login"
 msgstr "Benutzername"
 
@@ -2179,22 +2102,15 @@
 msgid "Login failed !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:245
+#: vhffs-panel/group/prefs.pl:258
 msgid "Logo"
 msgstr "Logo"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:439
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:439
+#: vhffs-api/src/Vhffs/Panel/Main.pm:429
 msgid "Logout"
 msgstr "Abmelden"
 
-#: vhffs-intl/template_strings.pl:53 vhffs-intl/template_strings.pl:69
-msgid "MB"
-msgstr "MB"
-
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:73
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:122
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:76 vhffs-api/src/Vhffs/Panel/Menu.pm:126
 msgid "ML"
 msgstr ""
 
@@ -2210,34 +2126,27 @@
 msgid "MX Record updated"
 msgstr "MX Eintrag aktualisiert"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:121
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:75 vhffs-api/src/Vhffs/Panel/Menu.pm:125
 msgid "Mail"
 msgstr "E-Mail"
 
-#: vhffs-panel/mail/prefs.pl:101
+#: vhffs-panel/mail/prefs.pl:100
 msgid "Mail Administration for domain "
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:44
-msgid "Mail Domain"
-msgstr "Mail Domain"
-
-#: vhffs-panel/user/prefs.pl:282
+#: vhffs-panel/user/prefs.pl:288
 msgid "Mail deleted"
 msgstr "Mail abgelöst"
 
-#: vhffs-panel/mail/create.pl:80
+#: vhffs-panel/mail/create.pl:81
 msgid "Mail domain successfully created !"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:257
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:277
 msgid "Mail domains Admin"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:60
+#: vhffs-panel/mail/index.pl:61
 #, perl-format
 msgid "Mail domains for %s"
 msgstr ""
@@ -2250,52 +2159,53 @@
 msgid "Mail for the list"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:139
+#: vhffs-panel/cron/prefs.pl:99
+msgid "Mail reports to"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:138
 msgid "Mail stats"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:111
+msgid "Mail to"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:98
 msgid "Mail to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:371
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:371
 #, perl-format
 msgid "Mail with id %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:180
+#: vhffs-panel/user/prefs.pl:186
 msgid "Mailbox modified"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:223
+#: vhffs-panel/user/prefs.pl:229
 msgid "Mailbox successfully added"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:45 vhffs-panel/admin/mailinglist/list.pl:79
+#: vhffs-panel/admin/mailinglist/list.pl:79
 msgid "Mailing List"
 msgstr "Mailing Liste"
 
-#: vhffs-intl/template_strings.pl:45
-msgid "Mailing Lists for this group"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:81
+#: vhffs-panel/mailinglist/prefs.pl:80
 #, perl-format
 msgid "Mailing list %s@%s not found"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:157
+#: vhffs-panel/svn/prefs.pl:158
 msgid "Mailing list address is invalid"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:275
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:295
 msgid "Mailing lists Admin"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:60
+#: vhffs-panel/mailinglist/index.pl:61
 #, perl-format
 msgid "Mailing lists for %s"
 msgstr ""
@@ -2304,36 +2214,51 @@
 msgid "Mailing lists' administration"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_submit.pl:92
+#: vhffs-panel/admin/broadcast_submit.pl:88
 msgid "Mailing successfully added"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_delete.pl:92
+#: vhffs-panel/admin/broadcast_delete.pl:88
 msgid "Mailing successfully deleted"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
+msgid "Manage existing categories"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
+msgid "Manage existing tags"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:99
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:99
 msgid "Manage mailings"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:146
+#: vhffs-panel/mailinglist/prefs.pl:145
 msgid "Manage members"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:152
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:154
+msgid "Manage requests"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:157
 msgid "Many users matched your query. Please choose between them"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:114
+#: vhffs-panel/admin/stats.pl:183
+msgid "Max tags for a group"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:113
 msgid "Members only"
 msgstr "Nur Mitglieder"
 
-#: vhffs-panel/mailinglist/prefs.pl:115
+#: vhffs-panel/mailinglist/prefs.pl:114
 msgid "Members only and moderated"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:80
+#: vhffs-panel/admin/broadcast.pl:78
 msgid "Message"
 msgstr ""
 
@@ -2346,42 +2271,35 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:336 vhffs-api/src/Vhffs/Listengine.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:336
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:353
 #, perl-format
 msgid "Message with id: %s"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:112
+#: vhffs-panel/mailinglist/prefs.pl:111
 msgid "Moderated for everyone"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:92 vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:95 vhffs-panel/admin/moderation.pl:74
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:92
+#: vhffs-panel/admin/moderation.pl:73 vhffs-api/src/Vhffs/Panel/Menu.pm:96
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:77 vhffs-api/src/Vhffs/Panel/Admin.pm:95
 msgid "Moderation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:85
-msgid "Moderator"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:419
+msgid "Moderator account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:429
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:429
-msgid "Moderator account"
+#: vhffs-panel/admin/tag/category/create.pl:74
+#: vhffs-panel/admin/tag/category/edit.pl:85
+msgid "Moderators"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:30 vhffs-api/src/Vhffs/Panel/Object.pm:131
-#: vhffs-panel/admin/object/edit.pl:126
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:131
+#: vhffs-panel/admin/object/edit.pl:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:130
 msgid "Modification applied"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:29 vhffs-api/src/Vhffs/Panel/Object.pm:130
-#: vhffs-panel/admin/object/edit.pl:125
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:130
+#: vhffs-panel/admin/object/edit.pl:123
+#: vhffs-api/src/Vhffs/Panel/Object.pm:129
 msgid "Modification error"
 msgstr ""
 
@@ -2389,58 +2307,46 @@
 msgid "Modifications applied successfully"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:152 vhffs-panel/git/prefs.pl:197
-#: vhffs-panel/svn/prefs.pl:163
+#: vhffs-panel/svn/prefs.pl:164 vhffs-panel/git/prefs.pl:172
 msgid ""
 "Modifications applied. Please wait while your repository is being updated"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:103 vhffs-panel/dns/prefs.pl:315
-#: vhffs-panel/dns/prefs.pl:327 vhffs-panel/dns/prefs.pl:340
-#: vhffs-panel/dns/prefs.pl:351 vhffs-panel/dns/prefs.pl:378
-#: vhffs-panel/dns/prefs.pl:394 vhffs-panel/pgsql/prefs.pl:97
-#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/mail/list.pl:84
-#: vhffs-panel/admin/git/list.pl:81 vhffs-panel/admin/dns/list.pl:84
-#: vhffs-panel/admin/pgsql/list.pl:85 vhffs-panel/admin/cvs/list.pl:84
-#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mysql/list.pl:92
-#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/mailinglist/list.pl:88
-#: vhffs-panel/admin/user/list.pl:79 vhffs-panel/cvs/prefs.pl:114
-#: vhffs-panel/group/prefs.pl:211 vhffs-panel/group/prefs.pl:229
-#: vhffs-panel/acl/view.pl:105 vhffs-panel/mysql/prefs.pl:109
-#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/web/prefs.pl:101
-#: vhffs-panel/user/prefs.pl:314
+#: vhffs-panel/mysql/prefs.pl:110 vhffs-panel/pgsql/prefs.pl:97
+#: vhffs-panel/admin/mysql/list.pl:92 vhffs-panel/admin/pgsql/list.pl:85
+#: vhffs-panel/admin/mailinglist/list.pl:88 vhffs-panel/admin/cron/list.pl:92
+#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/user/list.pl:79
+#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/dns/list.pl:84
+#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mail/list.pl:84
+#: vhffs-panel/admin/cvs/list.pl:84 vhffs-panel/admin/git/list.pl:81
+#: vhffs-panel/cron/prefs.pl:148 vhffs-panel/user/prefs.pl:331
+#: vhffs-panel/svn/prefs.pl:96 vhffs-panel/dns/prefs.pl:317
+#: vhffs-panel/dns/prefs.pl:329 vhffs-panel/dns/prefs.pl:342
+#: vhffs-panel/dns/prefs.pl:353 vhffs-panel/dns/prefs.pl:380
+#: vhffs-panel/dns/prefs.pl:396 vhffs-panel/group/prefs.pl:224
+#: vhffs-panel/group/prefs.pl:242 vhffs-panel/cvs/prefs.pl:101
+#: vhffs-panel/git/prefs.pl:100 vhffs-panel/acl/view.pl:105
+#: vhffs-panel/web/prefs.pl:98
 msgid "Modify"
 msgstr "Ändern"
 
-#: vhffs-panel/dns/prefs.pl:260
-msgid "Must we redirect the DNS on our servers ?"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:436 vhffs-panel/group/index.pl:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:436
+#: vhffs-panel/group/index.pl:54 vhffs-api/src/Vhffs/Panel/Main.pm:426
 msgid "My Projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:65 vhffs-api/src/Vhffs/Panel/Menu.pm:114
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:114
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:118
 msgid "MySQL"
 msgstr "MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:223
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:243
 msgid "MySQL Admin"
 msgstr "MySQL Admin"
 
-#: vhffs-panel/mysql/prefs.pl:93
+#: vhffs-panel/mysql/prefs.pl:94
 msgid "MySQL Administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:39
-msgid "MySQL DB"
-msgstr "MySQL DB"
-
-#: vhffs-panel/mysql/index.pl:60
+#: vhffs-panel/mysql/index.pl:61
 #, perl-format
 msgid "MySQL DBs for %s"
 msgstr ""
@@ -2457,7 +2363,7 @@
 msgid "MySQL password for this database "
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:151
+#: vhffs-panel/admin/stats.pl:150
 msgid "MySQL stats"
 msgstr ""
 
@@ -2473,77 +2379,82 @@
 msgid "NS TYPE"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/group/history.pl:79
+#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:80
 msgid "Name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:264
+#: vhffs-panel/dns/prefs.pl:263
 msgid "Name for reccord"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:307
+#: vhffs-panel/dns/prefs.pl:309
 msgid "Name for record"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:84 vhffs-panel/mysql/prefs.pl:95
+#: vhffs-panel/mysql/prefs.pl:96 vhffs-panel/pgsql/prefs.pl:84
 msgid "Name of the database"
 msgstr ""
 
+#: vhffs-panel/dns/prefs.pl:270 vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:294
+msgid "Name of the record"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:271
 msgid "Name of your MX"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:812
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:812
-msgid "New"
+#: vhffs-panel/cron/prefs.pl:112 vhffs-panel/cron/prefs.pl:118
+msgid "Never"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:52 vhffs-intl/template_strings.pl:68
-msgid "New Quota"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:811
+msgid "New"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:271
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:271
 #, perl-format
 msgid "New language is: %s\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:60 vhffs-intl/template_strings.pl:63
-#: vhffs-panel/git/prefs.pl:102 vhffs-panel/dns/prefs.pl:262
-#: vhffs-panel/cvs/prefs.pl:113 vhffs-panel/svn/prefs.pl:94
+#: vhffs-panel/cron/prefs.pl:128
+msgid "Next run is scheduled at"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/dns/prefs.pl:261
+#: vhffs-panel/cvs/prefs.pl:100 vhffs-panel/git/prefs.pl:99
 msgid "No"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:319
+#: vhffs-panel/dns/prefs.pl:321
 msgid "No A type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:331
+#: vhffs-panel/dns/prefs.pl:333
 msgid "No AAAA type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:358
+#: vhffs-panel/dns/prefs.pl:360
 msgid "No CNAME available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:345
+#: vhffs-panel/dns/prefs.pl:347
 msgid "No MX reccord for this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:371
+#: vhffs-panel/dns/prefs.pl:373
 msgid "No NS available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:387
+#: vhffs-panel/dns/prefs.pl:389
 msgid "No SRV available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:400
+#: vhffs-panel/dns/prefs.pl:402
 msgid "No TXT available on this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:345
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:345
+#: vhffs-api/src/Vhffs/Panel/Main.pm:350
 msgid "No cookie found, please accept the cookie and then please login again !"
 msgstr ""
 
@@ -2551,79 +2462,53 @@
 msgid "No enough rights"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:83
+#: vhffs-panel/group/history.pl:84
 msgid "No event about this group"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:208
-#: vhffs-panel/admin/object/edit.pl:204 vhffs-panel/history.pl:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:208
+#: vhffs-panel/admin/object/edit.pl:202 vhffs-panel/history.pl:104
+#: vhffs-api/src/Vhffs/Panel/Object.pm:207
 msgid "No event about this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:49
-msgid "No group"
-msgstr ""
-
-#: vhffs-public/groupsearch.pl:74
+#: vhffs-public/groupsearch.pl:78
 msgid "No group found"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:770
+#: vhffs-listengine/src/listengine.pl:773
 msgid "No message to moderate"
 msgstr ""
 
-#: vhffs-public/group.pl:79
-msgid "No such group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:13
-msgid "No user"
-msgstr ""
-
-#: vhffs-panel/group/prefs.pl:255
+#: vhffs-panel/group/prefs.pl:268
 msgid "No user for this group"
 msgstr ""
 
-#: vhffs-public/usersearch.pl:75
+#: vhffs-public/usersearch.pl:61
 msgid "No user found"
 msgstr ""
 
-#: vhffs-public/websitesearch.pl:74
-msgid "No website found"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:47
-msgid "No websites"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:255 vhffs-panel/web/prefs.pl:112
-#: vhffs-panel/user/prefs.pl:329
+#: vhffs-panel/user/prefs.pl:346 vhffs-panel/dns/prefs.pl:254
+#: vhffs-panel/web/prefs.pl:109
 msgid "No, I'm not sure, I prefer to keep it."
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/mail/prefs.pl:139
-#: vhffs-panel/git/prefs.pl:108 vhffs-panel/pgsql/prefs.pl:102
-#: vhffs-panel/cvs/prefs.pl:119 vhffs-panel/group/prefs.pl:216
-#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/svn/prefs.pl:100
-#: vhffs-panel/mailinglist/prefs.pl:182
+#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/pgsql/prefs.pl:102
+#: vhffs-panel/mailinglist/prefs.pl:182 vhffs-panel/cron/prefs.pl:153
+#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/svn/prefs.pl:101
+#: vhffs-panel/group/prefs.pl:229 vhffs-panel/mail/prefs.pl:138
+#: vhffs-panel/cvs/prefs.pl:106 vhffs-panel/git/prefs.pl:105
 msgid "No, I'm not sure, I prefer to keep this project."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:813
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:813
+#: vhffs-api/src/Vhffs/Panel/Main.pm:812
 msgid "None"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:84
-msgid "Normal"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:120 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/svn/prefs.pl:110 vhffs-panel/git/prefs.pl:114
 msgid "Notify changes on mailing-list :"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:88
+#: vhffs-panel/admin/object/list.pl:86
 msgid "Object ID"
 msgstr ""
 
@@ -2631,8 +2516,7 @@
 msgid "Object deletion"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:98 vhffs-panel/admin/object/edit.pl:94
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:98
+#: vhffs-panel/admin/object/edit.pl:92 vhffs-api/src/Vhffs/Panel/Object.pm:97
 msgid "Object id"
 msgstr ""
 
@@ -2640,7 +2524,7 @@
 msgid "Object name"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit_submit.pl:95
+#: vhffs-panel/admin/object/edit_submit.pl:93
 msgid "Object successfully updated"
 msgstr ""
 
@@ -2652,59 +2536,59 @@
 msgid "Object-ID error"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:145 vhffs-panel/git/prefs.pl:114
-#: vhffs-panel/dns/prefs.pl:247 vhffs-panel/svn/prefs.pl:106
-#: vhffs-panel/web/prefs.pl:105
+#: vhffs-panel/mysql/prefs.pl:108 vhffs-panel/cron/prefs.pl:146
+#: vhffs-panel/svn/prefs.pl:107 vhffs-panel/dns/prefs.pl:246
+#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:111
+#: vhffs-panel/web/prefs.pl:102
 msgid "Ok, go to ACL admin"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:81
+#: vhffs-panel/admin/broadcast.pl:79
 msgid "Ok, send it !"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:114 vhffs-panel/group/prefs.pl:279
+#: vhffs-panel/repository/prefs.pl:113 vhffs-panel/group/prefs.pl:294
 msgid "Only administrators are allowed to do this"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:463
+#: vhffs-panel/user/prefs.pl:488
 msgid "Only administrators can do this"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:58
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:58
 msgid "Only this list administrators can use the following commands.\n"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:111
+#: vhffs-panel/mailinglist/prefs.pl:110
 msgid "Open for everyone"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:113
+#: vhffs-panel/mailinglist/prefs.pl:112
 msgid "Open for members, moderated for non-members"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:108
+#: vhffs-panel/mailinglist/prefs.pl:107
 msgid "Open, approval required"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:107
+#: vhffs-panel/mailinglist/prefs.pl:106
 msgid "Open, no approval required"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:71 vhffs-panel/git/prefs.pl:119
-#: vhffs-panel/svn/prefs.pl:108 vhffs-panel/mailinglist/prefs.pl:105
+#: vhffs-panel/mailinglist/prefs.pl:104 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/git/prefs.pl:113
 msgid "Options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:6 vhffs-intl/template_strings.pl:11
-msgid "Owned by"
-msgstr ""
+#: vhffs-panel/subscribe.pl:260
+msgid "Or listen to the code"
+msgstr "Oder hören Sie den Code"
 
-#: vhffs-panel/group/create.pl:88
+#: vhffs-panel/group/create.pl:102
 msgid "Owner"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:90
+#: vhffs-panel/admin/object/list.pl:88
 msgid "Owner group"
 msgstr ""
 
@@ -2712,61 +2596,56 @@
 msgid "Owner name"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/object/list.pl:87
 msgid "Owner user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:67 vhffs-panel/mail/prefs.pl:116
-#: vhffs-panel/user/prefs.pl:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:67
+#: vhffs-panel/user/prefs.pl:326 vhffs-panel/mail/prefs.pl:115
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:67
 msgid "Password"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:135 vhffs-panel/mysql/prefs.pl:146
+#: vhffs-panel/mysql/prefs.pl:147 vhffs-panel/pgsql/prefs.pl:135
 msgid "Password change request taken in account, please wait for processing"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:168
+#: vhffs-panel/user/prefs.pl:170
 msgid "Password changed"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:90 vhffs-panel/mysql/prefs.pl:101
+#: vhffs-panel/mysql/prefs.pl:102 vhffs-panel/pgsql/prefs.pl:90
 msgid "Password for this database"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:82
+#: vhffs-panel/lost_ack.pl:85
 msgid "Password recovery failed!"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:141
+#: vhffs-panel/user/prefs.pl:143
 msgid "Passwords don't match"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:66 vhffs-api/src/Vhffs/Panel/Menu.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:115
-msgid "PgSQL"
+#: vhffs-panel/cron/prefs.pl:92 vhffs-panel/cron/create.pl:107
+msgid "Path"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:40
-msgid "PgSQL DB"
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:119
+msgid "PgSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:158
+#: vhffs-panel/admin/stats.pl:157
 msgid "PgSQL stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:324
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:324
+#: vhffs-api/src/Vhffs/Panel/Main.pm:326
 msgid "Platform temporary closed."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:313
+#: vhffs-api/src/Vhffs/Panel/Main.pm:315
 msgid "Platform temporary closed<br/>database error"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:92 vhffs-panel/object/resubmit.pl:131
+#: vhffs-panel/object/resubmit.pl:131 vhffs-panel/group/create.pl:106
 #: vhffs-panel/web/create.pl:104
 msgid ""
 "Please consider that this description is going to be displayed in the public "
@@ -2775,64 +2654,63 @@
 "it with the best content you are able to do."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:159
+#: vhffs-panel/subscribe.pl:161
 msgid "Please enter a correct city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:163
+#: vhffs-panel/subscribe.pl:165
 msgid "Please enter a correct country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:151
+#: vhffs-panel/subscribe.pl:153
 msgid "Please enter a correct firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:155
+#: vhffs-panel/subscribe.pl:157
 msgid "Please enter a correct lastname"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:64
 msgid "Please enter your username and password"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:222
+#: vhffs-panel/subscribe.pl:237
 msgid ""
 "Please fill in all fields, a mail containing your password will be sent to "
 "you"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:299
 msgid "Please read help of listengine\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:196
 msgid "Please try again !\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:242
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:242
 msgid "Please try again.\n"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:74
+#: vhffs-panel/lost_ack.pl:77
 #, perl-format
 msgid "Please wait %s, a new password will be sent to you in a few minutes..."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:189
+#: vhffs-panel/subscribe.pl:191
 msgid ""
 "Please wait while we are creating the account, it will take some minutes"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:296 vhffs-panel/dns/prefs.pl:381
+#: vhffs-panel/admin/stats.pl:185
+msgid "Popular tags"
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
 msgid "Port"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:240
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:260
 msgid "PostgreSQL Admin"
 msgstr ""
 
@@ -2840,7 +2718,7 @@
 msgid "PostgreSQL Administration"
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:60
+#: vhffs-panel/pgsql/index.pl:61
 #, perl-format
 msgid "PostgreSQL DBs for %s"
 msgstr ""
@@ -2857,26 +2735,23 @@
 msgid "PostgreSQL password for this database "
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:110
+#: vhffs-panel/mailinglist/prefs.pl:109
 msgid "Posting control:"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:558
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:558
+#: vhffs-api/src/Vhffs/Panel/Main.pm:545
 msgid "Preferences"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
 msgid "Prefix already exists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:138
+#: vhffs-panel/mailinglist/prefs.pl:137
 msgid "Prefix on subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:299 vhffs-panel/dns/prefs.pl:384
 msgid "Priority"
 msgstr ""
 
@@ -2884,87 +2759,85 @@
 msgid "Priority of your MX"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:341
+#: vhffs-panel/dns/prefs.pl:343
 msgid "Priority: "
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:207
+#: vhffs-panel/group/prefs.pl:220
 msgid "Project Description"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:75
+#: vhffs-panel/group/history.pl:76
 msgid "Project History"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:85
+#: vhffs-panel/group/create.pl:99
 msgid "Project Name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:205
+#: vhffs-panel/group/prefs.pl:218
 msgid "Project Owner"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:201
+#: vhffs-panel/group/prefs.pl:214
 msgid "Project Preferences"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:76
+#: vhffs-panel/group/create.pl:89
 msgid "Project Successfully created !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:226
+#: vhffs-panel/group/prefs.pl:239
 msgid "Project contact"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:209 vhffs-panel/group/create.pl:87
+#: vhffs-panel/group/prefs.pl:222 vhffs-panel/group/create.pl:101
 msgid "Project full name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:451
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:451
-msgid "Project home"
-msgstr ""
-
 #: vhffs-panel/group/index.pl:62
 msgid "Projects you contribute to"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:809 vhffs-panel/group/index.pl:64
-#: vhffs-panel/object/resubmit.pl:108
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:809
+#: vhffs-panel/object/resubmit.pl:108 vhffs-panel/group/index.pl:64
+#: vhffs-api/src/Vhffs/Panel/Main.pm:808
 msgid "Propose a new description"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:293
+#: vhffs-panel/dns/prefs.pl:295
 msgid "Protocol"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:99 vhffs-panel/svn/prefs.pl:91
+#: vhffs-panel/admin/tag/category/create.pl:73
+#: vhffs-panel/admin/tag/category/edit.pl:84 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/git/prefs.pl:96
 msgid "Public"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:136
+#: vhffs-panel/admin/tag/category/create.pl:72
+#: vhffs-panel/admin/tag/category/edit.pl:83
+msgid "Public (available on group creation)"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:135
 msgid "Public archives"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:70
+#: vhffs-api/src/Vhffs/Panel/Main.pm:71
 msgid "Public area is not available on this platform."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:69
+#: vhffs-api/src/Vhffs/Panel/Main.pm:70
 msgid "Public area not available"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:550 vhffs-panel/repository/prefs.pl:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:550
+#: vhffs-panel/repository/prefs.pl:84 vhffs-api/src/Vhffs/Panel/Main.pm:537
 #, perl-format
 msgid "Quota (used/total) : %s/%s"
 msgstr ""
 
-#: vhffs-public/extern/newgroupsrss.pl:103
 #: vhffs-public/extern/newusersrss.pl:102
+#: vhffs-public/extern/newgroupsrss.pl:103
 msgid "RSS infos are not published"
 msgstr ""
 
@@ -2976,60 +2849,64 @@
 msgid "Reason of refusal"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:239
+#: vhffs-panel/user/prefs.pl:467
+msgid "Receive mails from the newsletter"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:258
 msgid "Recopy the code"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:161 vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:285 vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:161
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:353
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:209
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:239 vhffs-api/src/Vhffs/Panel/DNS.pm:264
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:289 vhffs-api/src/Vhffs/Panel/DNS.pm:331
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:358
 msgid "Record does not exists"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:160
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:160
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:161
 msgid "Record type doesn't exists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:90 vhffs-panel/admin/moderation.pl:117
+#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
 msgid "Refuse"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:254
+#: vhffs-panel/group/prefs.pl:267
 msgid "Remove"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:137
+#: vhffs-panel/mailinglist/prefs.pl:136
 msgid "Reply to: on list"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:92 vhffs-panel/git/create.pl:96
-#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/cvs/create.pl:102
-#: vhffs-panel/svn/create.pl:96
+#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/repository/create.pl:92
+#: vhffs-panel/svn/create.pl:96 vhffs-panel/cvs/create.pl:102
+#: vhffs-panel/git/create.pl:96
 msgid "Repository Name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:50
-msgid "Repository Quota"
+#: vhffs-panel/repository/prefs.pl:128
+msgid "Repository updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:133
-msgid "Repository updated, please wait while quota is updated on filesystem"
+#: vhffs-panel/group/prefs.pl:444
+msgid "Request canceled"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:433
+msgid "Request not found"
+msgstr ""
+
 #: vhffs-panel/mailinglist/prefs.pl:263
 #, perl-format
 msgid "Rights for subscriber %s updated"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:137
+msgid "Running"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:198
 msgid "SRV Record added"
 msgstr ""
@@ -3042,26 +2919,19 @@
 msgid "SRV Record updated"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:290
+#: vhffs-panel/dns/prefs.pl:291
 msgid "SRV TYPE"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:117
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:121
 msgid "SVN"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:170
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:190
 msgid "SVN Admin"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:42
-msgid "SVN Repository"
-msgstr ""
-
-#: vhffs-panel/svn/index.pl:60
+#: vhffs-panel/svn/index.pl:61
 #, perl-format
 msgid "SVN repositories for %s"
 msgstr ""
@@ -3074,117 +2944,91 @@
 msgid "SVN root"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:127
+#: vhffs-panel/admin/stats.pl:126
 msgid "SVN stats"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:141
+#: vhffs-panel/mailinglist/prefs.pl:140
 msgid "Save options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:25 vhffs-intl/template_strings.pl:32
-#: vhffs-intl/template_strings.pl:38
-msgid "Search"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:29
-msgid "Search a group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:35
-msgid "Search a website"
-msgstr ""
-
-#: vhffs-panel/admin/object/search.pl:77
+#: vhffs-panel/admin/object/search.pl:75
 msgid "Search an object (give object_id)"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:21
-msgid "Search an user"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:186 vhffs-panel/admin/cvs/search.pl:78
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:186
+#: vhffs-panel/admin/cvs/search.pl:76 vhffs-api/src/Vhffs/Panel/Admin.pm:206
 msgid "Search for a CVS repository"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:78
+#: vhffs-panel/admin/repository/search.pl:76
 msgid "Search for a Download repository"
 msgstr ""
 
-#: vhffs-panel/admin/git/search.pl:80
+#: vhffs-panel/admin/git/search.pl:78
 msgid "Search for a GIT repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:204
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:204
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:224
 msgid "Search for a Git repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:221
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:221
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:241
 msgid "Search for a MySQL database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:238
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:258
 msgid "Search for a Pg database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:168 vhffs-panel/admin/svn/search.pl:80
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:168
+#: vhffs-panel/admin/svn/search.pl:78 vhffs-api/src/Vhffs/Panel/Admin.pm:188
 msgid "Search for a SVN repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/search.pl:79 vhffs-panel/admin/mysql/search.pl:79
+#: vhffs-panel/admin/cron/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:346
+msgid "Search for a cron job"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/search.pl:77 vhffs-panel/admin/pgsql/search.pl:77
 msgid "Search for a database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:291 vhffs-panel/admin/dns/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:291
+#: vhffs-panel/admin/dns/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:311
 msgid "Search for a domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:309
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:329
 msgid "Search for a download repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:133 vhffs-panel/admin/group/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:133
+#: vhffs-panel/admin/group/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:133
 msgid "Search for a group"
 msgstr ""
 
-#: vhffs-panel/admin/mailinglist/search.pl:78
+#: vhffs-panel/admin/mailinglist/search.pl:76
 msgid "Search for a list"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:255 vhffs-panel/admin/mail/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:255
+#: vhffs-panel/admin/mail/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:275
 msgid "Search for a mail domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:273
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
 msgid "Search for a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/web/search.pl:79
+#: vhffs-panel/admin/web/search.pl:77
 msgid "Search for a web area"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:151
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:171
 msgid "Search for a webarea"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:97
 msgid "Search for an object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:116 vhffs-panel/admin/user/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:116
+#: vhffs-panel/admin/user/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:116
 msgid "Search for an user"
 msgstr ""
 
@@ -3192,12 +3036,12 @@
 msgid "Search result"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:81
+#: vhffs-panel/admin/object/list.pl:79
 msgid "Search result "
 msgstr ""
 
-#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/mailinglist/list.pl:72
-#: vhffs-panel/admin/web/list.pl:63 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mailinglist/list.pl:72 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/web/list.pl:63
 msgid "Search result for"
 msgstr ""
 
@@ -3205,6 +3049,10 @@
 msgid "Search result for CVS repository"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:75
+msgid "Search result for Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:68
 msgid "Search result for Download repository"
 msgstr ""
@@ -3213,7 +3061,7 @@
 msgid "Search result for Subversion repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/list.pl:69 vhffs-panel/admin/mysql/list.pl:75
+#: vhffs-panel/admin/mysql/list.pl:75 vhffs-panel/admin/pgsql/list.pl:69
 msgid "Search result for database"
 msgstr ""
 
@@ -3225,32 +3073,36 @@
 msgid "Search result for git repository"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:189
-msgid "Selected mailbox doesn't exist for this mail domain"
+#: vhffs-public/groupsearch.pl:87
+msgid "Search results"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:103 vhffs-panel/repository/create.pl:97
-#: vhffs-panel/mail/create.pl:96 vhffs-panel/git/create.pl:102
-#: vhffs-panel/dns/create.pl:78 vhffs-panel/pgsql/create.pl:109
-#: vhffs-panel/admin/object/edit.pl:99 vhffs-panel/admin/broadcast_view.pl:101
-#: vhffs-panel/admin/broadcast_list.pl:100 vhffs-panel/cvs/create.pl:107
-#: vhffs-panel/group/create.pl:90 vhffs-panel/mysql/create.pl:109
-#: vhffs-panel/svn/create.pl:101 vhffs-panel/mailinglist/create.pl:112
-#: vhffs-panel/web/create.pl:102 vhffs-panel/alert.pl:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:103
+#: vhffs-panel/mail/prefs.pl:188
+msgid ""
+"Selected mailbox doesn't exist for this mail domain or is not yet active."
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:109 vhffs-panel/pgsql/create.pl:110
+#: vhffs-panel/admin/broadcast_list.pl:98
+#: vhffs-panel/admin/broadcast_view.pl:99 vhffs-panel/admin/object/edit.pl:97
+#: vhffs-panel/mailinglist/create.pl:112 vhffs-panel/cron/create.pl:117
+#: vhffs-panel/repository/create.pl:97 vhffs-panel/svn/create.pl:101
+#: vhffs-panel/alert.pl:60 vhffs-panel/dns/create.pl:79
+#: vhffs-panel/group/create.pl:104 vhffs-panel/mail/create.pl:97
+#: vhffs-panel/cvs/create.pl:107 vhffs-panel/git/create.pl:102
+#: vhffs-panel/web/create.pl:102 vhffs-api/src/Vhffs/Panel/Object.pm:102
 msgid "Send"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:77
+#: vhffs-panel/admin/broadcast.pl:75
 msgid "Send an email to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:300
 msgid "Send an email with the subject \"help\" to the following address: \n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:336 vhffs-panel/user/prefs.pl:338
+#: vhffs-panel/user/prefs.pl:353 vhffs-panel/user/prefs.pl:355
 msgid "Send my avatar"
 msgstr ""
 
@@ -3258,52 +3110,53 @@
 msgid "Servername"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:294
+#: vhffs-panel/dns/prefs.pl:296
 msgid "Service"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:313
+#: vhffs-panel/user/prefs.pl:330
 msgid "Shell"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/mail/list.pl:86
-#: vhffs-panel/admin/git/list.pl:83 vhffs-panel/admin/dns/list.pl:86
-#: vhffs-panel/admin/pgsql/list.pl:87 vhffs-panel/admin/cvs/list.pl:86
-#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mysql/list.pl:94
-#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/mailinglist/list.pl:90
-#: vhffs-panel/admin/web/list.pl:82 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/mysql/list.pl:94 vhffs-panel/admin/pgsql/list.pl:87
+#: vhffs-panel/admin/mailinglist/list.pl:90 vhffs-panel/admin/cron/list.pl:94
+#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/dns/list.pl:86
+#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mail/list.pl:86
+#: vhffs-panel/admin/cvs/list.pl:86 vhffs-panel/admin/git/list.pl:83
+#: vhffs-panel/admin/web/list.pl:82
 msgid "Show"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:73
-msgid "Signature"
+#: vhffs-panel/cron/prefs.pl:135
+msgid "Sleeping"
 msgstr ""
 
 #: vhffs-panel/acl/view.pl:92
 msgid "Sorry, can't add or update ACL"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:247
+#: vhffs-panel/mail/prefs.pl:246
 msgid "Spam status updated"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/mail/list.pl:77
-#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/dns/list.pl:77
-#: vhffs-panel/admin/pgsql/list.pl:78 vhffs-panel/admin/cvs/list.pl:78
-#: vhffs-panel/admin/group/list.pl:82 vhffs-panel/admin/mysql/list.pl:84
-#: vhffs-panel/admin/object/list.pl:91 vhffs-panel/admin/svn/list.pl:72
-#: vhffs-panel/admin/mailinglist/list.pl:81 vhffs-panel/admin/web/list.pl:72
-#: vhffs-panel/admin/user/list.pl:72 vhffs-panel/admin/broadcast_view.pl:88
+#: vhffs-panel/admin/mysql/list.pl:84 vhffs-panel/admin/pgsql/list.pl:78
+#: vhffs-panel/admin/mailinglist/list.pl:81
+#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/admin/cron/list.pl:84
+#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/user/list.pl:72
+#: vhffs-panel/admin/svn/list.pl:72 vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/dns/list.pl:77 vhffs-panel/admin/group/list.pl:82
+#: vhffs-panel/admin/mail/list.pl:77 vhffs-panel/admin/cvs/list.pl:78
+#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/web/list.pl:72
+#: vhffs-panel/cron/prefs.pl:131
 msgid "State"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:101 vhffs-panel/admin/object/edit.pl:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:101
+#: vhffs-panel/admin/object/edit.pl:95 vhffs-api/src/Vhffs/Panel/Object.pm:100
 msgid "Status"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:664
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:664
+#: vhffs-api/src/Vhffs/Panel/Main.pm:660
 msgid "Stay over an icon to see its description."
 msgstr ""
 
@@ -3315,32 +3168,30 @@
 msgid "Subdomain name"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:87 vhffs-panel/admin/broadcast.pl:79
+#: vhffs-panel/admin/broadcast_view.pl:85 vhffs-panel/admin/broadcast.pl:77
 #: vhffs-panel/alert.pl:58
 msgid "Subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:273 vhffs-panel/dns/prefs.pl:279
-#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/object/resubmit.pl:134
+#: vhffs-panel/object/resubmit.pl:134 vhffs-panel/dns/prefs.pl:273
+#: vhffs-panel/dns/prefs.pl:279 vhffs-panel/dns/prefs.pl:302
 msgid "Submit"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:438
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:438
+#: vhffs-api/src/Vhffs/Panel/Main.pm:428
 msgid "Submit a bug"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:70 vhffs-panel/subscribe.pl:231
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:70
+#: vhffs-panel/subscribe.pl:246 vhffs-api/src/Vhffs/Panel/Commons.pm:72
 msgid "Subscribe"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:106
+#: vhffs-panel/mailinglist/prefs.pl:105
 msgid "Subscribe control:"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:77
-msgid "Subscribed"
+#: vhffs-panel/subscribe.pl:266 vhffs-panel/subscribe.pl:268
+msgid "Subscribe to the newsletter"
 msgstr ""
 
 #: vhffs-panel/mailinglist/prefs.pl:242
@@ -3348,12 +3199,11 @@
 msgid "Subscriber %s deleted"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:221
+#: vhffs-panel/subscribe.pl:236
 msgid "Subscription"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:135
 #, perl-format
 msgid ""
 "Subscription to the following list is forbidden:\n"
@@ -3362,39 +3212,105 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:43
-msgid "Subversion Repositories for this group"
-msgstr ""
-
 #: vhffs-panel/object/upavatar.pl:126
 msgid "Successfully created or updated avatar"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:26 vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-api/src/Vhffs/Panel/Object.pm:128
-#: vhffs-panel/admin/object/edit.pl:122 vhffs-panel/admin/object/edit.pl:123
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:128
+#: vhffs-panel/admin/object/edit.pl:121
+#: vhffs-api/src/Vhffs/Panel/Object.pm:127
 msgid "Suspended"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:27
-msgid "Suspended before deletion"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:203
+#: vhffs-panel/dns/prefs.pl:202
 msgid "TXT Record added"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:214
+#: vhffs-panel/dns/prefs.pl:213
 msgid "TXT Record deleted"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:209
+#: vhffs-panel/dns/prefs.pl:208
 msgid "TXT Record updated"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:97
+#: vhffs-panel/group/prefs.pl:350
+msgid "Tag added"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/list.pl:69
+msgid "Tag categories"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:57
+msgid "Tag category successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:69
+msgid "Tag category successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:59 vhffs-panel/group/prefs.pl:383
+msgid "Tag deleted"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:409
+msgid "Tag name can't be empty"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:180 vhffs-panel/group/prefs.pl:339
+#: vhffs-panel/group/prefs.pl:372
+msgid "Tag not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:66
+msgid "Tag not found!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:83
+msgid "Tag request accepted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:93
+msgid "Tag request deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:101
+msgid "Tag request details"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:75
+msgid "Tag request not found"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:418
+msgid "Tag request saved, please wait while a moderator approve it"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:57
+msgid "Tag successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:70
+msgid "Tag successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:69
+msgid "Tags"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:156
+msgid "Tags Admin"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:174
+msgid "Tags stats"
+msgstr ""
+
+#: vhffs-panel/admin/tag/index.pl:56
+msgid "Tags' administration"
+msgstr ""
+
+#: vhffs-panel/mail/create.pl:98
 msgid "Tell us for what purpose you want to create this mail domain"
 msgstr ""
 
@@ -3406,13 +3322,11 @@
 msgid "Tell us what the use of this web space will be"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:306
+#: vhffs-panel/dns/prefs.pl:308
 msgid "Text"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:342 vhffs-api/src/Vhffs/Panel/DNS.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:342
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:354
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:346 vhffs-api/src/Vhffs/Panel/DNS.pm:359
 msgid "Text can't be empty"
 msgstr ""
 
@@ -3420,7 +3334,11 @@
 msgid "The CVS object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:57
+#: vhffs-panel/cron/create.pl:94
+msgid "The Cron job was successfully created !"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:58
 msgid "The DNS object was successfully created !"
 msgstr ""
 
@@ -3440,60 +3358,56 @@
 msgid "The SVN object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:339
+#: vhffs-panel/user/prefs.pl:356
 msgid ""
 "The avatar is a pictures that describes you. You can upload an PNG image and "
 "use it as avatar. This image will then appear in the public section."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:246
+#: vhffs-panel/group/prefs.pl:259
 msgid "The avatar is an image to describe the group"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:195
 msgid "The confirmation code was wrong\n"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:102 vhffs-panel/mysql/create.pl:102
+#: vhffs-panel/mysql/create.pl:102 vhffs-panel/pgsql/create.pl:102
 #, perl-format
 msgid ""
 "The database name is prefixed by your groupname followed by an underscore (%"
 "s_dbname). The database user is the database full name (%s_dbname)."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:181
+#: vhffs-panel/cron/prefs.pl:180 vhffs-panel/cron/create.pl:92
+#: vhffs-panel/group/prefs.pl:186
 msgid "The email you entered fails syntax check"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:90 vhffs-panel/group/create.pl:72
+#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/create.pl:74
 msgid "The first letter of groupname and full name must be the same"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:389
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:389
 #, perl-format
 msgid ""
 "The following address %s is not allowed to execute commands on the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:210
 #, perl-format
 msgid ""
 "The following address %s is not on the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:518
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:518
+#: vhffs-api/src/Vhffs/Panel/Main.pm:506
 msgid ""
 "The following projects have reached or are going to reach the disk quota "
 "limit, please take a look !"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:270
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:270
 #, perl-format
 msgid ""
 "The listengine language preference was changed for the following address %"
@@ -3505,17 +3419,15 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:320
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:320
 msgid "The message does not exists or was moderated before you.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:317
 #, perl-format
 msgid "The message with the following id %s"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:95 vhffs-panel/object/resubmit.pl:98
+#: vhffs-panel/object/resubmit.pl:94 vhffs-panel/object/resubmit.pl:98
 msgid "The new description has been submitted"
 msgstr ""
 
@@ -3524,7 +3436,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:122
 msgid ""
 "The state of you subscription was not changed, you are still subscribed\n"
 msgstr ""
@@ -3533,11 +3444,11 @@
 msgid "The webarea was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:312
+#: vhffs-panel/user/prefs.pl:329
 msgid "Theme"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:261
+#: vhffs-panel/user/prefs.pl:267
 msgid ""
 "There is a problem with the address you filled in your profile, unable to "
 "add forwarding"
@@ -3549,105 +3460,156 @@
 "domain before creating a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:79
+#: vhffs-panel/admin/moderation.pl:78
 msgid "There is nothing to moderate"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:412
+#: vhffs-panel/user/prefs.pl:429
 msgid "There is two possible usages :"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:86
+#: vhffs-panel/cvs/delete.pl:85
 msgid "This CVS repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:97
+#: vhffs-panel/cvs/delete.pl:96
 msgid "This CVS will be deleted"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:73
+#: vhffs-panel/pgsql/delete.pl:72
 msgid "This DB doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:86
+#: vhffs-panel/repository/delete.pl:85
 msgid "This Download repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:99
+#: vhffs-panel/repository/delete.pl:98
 msgid "This Download repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:89 vhffs-panel/mail/prefs.pl:136
-#: vhffs-panel/git/prefs.pl:105 vhffs-panel/dns/prefs.pl:252
-#: vhffs-panel/pgsql/prefs.pl:99 vhffs-panel/cvs/prefs.pl:116
-#: vhffs-panel/group/prefs.pl:213 vhffs-panel/mysql/prefs.pl:111
-#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/mailinglist/prefs.pl:179
-#: vhffs-panel/web/prefs.pl:109
+#: vhffs-panel/group/prefs.pl:226
 msgid ""
 "This action is non-reversible. All services associated to this project will "
 "be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:326
-msgid "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#: vhffs-panel/cron/prefs.pl:150
+msgid "This action is non-reversible. This Cron job will be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:214
+#: vhffs-panel/mysql/prefs.pl:112
+msgid "This action is non-reversible. This MySQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/pgsql/prefs.pl:99
 msgid ""
+"This action is non-reversible. This PostgreSQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/cvs/prefs.pl:103
+msgid "This action is non-reversible. This cvs repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:251
+msgid "This action is non-reversible. This domain name will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/repository/prefs.pl:88
+msgid ""
+"This action is non-reversible. This download repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:102
+msgid "This action is non-reversible. This git repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:135
+msgid "This action is non-reversible. This mail area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:179
+msgid "This action is non-reversible. This mailing list will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:98
+msgid ""
+"This action is non-reversible. This subversion repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/web/prefs.pl:106
+msgid "This action is non-reversible. This web area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:343
+msgid "This action is non-reversible. Your user will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:213
+msgid ""
 "This box already exists for this domain or parameters are not valid. Check "
 "your domain."
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:93
+#: vhffs-panel/cron/delete.pl:70
+msgid "This cron job doesn't exist in VHFFS database"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:82
+msgid "This cron job will NOT be deleted"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:93
+msgid "This cron job will be deleted"
+msgstr ""
+
+#: vhffs-panel/pgsql/delete.pl:92
 msgid "This database cannot be deleted"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:71
+#: vhffs-panel/mysql/delete.pl:70
 msgid "This database doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:83
+#: vhffs-panel/mysql/delete.pl:82
 msgid "This database will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:105
+#: vhffs-panel/dns/delete.pl:97
 msgid "This domain will NOT be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:100
+#: vhffs-panel/dns/delete.pl:92
 msgid "This domain will be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:90
+#: vhffs-panel/git/delete.pl:89
 msgid "This git repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:85
+#: vhffs-panel/group/delete.pl:84
 msgid "This group will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:315
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:315
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:320
 msgid "This host is already registered for this service"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:103
+#: vhffs-panel/mail/delete.pl:101
 msgid "This mail domain WILL BE DELETED"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:91
+#: vhffs-panel/mail/delete.pl:89
 msgid "This mail domain will NOT be DELETED"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:104
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:104
 #, perl-format
 msgid ""
 "This mail must contains the following subject : \"confirm unsubscribe %s\"\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:86
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:86
 #, perl-format
 msgid ""
 "This mail must have the following subject : \"confirm subscribe %s\"\n"
@@ -3655,7 +3617,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:405
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:405
 #, perl-format
 msgid ""
 "This mail was sent by %s with the following subject:\n"
@@ -3663,37 +3624,37 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:68 vhffs-panel/object/quickdelete.pl:68
+#: vhffs-panel/object/quickdelete.pl:67 vhffs-panel/object/resubmit.pl:67
 msgid "This object does not exist"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:105
+#: vhffs-panel/admin/object/delete_avatar.pl:103
 msgid "This object does not have an avatar"
 msgstr ""
 
-#: vhffs-panel/object/quickdelete.pl:86 vhffs-panel/object/quickdelete.pl:89
+#: vhffs-panel/object/quickdelete.pl:85 vhffs-panel/object/quickdelete.pl:89
 msgid "This object has been deleted"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:68
+#: vhffs-panel/group/history.pl:69
 msgid "This object is not functional yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:83 vhffs-panel/git/delete.pl:86
-#: vhffs-panel/group/delete.pl:72 vhffs-panel/mailinglist/delete.pl:87
-#: vhffs-panel/web/prefs.pl:80
+#: vhffs-panel/mailinglist/delete.pl:85 vhffs-panel/group/delete.pl:71
+#: vhffs-panel/mail/delete.pl:81 vhffs-panel/git/delete.pl:85
+#: vhffs-panel/web/prefs.pl:77
 msgid "This object is not functionnal yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:72 vhffs-panel/object/quickdelete.pl:72
+#: vhffs-panel/object/quickdelete.pl:71 vhffs-panel/object/resubmit.pl:71
 msgid "This object is not in refused state"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:96
+#: vhffs-panel/web/delete.pl:94
 msgid "This object will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:76 vhffs-panel/web/delete.pl:101
+#: vhffs-panel/group/delete.pl:75 vhffs-panel/web/delete.pl:99
 msgid "This object will NOT be DELETED"
 msgstr ""
 
@@ -3701,60 +3662,56 @@
 msgid "This platform does not provide avatar support"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:74
+#: vhffs-panel/admin/object/delete_avatar.pl:72
 msgid "This platform does not support avatar"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:314
+#: vhffs-api/src/Vhffs/Panel/Main.pm:316
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks or system has database errors. Please come back in a few "
 "minutes to log in."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:325
+#: vhffs-api/src/Vhffs/Panel/Main.pm:327
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks. Please come back in a few minutes to log in."
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:103 vhffs-panel/svn/delete.pl:98
+#: vhffs-panel/svn/delete.pl:97 vhffs-panel/git/delete.pl:102
 msgid "This repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/svn/delete.pl:85
+#: vhffs-panel/svn/delete.pl:84
 msgid "This subversion repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:76
+#: vhffs-panel/user/delete.pl:74
 msgid "This user is always in a group"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:87
+#: vhffs-panel/user/delete.pl:85
 msgid "This user will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:93
+#: vhffs-panel/user/delete.pl:91
 msgid "This user will NOT be DELETED"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:112
+#: vhffs-panel/group/prefs.pl:117
 msgid "This user will be removed from this group as soon as possible"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:79
+#: vhffs-panel/web/delete.pl:77
 msgid "This web area doesn't exist in VHFFS database"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:424
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:424
 msgid "To accept this subscriber, send a message to\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:406
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:406
 #, perl-format
 msgid ""
 "To put this post on the list, send a message to:\n"
@@ -3762,7 +3719,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:427
 msgid "To refuse this subscriber, send a message to\n"
 msgstr ""
 
@@ -3770,116 +3726,127 @@
 msgid "Topic not found"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:94
+#: vhffs-panel/admin/stats.pl:93
 msgid "Total Admin Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:121
+#: vhffs-panel/admin/stats.pl:120
 msgid "Total CVS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:113
+#: vhffs-panel/admin/stats.pl:112
 msgid "Total DNS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:134
+#: vhffs-panel/admin/stats.pl:133
 msgid "Total GIT in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:140
+#: vhffs-panel/admin/stats.pl:139
 msgid "Total Mail domains in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:96
+#: vhffs-panel/admin/stats.pl:95
 msgid "Total Moderator Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:152
+#: vhffs-panel/admin/stats.pl:151
 msgid "Total MySQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:159
+#: vhffs-panel/admin/stats.pl:158
 msgid "Total PostgreSQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:128
+#: vhffs-panel/admin/stats.pl:127
 msgid "Total SVN in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:92
+#: vhffs-panel/admin/stats.pl:91
 msgid "Total Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:106
+#: vhffs-panel/admin/stats.pl:105
 msgid "Total Web Areas in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:123
+#: vhffs-panel/admin/stats.pl:122
 msgid "Total activated CVS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:115
+#: vhffs-panel/admin/stats.pl:114
 msgid "Total activated DNS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:136
+#: vhffs-panel/admin/stats.pl:135
 msgid "Total activated GIT"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:142
+#: vhffs-panel/admin/stats.pl:141
 msgid "Total activated Mail domains"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:154
+#: vhffs-panel/admin/stats.pl:153
 msgid "Total activated MySQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:161
+#: vhffs-panel/admin/stats.pl:160
 msgid "Total activated PostgreSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:130
+#: vhffs-panel/admin/stats.pl:129
 msgid "Total activated SVN"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:108
+#: vhffs-panel/admin/stats.pl:107
 msgid "Total activated Web Areas"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:102
+#: vhffs-panel/admin/stats.pl:101
 msgid "Total activated groups"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:169
+#: vhffs-panel/admin/stats.pl:168
 msgid "Total activated lists"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:100
+#: vhffs-panel/admin/stats.pl:175
+msgid "Total categories"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:99
 msgid "Total groups in database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:146
+#: vhffs-panel/admin/stats.pl:145
 msgid "Total hosted boxes"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:144
+#: vhffs-panel/admin/stats.pl:143
 msgid "Total hosted forwards"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:167
+#: vhffs-panel/admin/stats.pl:166
 msgid "Total lists in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:171
+#: vhffs-panel/admin/stats.pl:170
 msgid "Total subscribtion for lists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:78
+#: vhffs-panel/admin/stats.pl:181
+msgid "Total tagged groups"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:177
+msgid "Total tags used"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:83 vhffs-panel/group/history.pl:79
 msgid "Type"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:99 vhffs-panel/admin/object/edit.pl:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:99
+#: vhffs-panel/admin/object/edit.pl:93 vhffs-api/src/Vhffs/Panel/Object.pm:98
 msgid "UID of owner"
 msgstr ""
 
@@ -3913,32 +3880,36 @@
 msgid "Unable to add SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:202
+#: vhffs-panel/dns/prefs.pl:201
 #, perl-format
 msgid "Unable to add TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:286
+#: vhffs-panel/mail/prefs.pl:285
 #, perl-format
 msgid "Unable to add forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:137 vhffs-panel/group/prefs.pl:171
+#: vhffs-panel/group/prefs.pl:352
+msgid "Unable to add tag, check it was not already added to your project"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:142 vhffs-panel/group/prefs.pl:176
 msgid ""
 "Unable to add user, he might already be in the group (waiting for addition "
 "or deletion)"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:131 vhffs-panel/mysql/prefs.pl:142
+#: vhffs-panel/mysql/prefs.pl:143 vhffs-panel/pgsql/prefs.pl:131
+#: vhffs-panel/cron/prefs.pl:186
 msgid "Unable to apply changes"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:149 vhffs-panel/git/prefs.pl:194
-#: vhffs-panel/web/prefs.pl:141
+#: vhffs-panel/git/prefs.pl:169 vhffs-panel/web/prefs.pl:138
 msgid "Unable to apply modifications"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:131 vhffs-panel/group/prefs.pl:291
+#: vhffs-panel/repository/prefs.pl:126 vhffs-panel/group/prefs.pl:301
 msgid "Unable to apply modifications, please try again later"
 msgstr ""
 
@@ -3947,6 +3918,17 @@
 msgid "Unable to change rights for subscriber %s"
 msgstr ""
 
+#: vhffs-panel/admin/tag/category/create.pl:100
+#: vhffs-panel/admin/tag/request/details.pl:161
+msgid "Unable to create category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:112
+#: vhffs-panel/admin/tag/request/details.pl:166
+#: vhffs-panel/admin/tag/request/details.pl:192
+msgid "Unable to create tag"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:112
 #, perl-format
 msgid "Unable to delete A record: %s"
@@ -3977,74 +3959,84 @@
 msgid "Unable to delete SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:213
+#: vhffs-panel/dns/prefs.pl:212
 #, perl-format
 msgid "Unable to delete TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:270
+#: vhffs-panel/mail/prefs.pl:269
 #, perl-format
 msgid "Unable to delete box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:317
+#: vhffs-panel/admin/tag/category/list.pl:61
+msgid "Unable to delete category"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:316
 #, perl-format
 msgid "Unable to delete forward %s"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:99
+#: vhffs-panel/admin/tag/list.pl:61 vhffs-panel/group/prefs.pl:385
+msgid "Unable to delete tag"
+msgstr ""
+
+#: vhffs-panel/mail/delete.pl:97
 msgid "Unable to delete this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:226
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:227
 msgid ""
 "Unable to find default redirection address, please contact administrators"
 msgstr ""
 
-#: vhffs-panel/cvs/index.pl:63
+#: vhffs-panel/cvs/index.pl:64
 msgid "Unable to get CVS repositories"
 msgstr ""
 
-#: vhffs-panel/dns/index.pl:63
+#: vhffs-panel/dns/index.pl:64
 msgid "Unable to get DNS"
 msgstr ""
 
-#: vhffs-panel/git/index.pl:64
+#: vhffs-panel/git/index.pl:65
 msgid "Unable to get GIT repositories"
 msgstr ""
 
-#: vhffs-panel/mysql/index.pl:63
+#: vhffs-panel/mysql/index.pl:64
 msgid "Unable to get MySQL databases."
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:63
+#: vhffs-panel/pgsql/index.pl:64
 msgid "Unable to get PgSQL databases"
 msgstr ""
 
-#: vhffs-panel/svn/index.pl:63
+#: vhffs-panel/svn/index.pl:64
 msgid "Unable to get SVN repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:74 vhffs-panel/mail/delete.pl:79
+#: vhffs-panel/cron/index.pl:64
+msgid "Unable to get cron jobs"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:73 vhffs-panel/mail/delete.pl:77
 #, perl-format
 msgid "Unable to get information on mail domain %s"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:63
+#: vhffs-panel/mail/index.pl:64
 msgid "Unable to get mail domains"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:63
+#: vhffs-panel/mailinglist/index.pl:64
 msgid "Unable to get mailing lists"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:63
+#: vhffs-panel/repository/index.pl:64
 msgid "Unable to get repositories"
 msgstr ""
 
-#: vhffs-panel/web/index.pl:63
+#: vhffs-panel/web/index.pl:64
 msgid "Unable to get webareas"
 msgstr ""
 
@@ -4073,17 +4065,17 @@
 msgid "Unable to modify SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:208
+#: vhffs-panel/dns/prefs.pl:207
 #, perl-format
 msgid "Unable to modify TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:302
+#: vhffs-panel/mail/prefs.pl:301
 #, perl-format
 msgid "Unable to modify forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:114
+#: vhffs-panel/group/prefs.pl:119
 msgid "Unable to remove user from group"
 msgstr ""
 
@@ -4091,79 +4083,69 @@
 msgid "Unable to save object"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:168
+#: vhffs-panel/admin/tag/category/edit.pl:71
+msgid "Unable to update category"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:169
 msgid "Unable to update repository"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:475
+#: vhffs-panel/admin/tag/edit.pl:72
+msgid "Unable to update tag"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:500
 msgid "Unable to update user, please try again later"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:298
 msgid ""
 "Unknow command\n"
 "\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Functions.pm:452 vhffs-api/src/Vhffs/Functions.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:452
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:457
+#: vhffs-api/src/Vhffs/Functions.pm:510 vhffs-api/src/Vhffs/Functions.pm:515
 msgid "Unknown"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:163 vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:211 vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:241 vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:265 vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:317 vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:344 vhffs-api/src/Vhffs/Panel/DNS.pm:356
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:265
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:288
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:344
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:356
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:164 vhffs-api/src/Vhffs/Panel/DNS.pm:200
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:212 vhffs-api/src/Vhffs/Panel/DNS.pm:230
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:242 vhffs-api/src/Vhffs/Panel/DNS.pm:255
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:267 vhffs-api/src/Vhffs/Panel/DNS.pm:280
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:292 vhffs-api/src/Vhffs/Panel/DNS.pm:305
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:322 vhffs-api/src/Vhffs/Panel/DNS.pm:337
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:349 vhffs-api/src/Vhffs/Panel/DNS.pm:361
 msgid "Unknown error"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:105
-#: vhffs-panel/admin/broadcast_list.pl:104
+#: vhffs-panel/admin/broadcast_list.pl:102
+#: vhffs-panel/admin/broadcast_view.pl:103
 msgid "Unknown status"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:240
 #, perl-format
 msgid "Unsubscribe for the list %s was not complete.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:64 vhffs-panel/group/prefs.pl:244
+#: vhffs-panel/admin/tag/category/edit.pl:88 vhffs-panel/group/prefs.pl:257
 msgid "Update"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:87
-msgid "Update Permissions"
+#: vhffs-panel/admin/tag/edit.pl:78
+msgid "Update Tag"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:54 vhffs-intl/template_strings.pl:70
-msgid "Update Quota"
+#: vhffs-panel/admin/tag/category/edit.pl:77
+msgid "Update Tag Category"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:248
+#: vhffs-panel/group/prefs.pl:261
 msgid "Update avatar"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:144
+#: vhffs-panel/mailinglist/prefs.pl:143
 msgid "Update signature"
 msgstr ""
 
@@ -4171,32 +4153,31 @@
 msgid "Uploaded file is too big. The maximum size is 20 Kbytes."
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:240
+#: vhffs-panel/dns/prefs.pl:239
 #, perl-format
 msgid "Use @ for origin (%s)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:413
+#: vhffs-panel/user/prefs.pl:430
 #, perl-format
 msgid ""
 "Use VHFFS servers to manage this mail,<br/>you should use use the host pop.%"
 "s or imap.%s to fetch your mails"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:424
+#: vhffs-panel/user/prefs.pl:441
 msgid "Use anti-spam protection"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:432
+#: vhffs-panel/user/prefs.pl:449
 msgid "Use anti-virus protection"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:51 vhffs-intl/template_strings.pl:67
-msgid "Used Quota"
+#: vhffs-panel/dns/prefs.pl:259
+msgid "Use our servers as destination IP for this A record?"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:35 vhffs-panel/admin/moderation.pl:86
-#: vhffs-panel/acl/view.pl:103
+#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/acl/view.pl:103
 msgid "User"
 msgstr "Benutzer"
 
@@ -4206,26 +4187,22 @@
 msgstr "Benutzer %s existiert nicht"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:118
 msgid "User Admin"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:435 vhffs-panel/user/prefs.pl:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:435
+#: vhffs-panel/user/prefs.pl:314 vhffs-api/src/Vhffs/Panel/Main.pm:425
 msgid "User Preferences"
 msgstr "Benutzer Einstellungen"
 
-#: vhffs-panel/subscribe.pl:188
+#: vhffs-panel/subscribe.pl:190
 msgid "User Successfully created"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:432
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:432
+#: vhffs-api/src/Vhffs/Panel/Main.pm:422
 msgid "User account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:368
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:368
+#: vhffs-api/src/Vhffs/Panel/Main.pm:373
 msgid "User does not exist"
 msgstr "Der Benutzer existiert nicht"
 
@@ -4233,47 +4210,34 @@
 msgid "User is not active yet"
 msgstr "Der Benutzer ist nicht aktiv"
 
-#: vhffs-panel/group/prefs.pl:144
+#: vhffs-panel/group/prefs.pl:149
 msgid "User not found"
 msgstr "Benutzer nicht gefunden"
 
-#: vhffs-panel/user/prefs.pl:477
+#: vhffs-panel/user/prefs.pl:502
 msgid "User successfully updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:134 vhffs-panel/group/prefs.pl:168
+#: vhffs-panel/group/prefs.pl:139 vhffs-panel/group/prefs.pl:173
 msgid "User will be added as soon as possible"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:82
-msgid "User's Permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:83
-msgid "User's permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:7 vhffs-intl/template_strings.pl:22
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:65 vhffs-panel/admin/user/list.pl:70
-#: vhffs-panel/admin/su.pl:73 vhffs-panel/group/prefs.pl:238
-#: vhffs-panel/user/prefs.pl:301 vhffs-panel/lost.pl:57
-#: vhffs-panel/subscribe.pl:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:65
+#: vhffs-panel/admin/user/list.pl:70 vhffs-panel/admin/su.pl:73
+#: vhffs-panel/user/prefs.pl:318 vhffs-panel/group/prefs.pl:251
+#: vhffs-panel/subscribe.pl:238 vhffs-panel/lost.pl:57
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:65
 msgid "Username"
 msgstr "Benutzername:"
 
-#: vhffs-panel/pgsql/prefs.pl:87 vhffs-panel/mysql/prefs.pl:98
+#: vhffs-panel/mysql/prefs.pl:99 vhffs-panel/pgsql/prefs.pl:87
 msgid "Username for this database"
 msgstr "Benutzername für diese Datenbank"
 
-#: vhffs-intl/template_strings.pl:2 vhffs-intl/template_strings.pl:12
-#: vhffs-intl/template_strings.pl:19 vhffs-api/src/Vhffs/Panel/Menu.pm:111
-#: vhffs-panel/group/prefs.pl:256
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:111
+#: vhffs-panel/group/prefs.pl:269 vhffs-api/src/Vhffs/Panel/Menu.pm:115
 msgid "Users"
 msgstr "Benutzer"
 
-#: vhffs-panel/admin/stats.pl:91
+#: vhffs-panel/admin/stats.pl:90
 msgid "Users stats"
 msgstr "Benutzer Statistiken"
 
@@ -4281,64 +4245,57 @@
 msgid "Users' administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:21 vhffs-api/src/Vhffs/Panel/Object.pm:122
-#: vhffs-panel/admin/object/edit.pl:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:122
+#: vhffs-panel/admin/object/edit.pl:115
+#: vhffs-api/src/Vhffs/Panel/Object.pm:121
 msgid "Validation refused"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:89
+#: vhffs-panel/admin/stats.pl:88
 msgid "Vhffs Statistics"
 msgstr "Vhffs Statistiken"
 
-#: vhffs-intl/template_strings.pl:10
-msgid "View Archives"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_view.pl:85
+#: vhffs-panel/admin/broadcast_view.pl:83
 msgid "View mailing"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_list.pl:90
+#: vhffs-panel/admin/broadcast_list.pl:88
 msgid "View this mailing"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:254
+#: vhffs-panel/mail/prefs.pl:253
 msgid "Virus status updated"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:105
+#: vhffs-panel/admin/tag/category/create.pl:70
+#: vhffs-panel/admin/tag/category/edit.pl:81
+msgid "Visibility"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:104
 msgid "WEB stats"
 msgstr "Web statistiken"
 
-#: vhffs-intl/template_strings.pl:75
-msgid "Waiting for confirmation"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:22 vhffs-api/src/Vhffs/Panel/Object.pm:123
-#: vhffs-panel/admin/object/edit.pl:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:123
+#: vhffs-panel/admin/object/edit.pl:116
+#: vhffs-api/src/Vhffs/Panel/Object.pm:122
 msgid "Waiting for creation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:78
-msgid "Waiting for deletion"
+#: vhffs-panel/admin/object/edit.pl:122
+#: vhffs-api/src/Vhffs/Panel/Object.pm:128
+msgid "Waiting for modification"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:28 vhffs-api/src/Vhffs/Panel/Object.pm:129
-#: vhffs-panel/admin/object/edit.pl:124
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:129
-msgid "Waiting for modification"
+#: vhffs-panel/admin/object/edit.pl:120
+#: vhffs-api/src/Vhffs/Panel/Object.pm:126
+msgid "Waiting for suspension"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:20 vhffs-intl/template_strings.pl:76
-#: vhffs-api/src/Vhffs/Panel/Object.pm:121
-#: vhffs-panel/admin/object/edit.pl:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:121
+#: vhffs-panel/admin/object/edit.pl:114
+#: vhffs-api/src/Vhffs/Panel/Object.pm:120
 msgid "Waiting for validation"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:149
+#: vhffs-panel/user/prefs.pl:151
 msgid "Wanted shell is not in the shell list"
 msgstr ""
 
@@ -4346,14 +4303,7 @@
 msgid "Warn the admin team"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:65 vhffs-intl/template_strings.pl:72
-msgid ""
-"Warning, password change isn't immediate, you've to check periodically to "
-"see if it's done"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:481
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:481
 #, perl-format
 msgid ""
 "We confirm that you REFUSED the subscription of:\n"
@@ -4365,7 +4315,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:457
 #, perl-format
 msgid ""
 "We confirm that you accepted the subscription of:\n"
@@ -4376,40 +4325,33 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:227
+#: vhffs-panel/group/prefs.pl:240
 #, perl-format
 msgid "We offer you the possibility to forward emails from %s@%s."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:443
+#: vhffs-panel/user/prefs.pl:460
 #, perl-format
 msgid "We offer you the possibility to have one email box on the domain %s"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:64 vhffs-api/src/Vhffs/Panel/Menu.pm:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:113
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:117
 msgid "Web"
 msgstr "Web"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:153
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:173
 msgid "Web Admin"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:93
+#: vhffs-panel/web/prefs.pl:90
 msgid "Web Area Administration"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:143
+#: vhffs-panel/web/prefs.pl:140
 msgid "Web area successfully modified"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:37
-msgid "Webarea"
-msgstr ""
-
-#: vhffs-panel/web/index.pl:60
+#: vhffs-panel/web/index.pl:61
 #, perl-format
 msgid "Webareas for %s"
 msgstr ""
@@ -4418,65 +4360,45 @@
 msgid "Webareas' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:37
-msgid "Website description"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:36
-msgid "Website name"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:33
-msgid "Websites"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:41 vhffs-public/group.pl:99
-msgid "Websites for this group"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
+#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/dns/prefs.pl:385
 msgid "Weight"
 msgstr "Gewicht"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:62
 #, perl-format
 msgid "Welcome on %s"
 msgstr "%s, Wilkommen"
 
-#: vhffs-panel/mailinglist/delete.pl:107
+#: vhffs-panel/mailinglist/delete.pl:105
 msgid "Will be DELETED in a few minutes"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:31 vhffs-api/src/Vhffs/Panel/Object.pm:132
-#: vhffs-panel/admin/object/edit.pl:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:132
+#: vhffs-panel/admin/object/edit.pl:125
+#: vhffs-api/src/Vhffs/Panel/Object.pm:131
 msgid "Will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:81
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:81
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:84
 #, perl-format
 msgid "Woah, %s users and %s groups already trust %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:59 vhffs-intl/template_strings.pl:62
-#: vhffs-panel/git/prefs.pl:101 vhffs-panel/dns/prefs.pl:261
-#: vhffs-panel/cvs/prefs.pl:112 vhffs-panel/svn/prefs.pl:93
+#: vhffs-panel/svn/prefs.pl:94 vhffs-panel/dns/prefs.pl:260
+#: vhffs-panel/cvs/prefs.pl:99 vhffs-panel/git/prefs.pl:98
 msgid "Yes"
 msgstr "Ja"
 
-#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/mail/prefs.pl:138
-#: vhffs-panel/git/prefs.pl:107 vhffs-panel/dns/prefs.pl:254
-#: vhffs-panel/pgsql/prefs.pl:101 vhffs-panel/cvs/prefs.pl:118
-#: vhffs-panel/group/prefs.pl:215 vhffs-panel/mysql/prefs.pl:113
-#: vhffs-panel/svn/prefs.pl:99 vhffs-panel/mailinglist/prefs.pl:181
-#: vhffs-panel/web/prefs.pl:111 vhffs-panel/user/prefs.pl:328
+#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/pgsql/prefs.pl:101
+#: vhffs-panel/mailinglist/prefs.pl:181 vhffs-panel/cron/prefs.pl:152
+#: vhffs-panel/repository/prefs.pl:90 vhffs-panel/user/prefs.pl:345
+#: vhffs-panel/svn/prefs.pl:100 vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/group/prefs.pl:228 vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/cvs/prefs.pl:105 vhffs-panel/git/prefs.pl:104
+#: vhffs-panel/web/prefs.pl:108
 msgid "Yes I'm sure of what I do"
 msgstr "Ja, ich bin sicher was ich mache"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:227
 msgid "You are not a subscriber on this list.\n"
 msgstr ""
 
@@ -4484,7 +4406,7 @@
 msgid "You are not allowed to add members (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:77 vhffs-panel/object/quickdelete.pl:77
+#: vhffs-panel/object/quickdelete.pl:76 vhffs-panel/object/resubmit.pl:76
 msgid "You are not allowed to do it, you don't own this object"
 msgstr ""
 
@@ -4492,48 +4414,45 @@
 msgid "You are not allowed to manager subscribers' rights (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:177 vhffs-panel/mail/prefs.pl:207
-#: vhffs-panel/mail/prefs.pl:225 vhffs-panel/mail/prefs.pl:265
-#: vhffs-panel/mail/prefs.pl:279 vhffs-panel/mail/prefs.pl:295
-#: vhffs-panel/mail/prefs.pl:311
+#: vhffs-panel/mail/prefs.pl:176 vhffs-panel/mail/prefs.pl:206
+#: vhffs-panel/mail/prefs.pl:224 vhffs-panel/mail/prefs.pl:264
+#: vhffs-panel/mail/prefs.pl:278 vhffs-panel/mail/prefs.pl:294
+#: vhffs-panel/mail/prefs.pl:310
 msgid "You are not allowed to modify this object"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:125
+#: vhffs-panel/web/prefs.pl:122
 msgid "You are not allowed to modify this web area"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:71
-#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/mail/search.pl:72
-#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/git/search.pl:73
-#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/dns/search.pl:72
-#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/pgsql/search.pl:72
-#: vhffs-panel/admin/pgsql/list.pl:60 vhffs-panel/admin/cvs/search.pl:71
-#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/group/search.pl:72
-#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mysql/search.pl:72
-#: vhffs-panel/admin/mysql/list.pl:66 vhffs-panel/admin/object/edit.pl:74
-#: vhffs-panel/admin/object/search.pl:71
-#: vhffs-panel/admin/object/edit_submit.pl:74
-#: vhffs-panel/admin/object/list.pl:72
-#: vhffs-panel/admin/object/delete_avatar.pl:78
-#: vhffs-panel/admin/svn/search.pl:73 vhffs-panel/admin/svn/list.pl:55
-#: vhffs-panel/admin/mailinglist/search.pl:71
-#: vhffs-panel/admin/mailinglist/list.pl:63 vhffs-panel/admin/web/search.pl:72
-#: vhffs-panel/admin/web/list.pl:54 vhffs-panel/admin/user/search.pl:72
-#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast_view.pl:73
-#: vhffs-panel/admin/broadcast_list.pl:71 vhffs-panel/admin/stats.pl:82
-#: vhffs-panel/admin/broadcast.pl:70
+#: vhffs-panel/admin/mysql/search.pl:70 vhffs-panel/admin/mysql/list.pl:66
+#: vhffs-panel/admin/pgsql/search.pl:70 vhffs-panel/admin/pgsql/list.pl:60
+#: vhffs-panel/admin/stats.pl:81 vhffs-panel/admin/broadcast_list.pl:69
+#: vhffs-panel/admin/mailinglist/search.pl:69
+#: vhffs-panel/admin/mailinglist/list.pl:63
+#: vhffs-panel/admin/broadcast_view.pl:71 vhffs-panel/admin/cron/search.pl:70
+#: vhffs-panel/admin/cron/list.pl:66 vhffs-panel/admin/repository/search.pl:69
+#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/user/search.pl:70
+#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast.pl:68
+#: vhffs-panel/admin/svn/search.pl:71 vhffs-panel/admin/svn/list.pl:55
+#: vhffs-panel/admin/object/delete_avatar.pl:76
+#: vhffs-panel/admin/object/edit_submit.pl:72
+#: vhffs-panel/admin/object/edit.pl:72 vhffs-panel/admin/object/search.pl:69
+#: vhffs-panel/admin/object/list.pl:70 vhffs-panel/admin/dns/search.pl:70
+#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/group/search.pl:70
+#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mail/search.pl:70
+#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/cvs/search.pl:69
+#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/git/search.pl:71
+#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/web/search.pl:70
+#: vhffs-panel/admin/web/list.pl:54
 msgid "You are not allowed to see it"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:186
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:207
+#: vhffs-api/src/Vhffs/Panel/Main.pm:187 vhffs-api/src/Vhffs/Panel/Main.pm:208
 msgid "You are not granted to access this page"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:119
 #, perl-format
 msgid ""
 "You asked to be subscribed to the following list:\n"
@@ -4542,35 +4461,45 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:113
-#: vhffs-panel/dns/prefs.pl:246 vhffs-panel/svn/prefs.pl:105
-#: vhffs-panel/web/prefs.pl:104
+#: vhffs-panel/mysql/prefs.pl:107 vhffs-panel/cron/prefs.pl:145
+#: vhffs-panel/svn/prefs.pl:106 vhffs-panel/dns/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:101
 msgid ""
 "You can Manage rights on this service for each user in the VHFFS database. "
 "Please read help before manage it."
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:49
 msgid "You can also send a command list in the mail body.\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:438
+msgid "You can only delete requests attached to your group"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:273
+msgid "You cannot add NS records on origin"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:157
+msgid "You cannot delete NS records on origin"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:115
 msgid "You cannot remove the owner of the group"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:89
+#: vhffs-panel/subscribe.pl:77
 msgid "You cannot subscribe to VHFFS"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:226
 #, perl-format
 msgid "You cannot unsubscribe from the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:211
 msgid "You demand was refused\n"
 msgstr ""
 
@@ -4578,8 +4507,15 @@
 msgid "You do not own this domain !"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:345
+msgid "You don't have enough privileges to add this tag"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:378
+msgid "You don't have enough privileges to delete this tag"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:182
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:182
 #, perl-format
 msgid ""
 "You have been successfully removed from the following list:\n"
@@ -4587,33 +4523,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:255
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:255
 #, perl-format
 msgid "You have been successfully removed from the list %s.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:147 vhffs-api/src/Vhffs/Listengine.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:147
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:163
 #, perl-format
 msgid ""
 "You have been successfully subscribed to the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:135
+#: vhffs-panel/admin/tag/category/edit.pl:115
+#: vhffs-panel/admin/tag/create.pl:100 vhffs-panel/admin/tag/edit.pl:107
+#: vhffs-panel/web/prefs.pl:132
 msgid "You have to enter a description"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:125 vhffs-panel/group/prefs.pl:284
-msgid "You have to enter a quota greater than the current used quota"
+#: vhffs-panel/admin/tag/category/edit.pl:111
+#: vhffs-panel/admin/tag/create.pl:95 vhffs-panel/admin/tag/edit.pl:103
+msgid "You have to enter a label"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:54 vhffs-panel/mail/index.pl:54
-#: vhffs-panel/git/index.pl:55 vhffs-panel/dns/index.pl:54
-#: vhffs-panel/pgsql/index.pl:54 vhffs-panel/cvs/index.pl:54
-#: vhffs-panel/mysql/index.pl:54 vhffs-panel/svn/index.pl:54
-#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/web/index.pl:54
+#: vhffs-panel/admin/tag/category/create.pl:95
+#: vhffs-panel/admin/tag/request/details.pl:151
+msgid "You have to enter a label and a description for the category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:156
+#: vhffs-panel/admin/tag/request/details.pl:185
+msgid "You have to enter a label and a description for the tag"
+msgstr ""
+
+#: vhffs-public/usersearch.pl:52
+msgid "You have to enter an username"
+msgstr ""
+
+#: vhffs-panel/mysql/index.pl:55 vhffs-panel/pgsql/index.pl:55
+#: vhffs-panel/mailinglist/index.pl:55 vhffs-panel/cron/index.pl:55
+#: vhffs-panel/repository/index.pl:55 vhffs-panel/svn/index.pl:55
+#: vhffs-panel/dns/index.pl:55 vhffs-panel/mail/index.pl:55
+#: vhffs-panel/cvs/index.pl:55 vhffs-panel/git/index.pl:56
+#: vhffs-panel/web/index.pl:55
 msgid "You have to select a group first"
 msgstr ""
 
@@ -4627,73 +4578,68 @@
 
 #: vhffs-api/src/Vhffs/Listengine.pm:149 vhffs-api/src/Vhffs/Listengine.pm:168
 #: vhffs-api/src/Vhffs/Listengine.pm:443
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:149
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:168
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:443
 msgid "You may get some help on listengine by sending an email to\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:204
+#: vhffs-panel/user/prefs.pl:210
 msgid "You must choose a method for your mail"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:85 vhffs-api/src/Vhffs/Listengine.pm:103
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:103
 msgid "You must confirm your request by sending a confirmation email\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:143
+#: vhffs-panel/subscribe.pl:145
 msgid "You must declare a valid mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:123
+#: vhffs-panel/subscribe.pl:125
 msgid "You must declare your city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:119
+#: vhffs-panel/subscribe.pl:121
 msgid "You must declare your country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:131
+#: vhffs-panel/subscribe.pl:133
 msgid "You must declare your firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:135
+#: vhffs-panel/subscribe.pl:137
 msgid "You must declare your lastname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:139
+#: vhffs-panel/subscribe.pl:141
 msgid "You must declare your mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:111
+#: vhffs-panel/subscribe.pl:113
 msgid "You must declare your username"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:127
+#: vhffs-panel/subscribe.pl:129
 msgid "You must declare your zipcode"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:79 vhffs-panel/mail/create.pl:78
-#: vhffs-panel/git/create.pl:83 vhffs-panel/dns/create.pl:53
-#: vhffs-panel/pgsql/create.pl:84 vhffs-panel/cvs/create.pl:84
-#: vhffs-panel/group/prefs.pl:86 vhffs-panel/group/create.pl:68
-#: vhffs-panel/mysql/create.pl:84 vhffs-panel/object/resubmit.pl:90
-#: vhffs-panel/svn/create.pl:83 vhffs-panel/mailinglist/create.pl:83
-#: vhffs-panel/web/create.pl:81
+#: vhffs-panel/mysql/create.pl:84 vhffs-panel/pgsql/create.pl:84
+#: vhffs-panel/mailinglist/create.pl:83 vhffs-panel/cron/create.pl:86
+#: vhffs-panel/repository/create.pl:79 vhffs-panel/svn/create.pl:83
+#: vhffs-panel/object/resubmit.pl:89 vhffs-panel/dns/create.pl:54
+#: vhffs-panel/group/prefs.pl:91 vhffs-panel/group/create.pl:70
+#: vhffs-panel/mail/create.pl:79 vhffs-panel/cvs/create.pl:84
+#: vhffs-panel/git/create.pl:83 vhffs-panel/web/create.pl:81
 msgid "You must enter a description"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:88 vhffs-panel/group/create.pl:70
+#: vhffs-panel/group/prefs.pl:93 vhffs-panel/group/create.pl:72
 msgid "You must enter a full name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:126
+#: vhffs-panel/group/prefs.pl:131
 msgid "You must enter an username"
 msgstr ""
 
-#: vhffs-panel/group/view.pl:55
+#: vhffs-panel/group/view.pl:57
 msgid "You must specify a project name"
 msgstr ""
 
@@ -4702,46 +4648,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:166
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:166
 msgid "You will receive an email with the decision of administrators.\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:375
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:375
+#: vhffs-api/src/Vhffs/Panel/Main.pm:380
 msgid "You're are not allowed to browse panel"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:64 vhffs-panel/mail/create.pl:60
-#: vhffs-panel/git/create.pl:64 vhffs-panel/dns/create.pl:34
-#: vhffs-panel/pgsql/create.pl:63 vhffs-panel/admin/moderation_submit.pl:67
-#: vhffs-panel/admin/broadcast_delete.pl:79
-#: vhffs-panel/admin/broadcast_submit.pl:79 vhffs-panel/admin/moderation.pl:70
-#: vhffs-panel/cvs/create.pl:64 vhffs-panel/group/prefs.pl:78
-#: vhffs-panel/group/prefs.pl:108 vhffs-panel/group/prefs.pl:119
-#: vhffs-panel/group/prefs.pl:160 vhffs-panel/group/prefs.pl:177
-#: vhffs-panel/group/history.pl:71 vhffs-panel/group/delete.pl:68
-#: vhffs-panel/mysql/create.pl:63 vhffs-panel/svn/create.pl:63
-#: vhffs-panel/mailinglist/create.pl:62 vhffs-panel/web/prefs.pl:84
-#: vhffs-panel/web/create.pl:63
+#: vhffs-panel/mysql/create.pl:63 vhffs-panel/pgsql/create.pl:63
+#: vhffs-panel/admin/broadcast_submit.pl:75
+#: vhffs-panel/admin/broadcast_delete.pl:75
+#: vhffs-panel/admin/moderation_submit.pl:67
+#: vhffs-panel/admin/moderation.pl:69 vhffs-panel/mailinglist/create.pl:62
+#: vhffs-panel/cron/create.pl:65 vhffs-panel/repository/create.pl:64
+#: vhffs-panel/svn/create.pl:63 vhffs-panel/dns/create.pl:35
+#: vhffs-panel/group/history.pl:72 vhffs-panel/group/prefs.pl:83
+#: vhffs-panel/group/prefs.pl:113 vhffs-panel/group/prefs.pl:124
+#: vhffs-panel/group/prefs.pl:165 vhffs-panel/group/prefs.pl:182
+#: vhffs-panel/group/prefs.pl:325 vhffs-panel/group/prefs.pl:358
+#: vhffs-panel/group/prefs.pl:391 vhffs-panel/group/prefs.pl:424
+#: vhffs-panel/group/delete.pl:67 vhffs-panel/mail/create.pl:61
+#: vhffs-panel/cvs/create.pl:64 vhffs-panel/git/create.pl:64
+#: vhffs-panel/web/prefs.pl:81 vhffs-panel/web/create.pl:63
 msgid "You're not allowed to do this (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:74 vhffs-panel/repository/delete.pl:82
-#: vhffs-panel/mail/prefs.pl:77 vhffs-panel/mail/delete.pl:87
-#: vhffs-panel/git/prefs.pl:80 vhffs-panel/git/prefs.pl:142
-#: vhffs-panel/git/prefs.pl:164 vhffs-panel/git/delete.pl:82
+#: vhffs-panel/mysql/prefs.pl:81 vhffs-panel/mysql/prefs.pl:127
+#: vhffs-panel/mysql/delete.pl:78 vhffs-panel/pgsql/prefs.pl:71
+#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:76
+#: vhffs-panel/mailinglist/prefs.pl:83 vhffs-panel/mailinglist/prefs.pl:205
+#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:89
+#: vhffs-panel/cron/prefs.pl:80 vhffs-panel/cron/prefs.pl:167
+#: vhffs-panel/cron/delete.pl:78 vhffs-panel/repository/prefs.pl:73
+#: vhffs-panel/repository/delete.pl:81 vhffs-panel/user/prefs.pl:79
+#: vhffs-panel/user/prefs.pl:85 vhffs-panel/svn/prefs.pl:77
+#: vhffs-panel/svn/prefs.pl:135 vhffs-panel/svn/delete.pl:80
 #: vhffs-panel/dns/prefs.pl:86 vhffs-panel/dns/prefs.pl:95
-#: vhffs-panel/dns/delete.pl:87 vhffs-panel/pgsql/prefs.pl:71
-#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:77
+#: vhffs-panel/dns/delete.pl:79 vhffs-panel/group/prefs.pl:74
+#: vhffs-panel/mail/prefs.pl:76 vhffs-panel/mail/delete.pl:85
 #: vhffs-panel/cvs/prefs.pl:73 vhffs-panel/cvs/prefs.pl:78
-#: vhffs-panel/cvs/prefs.pl:94 vhffs-panel/cvs/delete.pl:82
-#: vhffs-panel/group/prefs.pl:70 vhffs-panel/mysql/prefs.pl:80
-#: vhffs-panel/mysql/delete.pl:79 vhffs-panel/svn/prefs.pl:76
-#: vhffs-panel/svn/prefs.pl:134 vhffs-panel/svn/delete.pl:81
-#: vhffs-panel/mailinglist/prefs.pl:84 vhffs-panel/mailinglist/prefs.pl:205
-#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:91
-#: vhffs-panel/web/delete.pl:83 vhffs-panel/user/prefs.pl:78
-#: vhffs-panel/user/prefs.pl:84
+#: vhffs-panel/cvs/delete.pl:81 vhffs-panel/git/prefs.pl:81
+#: vhffs-panel/git/prefs.pl:139 vhffs-panel/git/delete.pl:81
+#: vhffs-panel/web/delete.pl:81
 msgid ""
 "You're not allowed to do this, object is not in active state or you don't "
 "have enough ACL rights"
@@ -4751,7 +4699,7 @@
 msgid "You're not allowed to manage this object's ACL"
 msgstr ""
 
-#: vhffs-panel/acl/view.pl:76 vhffs-panel/history.pl:94
+#: vhffs-panel/history.pl:92 vhffs-panel/acl/view.pl:76
 msgid "You're not allowed to view this object's ACL"
 msgstr ""
 
@@ -4759,21 +4707,19 @@
 msgid "You're not an administrator"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:512
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:512
+#: vhffs-api/src/Vhffs/Object.pm:527
 #, perl-format
 msgid "Your %s (%s) on %s has been deleted due to lack of updates"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:333
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:333
+#: vhffs-api/src/Vhffs/User.pm:344
 #, perl-format
 msgid ""
 "Your account (%s) on %s has been deleted because it was unused for a long "
 "time"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:243
+#: vhffs-panel/subscribe.pl:277
 msgid ""
 "Your email address. It will be used to contact you when needed and as a "
 "destination address if you use our email forwarding service"
@@ -4787,20 +4733,17 @@
 msgid "Your projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:416
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:416
+#: vhffs-api/src/Vhffs/Object.pm:431
 #, perl-format
 msgid "Your request for a %s (%s) on %s was accepted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:466
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:466
+#: vhffs-api/src/Vhffs/Object.pm:481
 #, perl-format
 msgid "Your request for a %s (%s) on %s was refused"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:441
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:441
 #, perl-format
 msgid ""
 "Your subscription was accepted to the following mailing list:\n"
@@ -4808,7 +4751,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:469
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:469
 #, perl-format
 msgid ""
 "Your subscription was refused to the following mailing list:\n"
@@ -4817,133 +4759,100 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:242
+#: vhffs-panel/subscribe.pl:276
 msgid ""
 "Your username. It must contains only alphanumeric characters in lowercase, "
 "its length must be between 3 and 12 chars"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:147
+#: vhffs-panel/subscribe.pl:149
 msgid "Your zipcode is not correct! Please enter a correct zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:305 vhffs-panel/subscribe.pl:227
+#: vhffs-panel/user/prefs.pl:322 vhffs-panel/subscribe.pl:242
 msgid "Zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:132
+#: vhffs-panel/user/prefs.pl:134
 msgid "Zipcode is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:301
+#: vhffs-panel/mailinglist/prefs.pl:303
 #, perl-format
 msgid "[%s] You've been added to the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:355
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:355
 msgid "cannot be removed from the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:319
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:319
 msgid "cannot be removed.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:53
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:53
 msgid "help\t\t - show this help\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:17
-msgid "help_user_admin"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:13
-msgid "help_user_bug"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:12
-msgid "help_user_help"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:14
-msgid "help_user_logout"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:11
-msgid "help_user_preferences"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:16
-msgid "help_user_project"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:15
-msgid "help_user_projects"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:372
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:372
 #, perl-format
 msgid "in the moderation queue of the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:56
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:56
 msgid "lang [fr|us|es]\t - set listengine language\n"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:960
+#: vhffs-listengine/src/listengine.pl:964
 #, perl-format
 msgid "listengine - list of messages to moderate for %s"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:843
-#: vhffs-listengine/src/listengine.pl:865
-#: vhffs-listengine/src/listengine.pl:876
+#: vhffs-listengine/src/listengine.pl:847
+#: vhffs-listengine/src/listengine.pl:869
+#: vhffs-listengine/src/listengine.pl:880
 msgid "listengine help"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:908
-#: vhffs-listengine/src/listengine.pl:919
-#: vhffs-listengine/src/listengine.pl:935
-#: vhffs-listengine/src/listengine.pl:947
-#: vhffs-listengine/src/listengine.pl:974
-#: vhffs-listengine/src/listengine.pl:985
+#: vhffs-listengine/src/listengine.pl:912
+#: vhffs-listengine/src/listengine.pl:923
+#: vhffs-listengine/src/listengine.pl:939
+#: vhffs-listengine/src/listengine.pl:951
+#: vhffs-listengine/src/listengine.pl:978
+#: vhffs-listengine/src/listengine.pl:989
 msgid "listengine moderation"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:893
+#: vhffs-listengine/src/listengine.pl:897
 msgid "listengine result command"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:1026
+#: vhffs-listengine/src/listengine.pl:1030
 msgid "listengine: unknown command"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:302 vhffs-panel/subscribe.pl:224
+#: vhffs-panel/user/prefs.pl:319 vhffs-panel/subscribe.pl:239
 msgid "mail"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:97
+msgid "minutes"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:61
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:61
 msgid "moderate XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:62
 msgid ""
 "moderate accept XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:64
 msgid "moderate list\t\t\t - give the message list for moderation\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:63
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:63
 msgid ""
 "moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n"
 msgstr ""
@@ -4952,97 +4861,123 @@
 msgid "new site"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:118
-#: vhffs-panel/admin/object/edit.pl:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:118
+#: vhffs-panel/admin/object/edit.pl:111
+#: vhffs-api/src/Vhffs/Panel/Object.pm:117
 msgid "no date"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Object.pm:380
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:380
 msgid "no reason given"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:318 vhffs-api/src/Vhffs/Listengine.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:318
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:354
 #, perl-format
 msgid "present in the moderation queue for the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:54
 msgid "subscribe\t - subscribe the shipper to the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:59
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:59
 msgid ""
 "subscription accept XXXXX\t\t - accept the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:60
 msgid ""
 "subscription refuse XXXXX\t\t - refuse the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:55
 msgid "unsubscribe\t - unsubscribe from this list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:69
 msgid "user info user@xxxxxxxxxx\t\t - show user information\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:67
 msgid "user right RIGHT user@xxxxxxxxxx\t - change right for this user\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:66
 msgid ""
 "user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on "
 "the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:65
 msgid ""
 "user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:337
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:337
 #, perl-format
 msgid "was removed from the moderation queue from the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:373
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:373
 msgid "was sent on the list.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:46
-msgid "website(s)"
-msgstr ""
-
-#: vhffs-panel/group/create.pl:86
+#: vhffs-panel/group/create.pl:100
 msgid ""
 "with only lowercase alphanumerical letters, no space, from 3 to 12 characters"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:407
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:407
 #, perl-format
 msgid ""
 "with the following subject :\n"
 "  \"moderate %s\" \n"
 msgstr ""
 
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#~ msgid "All"
+#~ msgstr "Alle"
+
+#~ msgid "CVS Repository"
+#~ msgstr "CVS Repository"
+
+#~ msgid "Change Password"
+#~ msgstr "Passwort ändern"
+
+#~ msgid "Change rights"
+#~ msgstr "Berechtigungen ändern"
+
+#~ msgid "Creation error"
+#~ msgstr "Erstellungsfehler"
+
+#~ msgid "Download Repository"
+#~ msgstr "Download Repository"
+
+#~ msgid "Enable anti-spam"
+#~ msgstr "Anti-spam aktivieren"
+
+#~ msgid "Enable anti-virus"
+#~ msgstr "Anti-virus aktivieren"
+
+#~ msgid "MB"
+#~ msgstr "MB"
+
+#~ msgid "Mail Domain"
+#~ msgstr "Mail Domain"
+
+#~ msgid "MySQL DB"
+#~ msgstr "MySQL DB"
+
+#~ msgid "All groups on %s"
+#~ msgstr "Alle Gruppen auf %s"
+
+#~ msgid "Are you SURE you want DELETE this  subversion repository ?"
+#~ msgstr "Sind Sie SICHER Sie wollen das Subversion Repository ablösen ?"
+
+#~ msgid "Current group:"
+#~ msgstr "Aktuelle Gruppe"
+
 #~ msgid "Box sucessfully added"
 #~ msgstr "Briefkasten erfolgreich hinzugefügt"
 
@@ -5055,12 +4990,6 @@
 #~ msgid "CGI ERROR!"
 #~ msgstr "CGI ERROR!"
 
-#~ msgid "CGI Error!"
-#~ msgstr "CGI Fehler !"
-
-#~ msgid "CGI error"
-#~ msgstr "CGI Fehler"
-
 #~ msgid "CGI problem"
 #~ msgstr "CGI Problem"
 

Modified: branches/vhffs-design/vhffs-intl/en_US.po
===================================================================
--- branches/vhffs-design/vhffs-intl/en_US.po	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/en_US.po	2010-03-14 17:55:02 UTC (rev 1557)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VHFFS 4.1 English strings\n"
 "Report-Msgid-Bugs-To: vhffs-dev@xxxxxxxxx\n"
-"POT-Creation-Date: 2008-02-04 10:57+0100\n"
+"POT-Creation-Date: 2009-07-09 13:32+0200\n"
 "PO-Revision-Date: 2007-05-15 14:14+0200\n"
 "Last-Translator: Sébastien Le Ray <beuss@xxxxxxxxxxxxx>\n"
 "Language-Team: English <en@xxxxxxxxx>\n"
@@ -17,21 +17,15 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:68
 msgid "\t\t\t\t   RIGHT can be subscriber or admin\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:148 vhffs-api/src/Vhffs/Listengine.pm:164
 #: vhffs-api/src/Vhffs/Listengine.pm:167 vhffs-api/src/Vhffs/Listengine.pm:442
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:148
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:164
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:442
 msgid "\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:425
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:425
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -40,7 +34,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:428
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:428
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -48,68 +41,43 @@
 "  \"subscription refuse %s %s\" \n"
 msgstr ""
 
-#: vhffs-public/groupsearch.pl:79
+#: vhffs-panel/mailinglist/prefs.pl:297
 #, perl-format
-msgid "%d group(s) found"
-msgstr ""
-
-#: vhffs-public/usersearch.pl:80
-#, perl-format
-msgid "%d user(s) found"
-msgstr ""
-
-#: vhffs-public/websitesearch.pl:78
-#, perl-format
-msgid "%d websites(s) found"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:296
-#, perl-format
 msgid "%s has been added"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:294
+#: vhffs-panel/mailinglist/prefs.pl:295
 #, perl-format
 msgid "%s is already a member of this list"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:195
+#: vhffs-panel/mail/prefs.pl:194
 #, perl-format
 msgid "%s is not a correct mail address"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:292
+#: vhffs-panel/mailinglist/prefs.pl:293
 #, perl-format
 msgid "%s is not a valid mail"
 msgstr ""
 
-#: vhffs-public/index.pl:65
+#: vhffs-api/src/Vhffs/Panel/Main.pm:706
 #, perl-format
-msgid "%s public area"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:710
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:710
-#, perl-format
 msgid "%s's Panel"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:150 vhffs-api/src/Vhffs/Listengine.pm:169
 #: vhffs-api/src/Vhffs/Listengine.pm:444
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:169
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:444
 #, perl-format
 msgid "%s-request@%s with subject \"help\"\n"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:312
+#: vhffs-panel/dns/prefs.pl:314
 #, perl-format
 msgid "@ represents the origin (%s)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:299
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:303
 msgid ""
 "A CNAME, A or AAAA record with the same name already exists for this domain"
 msgstr ""
@@ -122,8 +90,11 @@
 msgid "A Record updated"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:347
+msgid "A TXT record with the same name already exists for this domain"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:404
 #, perl-format
 msgid ""
 "A mail to moderate is on the following mailing list:\n"
@@ -132,7 +103,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:421
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:421
 #, perl-format
 msgid ""
 "A new person wants to subscribe to the following mailing list:\n"
@@ -172,41 +142,41 @@
 msgid "ACL updated"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
+#: vhffs-panel/cron/create.pl:108
+msgid "Absolute path of the command to run"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:88 vhffs-panel/admin/moderation.pl:115
 msgid "Accept"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:185 vhffs-api/src/Vhffs/Panel/Main.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:206
+#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
 msgid "Access denied"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:68
 msgid "Access to panel"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:111
+#: vhffs-panel/mail/prefs.pl:110
 msgid "Accounts"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:411
+#: vhffs-panel/user/prefs.pl:428
 #, perl-format
 msgid "Activate %s@%s email"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:25 vhffs-api/src/Vhffs/Panel/Object.pm:125
-#: vhffs-panel/admin/object/edit.pl:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:125
+#: vhffs-panel/admin/object/edit.pl:118
+#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 msgid "Activated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:150 vhffs-panel/group/prefs.pl:240
+#: vhffs-panel/group/prefs.pl:155 vhffs-panel/group/prefs.pl:253
 msgid "Add"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:265
+#: vhffs-panel/dns/prefs.pl:264
 msgid "Add !"
 msgstr ""
 
@@ -214,7 +184,7 @@
 msgid "Add a CNAME field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:270
+#: vhffs-panel/dns/prefs.pl:269
 msgid "Add a MX field to your domain"
 msgstr ""
 
@@ -222,47 +192,47 @@
 msgid "Add a NS field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:292
+#: vhffs-panel/dns/prefs.pl:293
 msgid "Add a SRV record to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:304
+#: vhffs-panel/dns/prefs.pl:306
 msgid "Add a TXT record"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:122 vhffs-panel/mail/prefs.pl:132
+#: vhffs-panel/mail/prefs.pl:121 vhffs-panel/mail/prefs.pl:131
 msgid "Add a forward on this domain"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:131
+#: vhffs-panel/mail/prefs.pl:130
 msgid "Add a popbox to this domain"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:239
+#: vhffs-panel/group/prefs.pl:252
 msgid "Add a user in this group"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:238
+#: vhffs-panel/dns/prefs.pl:237
 msgid "Add an A record"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:239
+#: vhffs-panel/dns/prefs.pl:238
 msgid "Add an AAAA record"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:113
+#: vhffs-panel/mail/prefs.pl:112
 msgid "Add an account"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:148
+#: vhffs-panel/mailinglist/prefs.pl:147
 msgid "Add members"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:150
+#: vhffs-panel/mailinglist/prefs.pl:149
 msgid "Add them !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:307 vhffs-panel/subscribe.pl:230
+#: vhffs-panel/user/prefs.pl:324 vhffs-panel/subscribe.pl:245
 msgid "Address"
 msgstr ""
 
@@ -270,83 +240,73 @@
 msgid "Address (ServerName directive)"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:95
+#: vhffs-panel/web/prefs.pl:92
 msgid "Address (Servername)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:138
+#: vhffs-panel/user/prefs.pl:140
 msgid "Address is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:149
+#: vhffs-panel/mailinglist/prefs.pl:148
 msgid "Addresses (one per line)"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:79
-msgid "Admin"
-msgstr ""
-
-#: vhffs-panel/cvs/prefs.pl:107
+#: vhffs-panel/cvs/prefs.pl:94
 msgid "Admin CVS Repository"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:81
+#: vhffs-panel/repository/prefs.pl:80
 msgid "Admin Download repository"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:96
+#: vhffs-panel/git/prefs.pl:93
 msgid "Admin Git Repository"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:112
-#: vhffs-panel/dns/prefs.pl:245 vhffs-panel/svn/prefs.pl:104
-#: vhffs-panel/web/prefs.pl:103
+#: vhffs-panel/mysql/prefs.pl:106 vhffs-panel/cron/prefs.pl:144
+#: vhffs-panel/svn/prefs.pl:105 vhffs-panel/dns/prefs.pl:244
+#: vhffs-panel/mail/prefs.pl:142 vhffs-panel/git/prefs.pl:109
+#: vhffs-panel/web/prefs.pl:100
 msgid "Admin Rights on this object (ACL)"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:87
+#: vhffs-panel/svn/prefs.pl:88
 msgid "Admin Subversion Repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:426
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:426
+#: vhffs-api/src/Vhffs/Panel/Main.pm:416
 msgid "Admin account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:96
+#: vhffs-api/src/Vhffs/Panel/Object.pm:95
 msgid "Admin part"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:430
-#: vhffs-panel/admin/index.pl:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:430
+#: vhffs-panel/admin/index.pl:55 vhffs-api/src/Vhffs/Panel/Main.pm:417
+#: vhffs-api/src/Vhffs/Panel/Main.pm:420
 msgid "Administration"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:99
+#: vhffs-panel/mailinglist/prefs.pl:98
 #, perl-format
 msgid "Administration for list %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:86
-msgid "Administrator"
+#: vhffs-panel/admin/tag/category/create.pl:75
+#: vhffs-panel/admin/tag/category/edit.pl:86
+msgid "Administrators"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:116
+#: vhffs-panel/mailinglist/prefs.pl:115
 msgid "Admins only"
 msgstr ""
 
-#: vhffs-public/allgroups.pl:74 vhffs-public/allwebsites.pl:74
-msgid "All"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:232
+#: vhffs-panel/dns/prefs.pl:231
 msgid "All A TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:233
+#: vhffs-panel/dns/prefs.pl:232
 msgid "All AAAA TYPE for your domain name"
 msgstr ""
 
@@ -354,15 +314,11 @@
 msgid "All CNAME TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:235
+#: vhffs-panel/dns/prefs.pl:234
 msgid "All CNAME for your domain name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:28
-msgid "All Groups"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:234 vhffs-panel/dns/prefs.pl:269
+#: vhffs-panel/dns/prefs.pl:233 vhffs-panel/dns/prefs.pl:268
 msgid "All MX TYPE for your domain name"
 msgstr ""
 
@@ -370,7 +326,7 @@
 msgid "All NS TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:291
+#: vhffs-panel/dns/prefs.pl:292
 msgid "All SRV records for your domain name"
 msgstr ""
 
@@ -378,16 +334,11 @@
 msgid "All Subversion repositories lists"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:305
+#: vhffs-panel/dns/prefs.pl:307
 msgid "All TXT records for your domain name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:34
-msgid "All Websites"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:48
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:48
 msgid "All commands can be sent as mail subject.\n"
 msgstr ""
 
@@ -395,50 +346,36 @@
 msgid "All git repositories lists"
 msgstr ""
 
-#: vhffs-public/allgroups.pl:72
-#, perl-format
-msgid "All groups on %s"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_list.pl:77
+#: vhffs-panel/admin/broadcast_list.pl:75
 msgid "All mailings sent to hosted"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:50
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:50
 msgid ""
 "All mails with commands must be sent on YOURLIST-request@xxxxxxxxxx list.\n"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:85
+#: vhffs-panel/admin/object/list.pl:83
 msgid "All objects List"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:257
+#: vhffs-panel/group/prefs.pl:270
 msgid "All users in this group"
 msgstr ""
 
-#: vhffs-public/allwebsites.pl:72
-#, perl-format
-msgid "All websites on %s"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:251
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:251
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:252
 msgid "An MX record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:274
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:274
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:277
 msgid "An NS record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:87 vhffs-panel/cvs/prefs.pl:100
+#: vhffs-panel/cvs/prefs.pl:87
 msgid "An error occured during CVS repository update"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:493
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:493
 #, perl-format
 msgid ""
 "An error occured during your approval of subscription of:\n"
@@ -449,7 +386,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:194
 #, perl-format
 msgid ""
 "An error occured during your subscription to the following list:\n"
@@ -457,27 +393,27 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:217
+#: vhffs-panel/user/prefs.pl:223
 msgid "An error occured while adding the box"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:219
+#: vhffs-panel/user/prefs.pl:225
 msgid "An error occured while adding the box (anti-spam adding)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:221
+#: vhffs-panel/user/prefs.pl:227
 msgid "An error occured while adding the box (anti-virus adding)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:266
+#: vhffs-panel/user/prefs.pl:272
 msgid "An error occured while adding the forwarding"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:83
+#: vhffs-panel/user/delete.pl:81
 msgid "An error occured while applying changes. This user will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:92
+#: vhffs-panel/web/delete.pl:90
 msgid ""
 "An error occured while applying changes. This web area will NOT be deleted"
 msgstr ""
@@ -486,7 +422,7 @@
 msgid "An error occured while creating the git repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:83
+#: vhffs-panel/mail/create.pl:84
 msgid "An error occured while creating the mail area"
 msgstr ""
 
@@ -496,13 +432,13 @@
 "already have a download repository"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:60
+#: vhffs-panel/dns/create.pl:61
 msgid ""
 "An error occured while creating the object. The domain is not correct or "
 "aleady exists in Vhffs database"
 msgstr ""
 
-#: vhffs-panel/cvs/create.pl:92 vhffs-panel/mailinglist/create.pl:92
+#: vhffs-panel/mailinglist/create.pl:92 vhffs-panel/cvs/create.pl:92
 msgid "An error occured while creating the object.It probably already exists"
 msgstr ""
 
@@ -510,23 +446,23 @@
 msgid "An error occured while creating the svn repository"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:93
+#: vhffs-panel/cvs/delete.pl:92
 msgid "An error occured while deleting the CVS repository"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:95
+#: vhffs-panel/repository/delete.pl:94
 msgid "An error occured while deleting the Download repository"
 msgstr ""
 
-#: vhffs-panel/svn/delete.pl:94
+#: vhffs-panel/svn/delete.pl:93
 msgid "An error occured while deleting the Subversion repository"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:99
+#: vhffs-panel/git/delete.pl:98
 msgid "An error occured while deleting the git repository"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_delete.pl:96
+#: vhffs-panel/admin/broadcast_delete.pl:92
 msgid "An error occured while deleting this mailing"
 msgstr ""
 
@@ -534,30 +470,33 @@
 msgid "An error occured while deleting this object."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:275
+#: vhffs-panel/group/prefs.pl:414
+msgid "An error occured while saving your request"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:281
 msgid "An error occured while the forwarding"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:285
 #, perl-format
 msgid ""
 "An error occured while updating language for the following address: %s.\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:197
+#: vhffs-panel/mail/prefs.pl:196
 msgid "An error occured while updating the mail domain"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit_submit.pl:91
+#: vhffs-panel/admin/object/edit_submit.pl:89
 msgid "An error occured while updating the object"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/delete.pl:83
+#: vhffs-panel/group/prefs.pl:100 vhffs-panel/group/delete.pl:82
 msgid "An error occured while updating the project"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:188
+#: vhffs-panel/user/prefs.pl:194
 msgid "An error occured while updating the user account"
 msgstr ""
 
@@ -565,15 +504,15 @@
 msgid "An error occured while updating this object."
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:98
-msgid "Are you SURE you want DELETE this  subversion repository ?"
+#: vhffs-panel/cron/prefs.pl:151
+msgid "Are you SURE you want DELETE this Cron job ?"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/mail/prefs.pl:136
 msgid "Are you SURE you want DELETE this Mail Area ?"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:112
+#: vhffs-panel/mysql/prefs.pl:113
 msgid "Are you SURE you want DELETE this MySQL database ?"
 msgstr ""
 
@@ -581,23 +520,23 @@
 msgid "Are you SURE you want DELETE this PostgreSQL database ?"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:107
 msgid "Are you SURE you want DELETE this Web Area ?"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:117
+#: vhffs-panel/cvs/prefs.pl:104
 msgid "Are you SURE you want DELETE this cvs repository ?"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/dns/prefs.pl:252
 msgid "Are you SURE you want DELETE this domain ?"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:90
+#: vhffs-panel/repository/prefs.pl:89
 msgid "Are you SURE you want DELETE this download repository ?"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/git/prefs.pl:103
 msgid "Are you SURE you want DELETE this git repository?"
 msgstr ""
 
@@ -605,42 +544,49 @@
 msgid "Are you SURE you want DELETE this mailing list ?"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:214
+#: vhffs-panel/group/prefs.pl:227
 msgid "Are you SURE you want DELETE this project ?"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:327
+#: vhffs-panel/svn/prefs.pl:99
+msgid "Are you SURE you want DELETE this subversion repository ?"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:344
 msgid "Are you SURE you want DELETE this user?"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:100
+#: vhffs-panel/cron/prefs.pl:126
+msgid "As soon as possible"
+msgstr ""
+
+#: vhffs-panel/admin/object/delete_avatar.pl:98
 msgid "Avatar deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:199
-#: vhffs-panel/admin/object/edit.pl:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:199
+#: vhffs-panel/admin/object/edit.pl:193
+#: vhffs-api/src/Vhffs/Panel/Object.pm:198
 msgid "Avatar management"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:97
-#: vhffs-panel/admin/broadcast_list.pl:96
+#: vhffs-panel/admin/broadcast_list.pl:94
+#: vhffs-panel/admin/broadcast_view.pl:95
 msgid "Awaiting sending"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:191 vhffs-panel/subscribe.pl:232
+#: vhffs-panel/subscribe.pl:193 vhffs-panel/subscribe.pl:247
 msgid "Back to Login"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:14 vhffs-panel/lost.pl:59
+#: vhffs-panel/lost.pl:59
 msgid "Back to login page"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:126 vhffs-panel/mysql/prefs.pl:137
+#: vhffs-panel/mysql/prefs.pl:138 vhffs-panel/pgsql/prefs.pl:126
 msgid "Bad password, should be at least 3 chars"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:73
+#: vhffs-panel/dns/create.pl:74
 msgid ""
 "Be careful ! You must give the reason why you want to host this domain on "
 "our servers."
@@ -653,20 +599,20 @@
 "tld to domain.tld"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:89
+#: vhffs-panel/admin/broadcast_view.pl:87
 msgid "Body"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:272
+#: vhffs-panel/mail/prefs.pl:271
 #, perl-format
 msgid "Box %s deleted"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:239
+#: vhffs-panel/mail/prefs.pl:238
 msgid "Box password updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:216
+#: vhffs-panel/mail/prefs.pl:215
 msgid "Box successfully added"
 msgstr ""
 
@@ -676,49 +622,67 @@
 "password will be sent to you by email!"
 msgstr ""
 
-#: vhffs-public/group.pl:72 vhffs-public/user.pl:60 vhffs-public/user.pl:64
-#: vhffs-panel/repository/prefs.pl:68 vhffs-panel/repository/create.pl:77
-#: vhffs-panel/mail/prefs.pl:185 vhffs-panel/mail/prefs.pl:212
-#: vhffs-panel/mail/prefs.pl:233 vhffs-panel/mail/prefs.pl:268
-#: vhffs-panel/mail/prefs.pl:284 vhffs-panel/mail/prefs.pl:300
-#: vhffs-panel/mail/prefs.pl:315 vhffs-panel/mail/delete.pl:75
-#: vhffs-panel/mail/create.pl:74 vhffs-panel/git/prefs.pl:70
-#: vhffs-panel/git/delete.pl:74 vhffs-panel/git/create.pl:79
-#: vhffs-panel/dns/prefs.pl:76 vhffs-panel/dns/delete.pl:79
-#: vhffs-panel/dns/create.pl:49 vhffs-panel/pgsql/prefs.pl:121
-#: vhffs-panel/pgsql/delete.pl:81 vhffs-panel/pgsql/create.pl:82
-#: vhffs-panel/admin/object/edit.pl:80
-#: vhffs-panel/admin/object/edit_submit.pl:78
-#: vhffs-panel/admin/object/delete_avatar.pl:82
+#: vhffs-panel/admin/tag/request/details.pl:68
+#: vhffs-panel/admin/tag/request/details.pl:137 vhffs-public/group.pl:53
+msgid "CGI Error"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:71 vhffs-panel/mysql/prefs.pl:133
+#: vhffs-panel/mysql/create.pl:82 vhffs-panel/mysql/delete.pl:74
+#: vhffs-panel/pgsql/prefs.pl:121 vhffs-panel/pgsql/create.pl:82
+#: vhffs-panel/pgsql/delete.pl:80 vhffs-panel/admin/broadcast_view.pl:77
+#: vhffs-panel/admin/broadcast_submit.pl:80
+#: vhffs-panel/admin/broadcast_delete.pl:80
 #: vhffs-panel/admin/moderation_submit.pl:77
-#: vhffs-panel/admin/broadcast_delete.pl:84
-#: vhffs-panel/admin/broadcast_submit.pl:84
-#: vhffs-panel/admin/broadcast_view.pl:79 vhffs-panel/cvs/prefs.pl:67
-#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/delete.pl:74
-#: vhffs-panel/cvs/create.pl:80 vhffs-panel/group/prefs.pl:84
-#: vhffs-panel/group/prefs.pl:105 vhffs-panel/group/prefs.pl:123
-#: vhffs-panel/group/prefs.pl:164 vhffs-panel/acl/view.pl:85
-#: vhffs-panel/mysql/prefs.pl:70 vhffs-panel/mysql/prefs.pl:132
-#: vhffs-panel/mysql/delete.pl:75 vhffs-panel/mysql/create.pl:82
-#: vhffs-panel/object/resubmit.pl:63 vhffs-panel/object/resubmit.pl:87
-#: vhffs-panel/object/quickdelete.pl:63 vhffs-panel/svn/prefs.pl:66
-#: vhffs-panel/svn/prefs.pl:139 vhffs-panel/svn/delete.pl:73
-#: vhffs-panel/svn/create.pl:79 vhffs-panel/mailinglist/prefs.pl:210
-#: vhffs-panel/mailinglist/prefs.pl:235 vhffs-panel/mailinglist/prefs.pl:256
-#: vhffs-panel/mailinglist/prefs.pl:276 vhffs-panel/mailinglist/delete.pl:79
-#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/web/prefs.pl:130
-#: vhffs-panel/web/create.pl:77 vhffs-panel/user/prefs.pl:114
-#: vhffs-panel/user/prefs.pl:469 vhffs-panel/history.pl:84
+#: vhffs-panel/admin/object/delete_avatar.pl:80
+#: vhffs-panel/admin/object/edit_submit.pl:76
+#: vhffs-panel/admin/object/edit.pl:78 vhffs-panel/history.pl:82
+#: vhffs-panel/mailinglist/prefs.pl:210 vhffs-panel/mailinglist/prefs.pl:235
+#: vhffs-panel/mailinglist/prefs.pl:256 vhffs-panel/mailinglist/prefs.pl:276
+#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/mailinglist/delete.pl:77
+#: vhffs-panel/cron/prefs.pl:70 vhffs-panel/cron/prefs.pl:174
+#: vhffs-panel/cron/create.pl:84 vhffs-panel/cron/delete.pl:74
+#: vhffs-panel/repository/prefs.pl:67 vhffs-panel/repository/create.pl:77
+#: vhffs-panel/user/prefs.pl:116 vhffs-panel/user/prefs.pl:494
+#: vhffs-panel/svn/prefs.pl:67 vhffs-panel/svn/prefs.pl:140
+#: vhffs-panel/svn/create.pl:79 vhffs-panel/svn/delete.pl:72
+#: vhffs-panel/object/quickdelete.pl:62 vhffs-panel/object/resubmit.pl:62
+#: vhffs-panel/object/resubmit.pl:86 vhffs-panel/dns/prefs.pl:76
+#: vhffs-panel/dns/create.pl:50 vhffs-panel/dns/delete.pl:71
+#: vhffs-panel/group/prefs.pl:89 vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:128 vhffs-panel/group/prefs.pl:169
+#: vhffs-panel/mail/prefs.pl:184 vhffs-panel/mail/prefs.pl:211
+#: vhffs-panel/mail/prefs.pl:232 vhffs-panel/mail/prefs.pl:267
+#: vhffs-panel/mail/prefs.pl:283 vhffs-panel/mail/prefs.pl:299
+#: vhffs-panel/mail/prefs.pl:314 vhffs-panel/mail/create.pl:75
+#: vhffs-panel/mail/delete.pl:73 vhffs-panel/cvs/prefs.pl:67
+#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/create.pl:80
+#: vhffs-panel/cvs/delete.pl:73 vhffs-panel/git/prefs.pl:71
+#: vhffs-panel/git/create.pl:79 vhffs-panel/git/delete.pl:73
+#: vhffs-panel/acl/view.pl:85 vhffs-panel/web/prefs.pl:127
+#: vhffs-panel/web/create.pl:77
 #, perl-format
 msgid "CGI Error !"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:74
+#: vhffs-panel/repository/delete.pl:73
 #, perl-format
 msgid "CGI Error ! %s"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:169
+#: vhffs-panel/admin/tag/category/edit.pl:62
+#: vhffs-panel/admin/tag/create.pl:85 vhffs-panel/admin/tag/edit.pl:63
+msgid "CGI Error!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:90
+#: vhffs-panel/admin/tag/category/edit.pl:106 vhffs-panel/admin/tag/edit.pl:98
+#: vhffs-panel/group/prefs.pl:332 vhffs-panel/group/prefs.pl:365
+#: vhffs-panel/group/prefs.pl:399
+msgid "CGI error"
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:144
 msgid "CGI error !"
 msgstr ""
 
@@ -734,30 +698,19 @@
 msgid "CNAME Record updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:116
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:120
 msgid "CVS"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:188
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:188
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:208
 msgid "CVS Admin"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:42
-msgid "CVS Repositories for this group"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:41
-msgid "CVS Repository"
-msgstr ""
-
 #: vhffs-panel/admin/cvs/list.pl:76
 msgid "CVS Root"
 msgstr ""
 
-#: vhffs-panel/cvs/index.pl:60
+#: vhffs-panel/cvs/index.pl:61
 #, perl-format
 msgid "CVS repositories for %s"
 msgstr ""
@@ -766,11 +719,11 @@
 msgid "CVS repositories' administration"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:85 vhffs-panel/cvs/prefs.pl:98
+#: vhffs-panel/cvs/prefs.pl:85
 msgid "CVS repository updated"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:120
+#: vhffs-panel/admin/stats.pl:119
 msgid "CVS stats"
 msgstr ""
 
@@ -794,7 +747,11 @@
 msgid "Can't access"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:184
+#: vhffs-panel/cron/delete.pl:89
+msgid "Cannot apply changes"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:186
 msgid "Cannot apply changes to the user"
 msgstr ""
 
@@ -802,28 +759,27 @@
 msgid "Cannot apply modifications"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:103
+#: vhffs-panel/mailinglist/delete.pl:101
 msgid "Cannot commit changes on this object, will NOT be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:352
+#: vhffs-api/src/Vhffs/Panel/Main.pm:357
 msgid ""
 "Cannot create or fetch session file, please check that /tmp is readable and "
 "writeable"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:174
+#: vhffs-panel/subscribe.pl:176
 msgid "Cannot create user, the username you entered already exists"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:96
+#: vhffs-panel/admin/object/delete_avatar.pl:94
 msgid "Cannot delete this avatar"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit.pl:85
-#: vhffs-panel/admin/object/edit_submit.pl:82
-#: vhffs-panel/admin/object/delete_avatar.pl:86
+#: vhffs-panel/admin/object/delete_avatar.pl:84
+#: vhffs-panel/admin/object/edit_submit.pl:80
+#: vhffs-panel/admin/object/edit.pl:83
 msgid "Cannot fetch object"
 msgstr ""
 
@@ -831,7 +787,7 @@
 msgid "Cannot find object"
 msgstr ""
 
-#: vhffs-panel/history.pl:89
+#: vhffs-panel/history.pl:87
 msgid "Cannot get information on this object"
 msgstr ""
 
@@ -840,28 +796,28 @@
 msgid "Cannot get informations on object #%d"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:71 vhffs-panel/git/prefs.pl:75
-#: vhffs-panel/dns/prefs.pl:81 vhffs-panel/dns/delete.pl:83
-#: vhffs-panel/pgsql/prefs.pl:68 vhffs-panel/cvs/prefs.pl:70
-#: vhffs-panel/mysql/prefs.pl:75 vhffs-panel/svn/prefs.pl:71
-#: vhffs-panel/mailinglist/delete.pl:83 vhffs-panel/web/prefs.pl:74
-#: vhffs-panel/user/prefs.pl:73
+#: vhffs-panel/mysql/prefs.pl:76 vhffs-panel/pgsql/prefs.pl:68
+#: vhffs-panel/mailinglist/delete.pl:81 vhffs-panel/cron/prefs.pl:75
+#: vhffs-panel/repository/prefs.pl:70 vhffs-panel/user/prefs.pl:74
+#: vhffs-panel/svn/prefs.pl:72 vhffs-panel/dns/prefs.pl:81
+#: vhffs-panel/dns/delete.pl:75 vhffs-panel/cvs/prefs.pl:70
+#: vhffs-panel/git/prefs.pl:76 vhffs-panel/web/prefs.pl:71
 msgid "Cannot get informations on this object"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:74
+#: vhffs-panel/admin/stats.pl:73
 msgid "Cannot get statistics"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:78
+#: vhffs-panel/cvs/delete.pl:77
 msgid "Cannot retrieve informations about this CVS repository"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:78
+#: vhffs-panel/repository/delete.pl:77
 msgid "Cannot retrieve informations about this Download repository"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:78 vhffs-panel/svn/delete.pl:77
+#: vhffs-panel/svn/delete.pl:76 vhffs-panel/git/delete.pl:77
 msgid "Cannot retrieve informations about this repository"
 msgstr ""
 
@@ -869,115 +825,142 @@
 msgid "Cannot send message, CGI error..."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:105
+#: vhffs-panel/mail/prefs.pl:104
 msgid "Catchall address"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:199
+#: vhffs-panel/mail/prefs.pl:198
 msgid "Catchall address successfully changed"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:180
+#: vhffs-panel/mail/prefs.pl:179
 msgid "Catchall isn't enabled on this platform"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:108
+#: vhffs-panel/mail/prefs.pl:107
 msgid "Catchall mail"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:55
-msgid "Change Forward"
+#: vhffs-panel/admin/tag/create.pl:68
+msgid "Category"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:57
-msgid "Change Password"
+#: vhffs-panel/group/prefs.pl:404
+msgid "Category can't be empty"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:130
-msgid "Change catchall forward"
+#: vhffs-panel/admin/tag/category/list.pl:59
+msgid "Category deleted"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:80
-msgid "Change rights"
+#: vhffs-panel/admin/tag/create.pl:107
+msgid "Category does not exists"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:237
+#: vhffs-panel/admin/tag/request/details.pl:173
+msgid "Category not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:65
+msgid "Category not found!"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:129
+msgid "Change catchall forward"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:243
 msgid "Change spam protection status for your account\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:94 vhffs-panel/admin/su.pl:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:94
+#: vhffs-panel/admin/su.pl:72 vhffs-api/src/Vhffs/Panel/Admin.pm:94
 msgid "Change user-id"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:248
+#: vhffs-panel/user/prefs.pl:254
 msgid "Changed anti-virus status for your account\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:306 vhffs-panel/subscribe.pl:228
+#: vhffs-panel/user/prefs.pl:323 vhffs-panel/subscribe.pl:243
 msgid "City"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:126
+#: vhffs-panel/user/prefs.pl:128
 msgid "City is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:109
+#: vhffs-panel/mailinglist/prefs.pl:108
 msgid "Closed"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:238
+#: vhffs-panel/subscribe.pl:257
 msgid "Code confirmation"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:251
-msgid "Or listen to the code"
-msgstr ""
-
 #: vhffs-panel/subscribe.pl:107
 msgid "Codes do not match"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:310
+#: vhffs-panel/cron/prefs.pl:139
+msgid "Collided, something went wrong, recovering"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:327
 msgid "Confirm Password"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:241
 msgid "Confirmation code was wrong.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:240
+#: vhffs-panel/subscribe.pl:259
 msgid "Confirmation code, contact administrator team if you can't read it"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:237
+#: vhffs-panel/mail/prefs.pl:236
 msgid "Could not change box password"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:252
+#: vhffs-panel/mail/prefs.pl:251
 #, perl-format
 msgid "Could not update antivirus status for box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:244
 #, perl-format
 msgid "Could not update spam status for box %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:308 vhffs-panel/subscribe.pl:229
+#: vhffs-panel/user/prefs.pl:325 vhffs-panel/subscribe.pl:244
 msgid "Country"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:135
+#: vhffs-panel/user/prefs.pl:137
 msgid "Country is not correct !"
 msgstr ""
 
+#: vhffs-panel/admin/tag/category/create.pl:77
+#: vhffs-panel/admin/tag/create.pl:72
+msgid "Create"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:66
+msgid "Create Tag"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:66
+msgid "Create Tag Category"
+msgstr ""
+
 #: vhffs-panel/cvs/create.pl:100
 msgid "Create a CVS Repository"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:68
+#: vhffs-panel/cron/create.pl:104
+msgid "Create a Cron job"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:69
 msgid "Create a DNS"
 msgstr ""
 
@@ -993,7 +976,7 @@
 msgid "Create a PostgreSQL database"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:84
+#: vhffs-panel/group/create.pl:98
 msgid "Create a Project"
 msgstr ""
 
@@ -1005,7 +988,7 @@
 msgid "Create a git Repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:90
+#: vhffs-panel/mail/create.pl:91
 msgid "Create a mail space"
 msgstr ""
 
@@ -1017,54 +1000,79 @@
 msgid "Create a web space"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:152
+msgid "Create new category"
+msgstr ""
+
 #: vhffs-panel/group/index.pl:63
 msgid "Create new project"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:24 vhffs-api/src/Vhffs/Panel/Object.pm:126
-#: vhffs-panel/admin/object/edit.pl:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:126
-msgid "Created"
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
+msgid "Create new tag"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 #: vhffs-panel/admin/object/edit.pl:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:125
+msgid "Created"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:117
+#: vhffs-api/src/Vhffs/Panel/Object.pm:123
 msgid "Creating error"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:23
-msgid "Creation error"
+#: vhffs-panel/cron/prefs.pl:90
+msgid "Cron job Administration"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:247 vhffs-panel/user/prefs.pl:337
-msgid "Current avatar"
+#: vhffs-panel/cron/prefs.pl:189
+msgid "Cron job successfully updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:450
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:450
-msgid "Current group:"
+#: vhffs-panel/cron/index.pl:61
+#, perl-format
+msgid "Cron jobs for %s"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/list.pl:76 vhffs-panel/admin/mysql/list.pl:82
+#: vhffs-panel/admin/cron/index.pl:56
+msgid "Cron jobs' administration"
+msgstr ""
+
+#: vhffs-panel/admin/cron/list.pl:82
+msgid "Cron path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:77 vhffs-api/src/Vhffs/Panel/Menu.pm:127
+msgid "Crons"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:348
+msgid "Crons Admin"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:354 vhffs-panel/group/prefs.pl:260
+msgid "Current avatar"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/list.pl:82 vhffs-panel/admin/pgsql/list.pl:76
 msgid "DB Name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:293
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:313
 msgid "DNS Admin"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:227
+#: vhffs-panel/dns/prefs.pl:226
 #, perl-format
 msgid "DNS Administration - %s"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:74
+#: vhffs-panel/dns/create.pl:75
 msgid "DNS servers:"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:112
+#: vhffs-panel/admin/stats.pl:111
 msgid "DNS stats"
 msgstr ""
 
@@ -1072,45 +1080,30 @@
 msgid "DNS' administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:210 vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:240 vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:264 vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:287 vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:343 vhffs-api/src/Vhffs/Panel/DNS.pm:355
-#: vhffs-panel/ajax/help.pl:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:162
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:264
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:287
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:316
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:343
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:355
+#: vhffs-panel/ajax/help.pl:49 vhffs-api/src/Vhffs/Panel/DNS.pm:163
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:199 vhffs-api/src/Vhffs/Panel/DNS.pm:211
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:229 vhffs-api/src/Vhffs/Panel/DNS.pm:241
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:253 vhffs-api/src/Vhffs/Panel/DNS.pm:266
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:278 vhffs-api/src/Vhffs/Panel/DNS.pm:291
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:304 vhffs-api/src/Vhffs/Panel/DNS.pm:321
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:336 vhffs-api/src/Vhffs/Panel/DNS.pm:348
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:360
 msgid "Database error"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:85
+#: vhffs-panel/pgsql/delete.pl:84
 msgid "Database will NOT be deleted !"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:97
+#: vhffs-panel/pgsql/delete.pl:96
 msgid "Database will be DELETE"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/group/history.pl:77
+#: vhffs-panel/admin/broadcast_view.pl:84 vhffs-panel/group/history.pl:78
 msgid "Date"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:100 vhffs-panel/admin/object/edit.pl:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:100
+#: vhffs-panel/admin/object/edit.pl:94 vhffs-api/src/Vhffs/Panel/Object.pm:99
 msgid "Date of creation"
 msgstr ""
 
@@ -1118,93 +1111,83 @@
 msgid "Default"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:810 vhffs-panel/repository/prefs.pl:93
-#: vhffs-panel/mail/prefs.pl:140 vhffs-panel/git/prefs.pl:109
-#: vhffs-panel/dns/prefs.pl:256 vhffs-panel/dns/prefs.pl:313
-#: vhffs-panel/dns/prefs.pl:325 vhffs-panel/dns/prefs.pl:338
-#: vhffs-panel/dns/prefs.pl:350 vhffs-panel/dns/prefs.pl:366
-#: vhffs-panel/dns/prefs.pl:377 vhffs-panel/dns/prefs.pl:393
-#: vhffs-panel/pgsql/prefs.pl:103 vhffs-panel/cvs/prefs.pl:120
-#: vhffs-panel/group/index.pl:65 vhffs-panel/group/prefs.pl:217
-#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/svn/prefs.pl:101
-#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/web/prefs.pl:113
-#: vhffs-panel/user/prefs.pl:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:810
+#: vhffs-panel/mysql/prefs.pl:116 vhffs-panel/pgsql/prefs.pl:103
+#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/cron/prefs.pl:154
+#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/user/prefs.pl:347
+#: vhffs-panel/svn/prefs.pl:102 vhffs-panel/dns/prefs.pl:255
+#: vhffs-panel/dns/prefs.pl:315 vhffs-panel/dns/prefs.pl:327
+#: vhffs-panel/dns/prefs.pl:340 vhffs-panel/dns/prefs.pl:352
+#: vhffs-panel/dns/prefs.pl:368 vhffs-panel/dns/prefs.pl:379
+#: vhffs-panel/dns/prefs.pl:395 vhffs-panel/group/prefs.pl:230
+#: vhffs-panel/group/index.pl:65 vhffs-panel/mail/prefs.pl:139
+#: vhffs-panel/cvs/prefs.pl:107 vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/web/prefs.pl:110 vhffs-api/src/Vhffs/Panel/Main.pm:809
 msgid "Delete"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:325
+#: vhffs-panel/user/prefs.pl:342
 msgid "Delete YOUR user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:200
-#: vhffs-panel/admin/object/edit.pl:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:200
+#: vhffs-panel/admin/object/edit.pl:194
+#: vhffs-api/src/Vhffs/Panel/Object.pm:199
 msgid "Delete avatar for this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:81
-msgid "Delete from list"
-msgstr ""
-
 #: vhffs-panel/pgsql/prefs.pl:98
 msgid "Delete this PostgreSQL database"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:110
+#: vhffs-panel/cron/prefs.pl:149
+msgid "Delete this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:111
 msgid "Delete this database"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:251
+#: vhffs-panel/dns/prefs.pl:250
 msgid "Delete this domain name from the VHFFS platform"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:56
-msgid "Delete this forward"
-msgstr ""
-
 #: vhffs-panel/mailinglist/prefs.pl:178
 msgid "Delete this list"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:135
+#: vhffs-panel/mail/prefs.pl:134
 msgid "Delete this mail domain"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_list.pl:89
+#: vhffs-panel/admin/broadcast_list.pl:87
 msgid "Delete this mailing"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:88 vhffs-panel/cvs/prefs.pl:115
-#: vhffs-panel/group/prefs.pl:212
+#: vhffs-panel/repository/prefs.pl:87 vhffs-panel/group/prefs.pl:225
+#: vhffs-panel/cvs/prefs.pl:102
 msgid "Delete this project"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:104 vhffs-panel/svn/prefs.pl:96
+#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/git/prefs.pl:101
 msgid "Delete this repository"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:108
+#: vhffs-panel/web/prefs.pl:105
 msgid "Delete this web area"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:3 vhffs-intl/template_strings.pl:5
-#: vhffs-intl/template_strings.pl:40 vhffs-api/src/Vhffs/Panel/Object.pm:102
-#: vhffs-panel/repository/create.pl:98 vhffs-panel/git/create.pl:103
-#: vhffs-panel/dns/create.pl:79 vhffs-panel/pgsql/create.pl:110
-#: vhffs-panel/admin/object/edit.pl:98 vhffs-panel/admin/moderation.pl:88
-#: vhffs-panel/cvs/create.pl:108 vhffs-panel/group/create.pl:91
-#: vhffs-panel/mysql/create.pl:110 vhffs-panel/object/resubmit.pl:128
-#: vhffs-panel/svn/create.pl:102
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:102
+#: vhffs-panel/mysql/create.pl:110 vhffs-panel/pgsql/create.pl:111
+#: vhffs-panel/admin/object/edit.pl:96 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/tag/category/create.pl:69
+#: vhffs-panel/admin/tag/category/edit.pl:80
+#: vhffs-panel/admin/tag/create.pl:71 vhffs-panel/cron/create.pl:118
+#: vhffs-panel/repository/create.pl:98 vhffs-panel/svn/create.pl:102
+#: vhffs-panel/object/resubmit.pl:128 vhffs-panel/dns/create.pl:80
+#: vhffs-panel/group/create.pl:105 vhffs-panel/cvs/create.pl:108
+#: vhffs-panel/git/create.pl:103 vhffs-api/src/Vhffs/Panel/Object.pm:101
 msgid "Description"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:31
-msgid "Description contains"
-msgstr ""
-
-#: vhffs-panel/web/prefs.pl:99
+#: vhffs-panel/web/prefs.pl:96
 msgid "Description of your webarea"
 msgstr ""
 
@@ -1212,48 +1195,43 @@
 msgid "Destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:71
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:120
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:74 vhffs-api/src/Vhffs/Panel/Menu.pm:124
 msgid "Dl repos"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:91
+#: vhffs-panel/mail/create.pl:92
 msgid "Domain"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:43 vhffs-panel/dns/create.pl:70
-#: vhffs-panel/admin/mail/list.pl:75 vhffs-panel/admin/dns/list.pl:75
+#: vhffs-panel/admin/dns/list.pl:75 vhffs-panel/admin/mail/list.pl:75
+#: vhffs-panel/dns/create.pl:71
 msgid "Domain Name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:119
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:123
 msgid "Domain names"
 msgstr ""
 
-#: vhffs-panel/dns/index.pl:60
+#: vhffs-panel/dns/index.pl:61
 #, perl-format
 msgid "Domain names for %s"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:121 vhffs-panel/svn/prefs.pl:110
+#: vhffs-panel/svn/prefs.pl:111 vhffs-panel/git/prefs.pl:115
 #, perl-format
 msgid ""
 "Don't forget to subscribe %s to your mailing list if you are filtering posts"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:38
-msgid "Download Repository"
+#: vhffs-panel/subscribe.pl:271
+msgid "Don't subscribe to the newsletter"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:311
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:331
 msgid "Download repositories Admin"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:60
+#: vhffs-panel/repository/index.pl:61
 #, perl-format
 msgid "Download repositories for %s"
 msgstr ""
@@ -1266,53 +1244,50 @@
 msgid "Edit"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit.pl:91
+#: vhffs-panel/admin/object/edit.pl:89
 msgid "Edit Object"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:98
+#: vhffs-panel/admin/object/list.pl:96
 msgid "Edit this object"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:183
+#: vhffs-panel/user/prefs.pl:189
 msgid "Email address changed"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:129
+#: vhffs-panel/user/prefs.pl:131
 msgid "Email is not correct !"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:58
-msgid "Enable anti-spam"
+#: vhffs-panel/cron/create.pl:112
+msgid "Email to which report will be sent if something went wrong"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:61
-msgid "Enable anti-virus"
-msgstr ""
-
-#: vhffs-panel/mail/prefs.pl:107
+#: vhffs-panel/mail/prefs.pl:106
 msgid "Enter a mail address to catch all email for this domain"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:53 vhffs-panel/mail/index.pl:53
-#: vhffs-panel/git/index.pl:54 vhffs-panel/dns/index.pl:53
-#: vhffs-panel/pgsql/index.pl:53 vhffs-panel/cvs/index.pl:53
-#: vhffs-panel/mysql/index.pl:53 vhffs-panel/svn/index.pl:53
-#: vhffs-panel/mailinglist/index.pl:53 vhffs-panel/web/index.pl:53
+#: vhffs-panel/mysql/index.pl:54 vhffs-panel/pgsql/index.pl:54
+#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/cron/index.pl:54
+#: vhffs-panel/repository/index.pl:54 vhffs-panel/svn/index.pl:54
+#: vhffs-panel/dns/index.pl:54 vhffs-panel/mail/index.pl:54
+#: vhffs-panel/cvs/index.pl:54 vhffs-panel/git/index.pl:55
+#: vhffs-panel/web/index.pl:54
 msgid "Error"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_submit.pl:96
+#: vhffs-panel/admin/broadcast_submit.pl:92
 msgid "Error !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:212
+#: vhffs-panel/user/prefs.pl:218
 msgid ""
 "Error ! You MUST provide a password in your account when you create your "
 "popable account"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:74
+#: vhffs-panel/group/create.pl:78
 msgid "Error creating group (maybe a group with the same name already exists)"
 msgstr ""
 
@@ -1320,11 +1295,11 @@
 msgid "Error creating webarea."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:239
+#: vhffs-panel/user/prefs.pl:245
 msgid "Error for spam protection\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:250
+#: vhffs-panel/user/prefs.pl:256
 msgid "Error for virus protection\n"
 msgstr ""
 
@@ -1332,20 +1307,19 @@
 msgid "Error when uploading avatar for this object"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:96
+#: vhffs-panel/dns/delete.pl:88
 msgid "Error while switching state. DNS will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:67 vhffs-panel/group/history.pl:65
+#: vhffs-panel/group/history.pl:66 vhffs-panel/group/prefs.pl:71
 msgid "Error. This group doesn't exists"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:80
+#: vhffs-panel/group/history.pl:81
 msgid "Event"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:360
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:360
+#: vhffs-api/src/Vhffs/Panel/Main.pm:365
 msgid "Expired session ! Please login again"
 msgstr ""
 
@@ -1353,85 +1327,59 @@
 msgid "Filetype not supported, only png is supported"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:74
-msgid "Fill with project's members emails"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:8 vhffs-intl/template_strings.pl:23
-#: vhffs-panel/user/prefs.pl:303 vhffs-panel/subscribe.pl:225
+#: vhffs-panel/user/prefs.pl:320 vhffs-panel/subscribe.pl:240
 msgid "Firstname"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:120
+#: vhffs-panel/user/prefs.pl:122
 msgid "Firstname is not correct !"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:115
-msgid "Fix permissions in this repository"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:117
-msgid "Fix them !"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:116
-msgid ""
-"Fixing permissions on a repository solve permission access on the "
-"repository. Can be helpful if you encounter problems"
-msgstr ""
-
-#: vhffs-panel/mail/prefs.pl:319
+#: vhffs-panel/mail/prefs.pl:318
 #, perl-format
 msgid "Forward %s deleted"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:304
+#: vhffs-panel/mail/prefs.pl:303
 #, perl-format
 msgid "Forward %s successfully updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:288 vhffs-panel/group/prefs.pl:191
-#: vhffs-panel/user/prefs.pl:268
+#: vhffs-panel/user/prefs.pl:274 vhffs-panel/group/prefs.pl:196
+#: vhffs-panel/mail/prefs.pl:287
 msgid "Forward added"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:188
+#: vhffs-panel/group/prefs.pl:193
 msgid "Forward deleted"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:414
+#: vhffs-panel/user/prefs.pl:431
 #, perl-format
 msgid "Forward emails from %s@%s to %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:125
+#: vhffs-panel/mail/prefs.pl:124
 msgid "Forward mail"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:277
+#: vhffs-panel/user/prefs.pl:283
 msgid "Forward updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:120
+#: vhffs-panel/mail/prefs.pl:119
 msgid "Forwards"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:560
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:560
+#: vhffs-api/src/Vhffs/Panel/Main.pm:547
 msgid "Full history"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:118
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:122
 msgid "GIT"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:44
-msgid "GIT Repositories for this group"
-msgstr ""
-
-#: vhffs-panel/git/index.pl:61
+#: vhffs-panel/git/index.pl:62
 #, perl-format
 msgid "GIT repositories for %s"
 msgstr ""
@@ -1444,30 +1392,22 @@
 msgid "GIT root"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:133
+#: vhffs-panel/admin/stats.pl:132
 msgid "GIT stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:110 vhffs-api/src/Vhffs/Panel/Main.pm:559
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:114 vhffs-api/src/Vhffs/Panel/Main.pm:546
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:79
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:559
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:110
 msgid "General"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:91 vhffs-api/src/Vhffs/Panel/Admin.pm:76
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:95 vhffs-api/src/Vhffs/Panel/Admin.pm:76
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:76
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:91
 msgid "Get Statistics"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:206
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:226
 msgid "Git Admin"
 msgstr ""
 
@@ -1475,17 +1415,15 @@
 msgid "Give me a new password"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:808
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:808
+#: vhffs-api/src/Vhffs/Panel/Main.pm:807
 msgid "Go to administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:85
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:88
 msgid "Go to public area"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:302
+#: vhffs-panel/mailinglist/prefs.pl:304
 #, perl-format
 msgid ""
 "Greetings,\n"
@@ -1495,36 +1433,33 @@
 "You may get some help on listengine by sending an email to %s-request@%s "
 "with subject help.\n"
 "\n"
-"Cheers."
+"Cheers.\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:36 vhffs-panel/admin/repository/list.pl:76
-#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/git/list.pl:73
-#: vhffs-panel/admin/dns/list.pl:76 vhffs-panel/admin/pgsql/list.pl:77
-#: vhffs-panel/admin/cvs/list.pl:77 vhffs-panel/admin/mysql/list.pl:83
-#: vhffs-panel/admin/svn/list.pl:71 vhffs-panel/admin/mailinglist/list.pl:80
-#: vhffs-panel/admin/web/list.pl:71 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/mysql/list.pl:83 vhffs-panel/admin/pgsql/list.pl:77
+#: vhffs-panel/admin/mailinglist/list.pl:80 vhffs-panel/admin/cron/list.pl:83
+#: vhffs-panel/admin/repository/list.pl:76 vhffs-panel/admin/svn/list.pl:71
+#: vhffs-panel/admin/moderation.pl:86 vhffs-panel/admin/dns/list.pl:76
+#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/cvs/list.pl:77
+#: vhffs-panel/admin/git/list.pl:73 vhffs-panel/admin/web/list.pl:71
 msgid "Group"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:546
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:546
+#: vhffs-api/src/Vhffs/Panel/Main.pm:533
 #, perl-format
 msgid "Group %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:135
 msgid "Group Admin"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:66
-msgid "Group Quota"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:530
+msgid "Group error"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:543
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:543
-msgid "Group error"
+#: vhffs-public/group.pl:62
+msgid "Group not found"
 msgstr ""
 
 #: vhffs-panel/acl/view.pl:87
@@ -1535,7 +1470,7 @@
 msgid "Group owning this CVS"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:75
+#: vhffs-panel/dns/create.pl:76
 msgid "Group owning this DNS"
 msgstr ""
 
@@ -1543,7 +1478,11 @@
 msgid "Group owning this Subversion repository"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:103 vhffs-panel/mysql/create.pl:103
+#: vhffs-panel/cron/create.pl:106
+msgid "Group owning this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:103 vhffs-panel/pgsql/create.pl:103
 msgid "Group owning this database"
 msgstr ""
 
@@ -1551,7 +1490,7 @@
 msgid "Group owning this git repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:93
+#: vhffs-panel/mail/create.pl:94
 msgid "Group owning this mail domain"
 msgstr ""
 
@@ -1567,32 +1506,29 @@
 msgid "Group owning this web space"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:97
+#: vhffs-panel/group/prefs.pl:102
 msgid "Group updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:293
+#: vhffs-panel/group/prefs.pl:303
 msgid "Group updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:1 vhffs-intl/template_strings.pl:4
-#: vhffs-intl/template_strings.pl:30 vhffs-intl/template_strings.pl:39
 #: vhffs-panel/admin/group/list.pl:80
 msgid "Groupname"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:66
+#: vhffs-panel/group/create.pl:68
 msgid ""
 "Groupname must contain between 3 and 12 characters, only letters or numbers "
 "in lower case"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:48 vhffs-api/src/Vhffs/Panel/Menu.pm:112
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:112
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:116
 msgid "Groups"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:99
+#: vhffs-panel/admin/stats.pl:98
 msgid "Groups stats"
 msgstr ""
 
@@ -1600,11 +1536,7 @@
 msgid "Groups' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:26
-msgid "Groups/Projects"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:181
+#: vhffs-panel/user/prefs.pl:187
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1617,8 +1549,7 @@
 "VHFFS administrators\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:499
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:499
+#: vhffs-api/src/Vhffs/Object.pm:514
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1639,11 +1570,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:322
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:322
+#: vhffs-api/src/Vhffs/User.pm:333
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1664,12 +1594,29 @@
 "%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:404
+#: vhffs-api/src/Vhffs/Object.pm:408
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
 "\n"
+"Your request for a %s (%s) on %s was accepted, however, moderators wanted to "
+"add some precision:\n"
+"%s.\n"
+"Please wait while we are creating your object.\n"
+"\n"
+"Cheers,\n"
+"The moderator team\n"
+"\n"
+"---------\n"
+"%s\n"
+"%s\n"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Object.pm:420
+#, perl-format
+msgid ""
+"Hello %s %s,\n"
+"\n"
 "Your request for a %s (%s) on %s was accepted.\n"
 "Please wait while we are creating your object.\n"
 "\n"
@@ -1678,11 +1625,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:453
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:453
+#: vhffs-api/src/Vhffs/Object.pm:468
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1702,32 +1648,25 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:502
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:502
+#: vhffs-api/src/Vhffs/Panel/Main.pm:490
 #, perl-format
 msgid "Hello %s, welcome in VHFFS !"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:46
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:46
 msgid "Hello and welcome on listengine help\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:437 vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-api/src/Vhffs/Panel/Main.pm:663 vhffs-api/src/Vhffs/Panel/Main.pm:818
-#: vhffs-panel/group/prefs.pl:233 vhffs-panel/user/prefs.pl:417
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:437
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:663
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:818
+#: vhffs-panel/user/prefs.pl:434 vhffs-panel/group/prefs.pl:246
+#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:553
+#: vhffs-api/src/Vhffs/Panel/Main.pm:659 vhffs-api/src/Vhffs/Panel/Main.pm:818
 msgid "Help"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:52
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:52
 msgid "Here are the basic listengine commands:\n"
 msgstr ""
 
@@ -1736,152 +1675,159 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:422
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:422
 #, perl-format
 msgid ""
 "His email address is:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:811 vhffs-panel/admin/object/list.pl:92
-#: vhffs-panel/admin/object/list.pl:99 vhffs-panel/history.pl:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:811
+#: vhffs-panel/admin/object/list.pl:90 vhffs-panel/admin/object/list.pl:97
+#: vhffs-panel/history.pl:96 vhffs-api/src/Vhffs/Panel/Main.pm:810
 msgid "History"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:203
-#: vhffs-panel/admin/object/edit.pl:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:203
+#: vhffs-panel/admin/object/edit.pl:196
+#: vhffs-api/src/Vhffs/Panel/Object.pm:202
 msgid "History of this object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:434
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:434
+#: vhffs-api/src/Vhffs/Panel/Main.pm:424
 msgid "Home page"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:15
-msgid "Homepage of public area"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:295 vhffs-panel/dns/prefs.pl:380
-#: vhffs-panel/dns/prefs.pl:396
+#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:398
 msgid "Host"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:288
 msgid "Host of your name server"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:165
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:165
 msgid "However this list require approval for new subscribers.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:120
 #, perl-format
 msgid "However you are (%s) already subscribed to this list.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:69
 msgid "I've lost my password"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:263
+#: vhffs-panel/dns/prefs.pl:262
 msgid "IP"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:505
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:505
+#: vhffs-api/src/Vhffs/Panel/Main.pm:493
 msgid ""
 "If you are new to VHFFS, you should start to read quickly the whole help "
 "available by clicking on the help button in the upper right of your screen"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:88
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:88
 msgid ""
 "If you don't asked to be subscribed to this mailing list,\n"
 "just forget this email\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:106
 msgid ""
 "If you haven't asked to be unsubscribed from this list,\n"
 "please don't answer to this mail\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:203
+#: vhffs-panel/group/prefs.pl:216
 msgid ""
 "If you want more disk space for your project, you must fill a form in the "
 "bug report section, in the menu. Don't forget to mention the name of the "
 "group."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:239
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:197
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:239
+#: vhffs-panel/admin/tag/request/details.pl:146
+msgid "If you want to create a new category, you have to create a new tag too"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:110
+#, perl-format
+msgid ""
+"In minutes, at which interval this cron should be started, the minimum "
+"interval is set to %d minutes"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:109
+msgid "Interval"
+msgstr ""
+
+#: vhffs-panel/cron/prefs.pl:95
+msgid "Interval between runs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:198 vhffs-api/src/Vhffs/Panel/DNS.pm:210
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:240
 msgid "Invalid IP address"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:227
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:228
 msgid "Invalid IP v6 address"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:297
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:301
 msgid "Invalid alias"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:86 vhffs-panel/mysql/create.pl:86
+#: vhffs-panel/admin/tag/create.pl:90 vhffs-panel/admin/tag/edit.pl:111
+msgid "Invalid category"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:88
 msgid ""
+"Invalid cronpath, it must contain only letters, numbers, underscore, dash, "
+"dot or slash. A valid cronpath will be something like /home/group/script.sh)"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:86 vhffs-panel/pgsql/create.pl:86
+msgid ""
 "Invalid database name, it must contain only numbers, lowercase letters and "
 "underscore (the latter isn't allowed in first or last position) and be "
 "between 3 and 32 characters."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:286
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:286
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:290
 msgid "Invalid destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:311 vhffs-api/src/Vhffs/Panel/DNS.pm:327
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:327
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:315 vhffs-api/src/Vhffs/Panel/DNS.pm:332
 msgid "Invalid destination domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:298
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:302
 msgid "Invalid destination host"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:76 vhffs-panel/dns/create.pl:51
+#: vhffs-panel/dns/create.pl:52 vhffs-panel/mail/create.pl:77
 msgid "Invalid domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:263
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:265
 msgid "Invalid host"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:249 vhffs-api/src/Vhffs/Panel/DNS.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:249
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:273
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:276
 msgid "Invalid hostname"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:90
+msgid "Invalid interval, it must be a positive integer"
+msgstr ""
+
 #: vhffs-panel/mailinglist/create.pl:85
 msgid "Invalid local part"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:188
+#: vhffs-panel/git/prefs.pl:163
 msgid "Invalid mailing list address"
 msgstr ""
 
@@ -1893,53 +1839,38 @@
 msgid "Invalid password. It must contain at least 3 characters"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:312 vhffs-api/src/Vhffs/Panel/DNS.pm:328
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:312
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:328
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:333
 msgid "Invalid port"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:194 vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:341
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:341
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:254 vhffs-api/src/Vhffs/Panel/DNS.pm:279
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:345
 msgid "Invalid prefix"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:329
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:250
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:329
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:251 vhffs-api/src/Vhffs/Panel/DNS.pm:317
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:334
 msgid "Invalid priority"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:309
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:313
 msgid "Invalid protocol syntax"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:120 vhffs-panel/group/prefs.pl:274
+#: vhffs-panel/repository/prefs.pl:119 vhffs-panel/group/prefs.pl:289
 msgid "Invalid quota"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:159 vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:237 vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:284 vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:159
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:284
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:352
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:160 vhffs-api/src/Vhffs/Panel/DNS.pm:208
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:319
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:330 vhffs-api/src/Vhffs/Panel/DNS.pm:357
 msgid "Invalid record"
 msgstr ""
 
-#: vhffs-panel/git/create.pl:81 vhffs-panel/cvs/create.pl:82
-#: vhffs-panel/svn/create.pl:81
+#: vhffs-panel/svn/create.pl:81 vhffs-panel/cvs/create.pl:82
+#: vhffs-panel/git/create.pl:81
 msgid ""
 "Invalid reponame. It must contain between 3 and 64 characters, only "
 "lowercase letters and numbers"
@@ -1949,152 +1880,140 @@
 msgid "Invalid servername (doesn't conform to domain names rules)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:310
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:310
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:314
 msgid "Invalid service syntax"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:115
+#: vhffs-panel/subscribe.pl:117
 msgid ""
 "Invalid username, it must contain between 3 and 12 alphanumeric characters, "
 "all in lowercase"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:314 vhffs-api/src/Vhffs/Panel/DNS.pm:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:330
+#: vhffs-panel/admin/tag/category/edit.pl:119
+msgid "Invalid visibility"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:318 vhffs-api/src/Vhffs/Panel/DNS.pm:335
 msgid "Invalid weight"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:111
+#: vhffs-panel/cvs/prefs.pl:98
 msgid "Is this CVS repository public ??"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:100 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/svn/prefs.pl:93 vhffs-panel/git/prefs.pl:97
 msgid "Is this a public repository ?"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:311
-msgid "Language"
+#: vhffs-panel/admin/tag/category/create.pl:68
+#: vhffs-panel/admin/tag/category/edit.pl:79
+#: vhffs-panel/admin/tag/create.pl:70
+msgid "Label"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:17 vhffs-intl/template_strings.pl:27
-msgid "Last Groups"
+#: vhffs-panel/user/prefs.pl:328
+msgid "Language"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:16
-msgid "Last Users"
-msgstr ""
-
-#: vhffs-public/lastgroups.pl:58
+#: vhffs-public/index.pl:48 vhffs-public/lastgroups.pl:58
 #, perl-format
 msgid "Last groups on %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:20
-msgid "Last users"
+#: vhffs-panel/cron/prefs.pl:114
+msgid "Last run date was"
 msgstr ""
 
-#: vhffs-public/lastusers.pl:60
-#, perl-format
-msgid "Last users on %s"
+#: vhffs-panel/cron/prefs.pl:119
+msgid "Last run return code was"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:9 vhffs-intl/template_strings.pl:24
-#: vhffs-panel/user/prefs.pl:304 vhffs-panel/subscribe.pl:226
+#: vhffs-panel/user/prefs.pl:321 vhffs-panel/subscribe.pl:241
 msgid "Lastname"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:123
+#: vhffs-panel/user/prefs.pl:125
 msgid "Lastname is not correct !"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:236
+#: vhffs-panel/dns/prefs.pl:235
 msgid "List all A reccords"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:237
+#: vhffs-panel/dns/prefs.pl:236
 msgid "List all AAAA reccords"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:185
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:205
 msgid "List all CVS repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:203
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:203
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
 msgid "List all Git repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:220
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:220
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
 msgid "List all MySQL databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:237
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
 msgid "List all Pg databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:167
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:187
 msgid "List all SVN repos"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:303
+#: vhffs-panel/dns/prefs.pl:305
 msgid "List all TXT records"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:112
+#: vhffs-panel/mail/prefs.pl:111
 msgid "List all accounts"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:290
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:290
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:345
+msgid "List all cron jobs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:310
 msgid "List all domain names"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:308
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:308
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:328
 msgid "List all download repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:121
+#: vhffs-panel/mail/prefs.pl:120
 msgid "List all forwardings for this domain"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:132
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:132
 msgid "List all groups"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:254
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:254
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:274
 msgid "List all mail domains"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:272
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:272
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:292
 msgid "List all mailing lists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:147
+#: vhffs-panel/mailinglist/prefs.pl:146
 msgid "List all members"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:96
 msgid "List all objects"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:115
 msgid "List all users"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:150
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
 msgid "List all webareas"
 msgstr ""
 
@@ -2102,6 +2021,10 @@
 msgid "List of all CVS repositories"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:79
+msgid "List of all Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:72
 msgid "List of all Download repositories"
 msgstr ""
@@ -2134,7 +2057,7 @@
 msgid "List of all users"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:18 vhffs-panel/admin/web/list.pl:67
+#: vhffs-panel/admin/web/list.pl:67
 msgid "List of all websites"
 msgstr ""
 
@@ -2142,23 +2065,23 @@
 msgid "List updated"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:95
+#: vhffs-panel/mailinglist/delete.pl:93
 msgid "List will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:166
+#: vhffs-panel/admin/stats.pl:165
 msgid "Listengine stats"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:124
+#: vhffs-panel/mail/prefs.pl:123
 msgid "Local Part"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:115
+#: vhffs-panel/mail/prefs.pl:114
 msgid "Local Part for this account"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:75 vhffs-panel/lost_ack.pl:83
+#: vhffs-panel/lost_ack.pl:78 vhffs-panel/lost_ack.pl:86
 msgid "Login"
 msgstr ""
 
@@ -2166,22 +2089,15 @@
 msgid "Login failed !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:245
+#: vhffs-panel/group/prefs.pl:258
 msgid "Logo"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:439
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:439
+#: vhffs-api/src/Vhffs/Panel/Main.pm:429
 msgid "Logout"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:53 vhffs-intl/template_strings.pl:69
-msgid "MB"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:73
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:122
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:76 vhffs-api/src/Vhffs/Panel/Menu.pm:126
 msgid "ML"
 msgstr ""
 
@@ -2197,34 +2113,27 @@
 msgid "MX Record updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:121
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:75 vhffs-api/src/Vhffs/Panel/Menu.pm:125
 msgid "Mail"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:101
+#: vhffs-panel/mail/prefs.pl:100
 msgid "Mail Administration for domain "
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:44
-msgid "Mail Domain"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:282
+#: vhffs-panel/user/prefs.pl:288
 msgid "Mail deleted"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:80
+#: vhffs-panel/mail/create.pl:81
 msgid "Mail domain successfully created !"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:257
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:277
 msgid "Mail domains Admin"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:60
+#: vhffs-panel/mail/index.pl:61
 #, perl-format
 msgid "Mail domains for %s"
 msgstr ""
@@ -2237,52 +2146,53 @@
 msgid "Mail for the list"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:139
+#: vhffs-panel/cron/prefs.pl:99
+msgid "Mail reports to"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:138
 msgid "Mail stats"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:111
+msgid "Mail to"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:98
 msgid "Mail to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:371
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:371
 #, perl-format
 msgid "Mail with id %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:180
+#: vhffs-panel/user/prefs.pl:186
 msgid "Mailbox modified"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:223
+#: vhffs-panel/user/prefs.pl:229
 msgid "Mailbox successfully added"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:45 vhffs-panel/admin/mailinglist/list.pl:79
+#: vhffs-panel/admin/mailinglist/list.pl:79
 msgid "Mailing List"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:45
-msgid "Mailing Lists for this group"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:81
+#: vhffs-panel/mailinglist/prefs.pl:80
 #, perl-format
 msgid "Mailing list %s@%s not found"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:157
+#: vhffs-panel/svn/prefs.pl:158
 msgid "Mailing list address is invalid"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:275
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:295
 msgid "Mailing lists Admin"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:60
+#: vhffs-panel/mailinglist/index.pl:61
 #, perl-format
 msgid "Mailing lists for %s"
 msgstr ""
@@ -2291,36 +2201,51 @@
 msgid "Mailing lists' administration"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_submit.pl:92
+#: vhffs-panel/admin/broadcast_submit.pl:88
 msgid "Mailing successfully added"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_delete.pl:92
+#: vhffs-panel/admin/broadcast_delete.pl:88
 msgid "Mailing successfully deleted"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
+msgid "Manage existing categories"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
+msgid "Manage existing tags"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:99
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:99
 msgid "Manage mailings"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:146
+#: vhffs-panel/mailinglist/prefs.pl:145
 msgid "Manage members"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:152
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:154
+msgid "Manage requests"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:157
 msgid "Many users matched your query. Please choose between them"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:114
+#: vhffs-panel/admin/stats.pl:183
+msgid "Max tags for a group"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:113
 msgid "Members only"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:115
+#: vhffs-panel/mailinglist/prefs.pl:114
 msgid "Members only and moderated"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:80
+#: vhffs-panel/admin/broadcast.pl:78
 msgid "Message"
 msgstr ""
 
@@ -2333,42 +2258,35 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:336 vhffs-api/src/Vhffs/Listengine.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:336
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:353
 #, perl-format
 msgid "Message with id: %s"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:112
+#: vhffs-panel/mailinglist/prefs.pl:111
 msgid "Moderated for everyone"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:92 vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:95 vhffs-panel/admin/moderation.pl:74
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:92
+#: vhffs-panel/admin/moderation.pl:73 vhffs-api/src/Vhffs/Panel/Menu.pm:96
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:77 vhffs-api/src/Vhffs/Panel/Admin.pm:95
 msgid "Moderation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:85
-msgid "Moderator"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:419
+msgid "Moderator account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:429
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:429
-msgid "Moderator account"
+#: vhffs-panel/admin/tag/category/create.pl:74
+#: vhffs-panel/admin/tag/category/edit.pl:85
+msgid "Moderators"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:30 vhffs-api/src/Vhffs/Panel/Object.pm:131
-#: vhffs-panel/admin/object/edit.pl:126
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:131
+#: vhffs-panel/admin/object/edit.pl:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:130
 msgid "Modification applied"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:29 vhffs-api/src/Vhffs/Panel/Object.pm:130
-#: vhffs-panel/admin/object/edit.pl:125
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:130
+#: vhffs-panel/admin/object/edit.pl:123
+#: vhffs-api/src/Vhffs/Panel/Object.pm:129
 msgid "Modification error"
 msgstr ""
 
@@ -2376,58 +2294,46 @@
 msgid "Modifications applied successfully"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:152 vhffs-panel/git/prefs.pl:197
-#: vhffs-panel/svn/prefs.pl:163
+#: vhffs-panel/svn/prefs.pl:164 vhffs-panel/git/prefs.pl:172
 msgid ""
 "Modifications applied. Please wait while your repository is being updated"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:103 vhffs-panel/dns/prefs.pl:315
-#: vhffs-panel/dns/prefs.pl:327 vhffs-panel/dns/prefs.pl:340
-#: vhffs-panel/dns/prefs.pl:351 vhffs-panel/dns/prefs.pl:378
-#: vhffs-panel/dns/prefs.pl:394 vhffs-panel/pgsql/prefs.pl:97
-#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/mail/list.pl:84
-#: vhffs-panel/admin/git/list.pl:81 vhffs-panel/admin/dns/list.pl:84
-#: vhffs-panel/admin/pgsql/list.pl:85 vhffs-panel/admin/cvs/list.pl:84
-#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mysql/list.pl:92
-#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/mailinglist/list.pl:88
-#: vhffs-panel/admin/user/list.pl:79 vhffs-panel/cvs/prefs.pl:114
-#: vhffs-panel/group/prefs.pl:211 vhffs-panel/group/prefs.pl:229
-#: vhffs-panel/acl/view.pl:105 vhffs-panel/mysql/prefs.pl:109
-#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/web/prefs.pl:101
-#: vhffs-panel/user/prefs.pl:314
+#: vhffs-panel/mysql/prefs.pl:110 vhffs-panel/pgsql/prefs.pl:97
+#: vhffs-panel/admin/mysql/list.pl:92 vhffs-panel/admin/pgsql/list.pl:85
+#: vhffs-panel/admin/mailinglist/list.pl:88 vhffs-panel/admin/cron/list.pl:92
+#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/user/list.pl:79
+#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/dns/list.pl:84
+#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mail/list.pl:84
+#: vhffs-panel/admin/cvs/list.pl:84 vhffs-panel/admin/git/list.pl:81
+#: vhffs-panel/cron/prefs.pl:148 vhffs-panel/user/prefs.pl:331
+#: vhffs-panel/svn/prefs.pl:96 vhffs-panel/dns/prefs.pl:317
+#: vhffs-panel/dns/prefs.pl:329 vhffs-panel/dns/prefs.pl:342
+#: vhffs-panel/dns/prefs.pl:353 vhffs-panel/dns/prefs.pl:380
+#: vhffs-panel/dns/prefs.pl:396 vhffs-panel/group/prefs.pl:224
+#: vhffs-panel/group/prefs.pl:242 vhffs-panel/cvs/prefs.pl:101
+#: vhffs-panel/git/prefs.pl:100 vhffs-panel/acl/view.pl:105
+#: vhffs-panel/web/prefs.pl:98
 msgid "Modify"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:260
-msgid "Must we redirect the DNS on our servers ?"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:436 vhffs-panel/group/index.pl:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:436
+#: vhffs-panel/group/index.pl:54 vhffs-api/src/Vhffs/Panel/Main.pm:426
 msgid "My Projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:65 vhffs-api/src/Vhffs/Panel/Menu.pm:114
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:114
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:118
 msgid "MySQL"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:223
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:243
 msgid "MySQL Admin"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:93
+#: vhffs-panel/mysql/prefs.pl:94
 msgid "MySQL Administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:39
-msgid "MySQL DB"
-msgstr ""
-
-#: vhffs-panel/mysql/index.pl:60
+#: vhffs-panel/mysql/index.pl:61
 #, perl-format
 msgid "MySQL DBs for %s"
 msgstr ""
@@ -2444,7 +2350,7 @@
 msgid "MySQL password for this database "
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:151
+#: vhffs-panel/admin/stats.pl:150
 msgid "MySQL stats"
 msgstr ""
 
@@ -2460,77 +2366,82 @@
 msgid "NS TYPE"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/group/history.pl:79
+#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:80
 msgid "Name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:264
+#: vhffs-panel/dns/prefs.pl:263
 msgid "Name for reccord"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:307
+#: vhffs-panel/dns/prefs.pl:309
 msgid "Name for record"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:84 vhffs-panel/mysql/prefs.pl:95
+#: vhffs-panel/mysql/prefs.pl:96 vhffs-panel/pgsql/prefs.pl:84
 msgid "Name of the database"
 msgstr ""
 
+#: vhffs-panel/dns/prefs.pl:270 vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:294
+msgid "Name of the record"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:271
 msgid "Name of your MX"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:812
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:812
-msgid "New"
+#: vhffs-panel/cron/prefs.pl:112 vhffs-panel/cron/prefs.pl:118
+msgid "Never"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:52 vhffs-intl/template_strings.pl:68
-msgid "New Quota"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:811
+msgid "New"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:271
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:271
 #, perl-format
 msgid "New language is: %s\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:60 vhffs-intl/template_strings.pl:63
-#: vhffs-panel/git/prefs.pl:102 vhffs-panel/dns/prefs.pl:262
-#: vhffs-panel/cvs/prefs.pl:113 vhffs-panel/svn/prefs.pl:94
+#: vhffs-panel/cron/prefs.pl:128
+msgid "Next run is scheduled at"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/dns/prefs.pl:261
+#: vhffs-panel/cvs/prefs.pl:100 vhffs-panel/git/prefs.pl:99
 msgid "No"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:319
+#: vhffs-panel/dns/prefs.pl:321
 msgid "No A type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:331
+#: vhffs-panel/dns/prefs.pl:333
 msgid "No AAAA type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:358
+#: vhffs-panel/dns/prefs.pl:360
 msgid "No CNAME available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:345
+#: vhffs-panel/dns/prefs.pl:347
 msgid "No MX reccord for this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:371
+#: vhffs-panel/dns/prefs.pl:373
 msgid "No NS available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:387
+#: vhffs-panel/dns/prefs.pl:389
 msgid "No SRV available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:400
+#: vhffs-panel/dns/prefs.pl:402
 msgid "No TXT available on this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:345
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:345
+#: vhffs-api/src/Vhffs/Panel/Main.pm:350
 msgid "No cookie found, please accept the cookie and then please login again !"
 msgstr ""
 
@@ -2538,79 +2449,53 @@
 msgid "No enough rights"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:83
+#: vhffs-panel/group/history.pl:84
 msgid "No event about this group"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:208
-#: vhffs-panel/admin/object/edit.pl:204 vhffs-panel/history.pl:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:208
+#: vhffs-panel/admin/object/edit.pl:202 vhffs-panel/history.pl:104
+#: vhffs-api/src/Vhffs/Panel/Object.pm:207
 msgid "No event about this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:49
-msgid "No group"
-msgstr ""
-
-#: vhffs-public/groupsearch.pl:74
+#: vhffs-public/groupsearch.pl:78
 msgid "No group found"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:770
+#: vhffs-listengine/src/listengine.pl:773
 msgid "No message to moderate"
 msgstr ""
 
-#: vhffs-public/group.pl:79
-msgid "No such group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:13
-msgid "No user"
-msgstr ""
-
-#: vhffs-panel/group/prefs.pl:255
+#: vhffs-panel/group/prefs.pl:268
 msgid "No user for this group"
 msgstr ""
 
-#: vhffs-public/usersearch.pl:75
+#: vhffs-public/usersearch.pl:61
 msgid "No user found"
 msgstr ""
 
-#: vhffs-public/websitesearch.pl:74
-msgid "No website found"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:47
-msgid "No websites"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:255 vhffs-panel/web/prefs.pl:112
-#: vhffs-panel/user/prefs.pl:329
+#: vhffs-panel/user/prefs.pl:346 vhffs-panel/dns/prefs.pl:254
+#: vhffs-panel/web/prefs.pl:109
 msgid "No, I'm not sure, I prefer to keep it."
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/mail/prefs.pl:139
-#: vhffs-panel/git/prefs.pl:108 vhffs-panel/pgsql/prefs.pl:102
-#: vhffs-panel/cvs/prefs.pl:119 vhffs-panel/group/prefs.pl:216
-#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/svn/prefs.pl:100
-#: vhffs-panel/mailinglist/prefs.pl:182
+#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/pgsql/prefs.pl:102
+#: vhffs-panel/mailinglist/prefs.pl:182 vhffs-panel/cron/prefs.pl:153
+#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/svn/prefs.pl:101
+#: vhffs-panel/group/prefs.pl:229 vhffs-panel/mail/prefs.pl:138
+#: vhffs-panel/cvs/prefs.pl:106 vhffs-panel/git/prefs.pl:105
 msgid "No, I'm not sure, I prefer to keep this project."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:813
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:813
+#: vhffs-api/src/Vhffs/Panel/Main.pm:812
 msgid "None"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:84
-msgid "Normal"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:120 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/svn/prefs.pl:110 vhffs-panel/git/prefs.pl:114
 msgid "Notify changes on mailing-list :"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:88
+#: vhffs-panel/admin/object/list.pl:86
 msgid "Object ID"
 msgstr ""
 
@@ -2618,8 +2503,7 @@
 msgid "Object deletion"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:98 vhffs-panel/admin/object/edit.pl:94
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:98
+#: vhffs-panel/admin/object/edit.pl:92 vhffs-api/src/Vhffs/Panel/Object.pm:97
 msgid "Object id"
 msgstr ""
 
@@ -2627,7 +2511,7 @@
 msgid "Object name"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit_submit.pl:95
+#: vhffs-panel/admin/object/edit_submit.pl:93
 msgid "Object successfully updated"
 msgstr ""
 
@@ -2639,59 +2523,59 @@
 msgid "Object-ID error"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:145 vhffs-panel/git/prefs.pl:114
-#: vhffs-panel/dns/prefs.pl:247 vhffs-panel/svn/prefs.pl:106
-#: vhffs-panel/web/prefs.pl:105
+#: vhffs-panel/mysql/prefs.pl:108 vhffs-panel/cron/prefs.pl:146
+#: vhffs-panel/svn/prefs.pl:107 vhffs-panel/dns/prefs.pl:246
+#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:111
+#: vhffs-panel/web/prefs.pl:102
 msgid "Ok, go to ACL admin"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:81
+#: vhffs-panel/admin/broadcast.pl:79
 msgid "Ok, send it !"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:114 vhffs-panel/group/prefs.pl:279
+#: vhffs-panel/repository/prefs.pl:113 vhffs-panel/group/prefs.pl:294
 msgid "Only administrators are allowed to do this"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:463
+#: vhffs-panel/user/prefs.pl:488
 msgid "Only administrators can do this"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:58
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:58
 msgid "Only this list administrators can use the following commands.\n"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:111
+#: vhffs-panel/mailinglist/prefs.pl:110
 msgid "Open for everyone"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:113
+#: vhffs-panel/mailinglist/prefs.pl:112
 msgid "Open for members, moderated for non-members"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:108
+#: vhffs-panel/mailinglist/prefs.pl:107
 msgid "Open, approval required"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:107
+#: vhffs-panel/mailinglist/prefs.pl:106
 msgid "Open, no approval required"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:71 vhffs-panel/git/prefs.pl:119
-#: vhffs-panel/svn/prefs.pl:108 vhffs-panel/mailinglist/prefs.pl:105
+#: vhffs-panel/mailinglist/prefs.pl:104 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/git/prefs.pl:113
 msgid "Options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:6 vhffs-intl/template_strings.pl:11
-msgid "Owned by"
+#: vhffs-panel/subscribe.pl:260
+msgid "Or listen to the code"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:88
+#: vhffs-panel/group/create.pl:102
 msgid "Owner"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:90
+#: vhffs-panel/admin/object/list.pl:88
 msgid "Owner group"
 msgstr ""
 
@@ -2699,61 +2583,56 @@
 msgid "Owner name"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/object/list.pl:87
 msgid "Owner user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:67 vhffs-panel/mail/prefs.pl:116
-#: vhffs-panel/user/prefs.pl:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:67
+#: vhffs-panel/user/prefs.pl:326 vhffs-panel/mail/prefs.pl:115
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:67
 msgid "Password"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:135 vhffs-panel/mysql/prefs.pl:146
+#: vhffs-panel/mysql/prefs.pl:147 vhffs-panel/pgsql/prefs.pl:135
 msgid "Password change request taken in account, please wait for processing"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:168
+#: vhffs-panel/user/prefs.pl:170
 msgid "Password changed"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:90 vhffs-panel/mysql/prefs.pl:101
+#: vhffs-panel/mysql/prefs.pl:102 vhffs-panel/pgsql/prefs.pl:90
 msgid "Password for this database"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:82
+#: vhffs-panel/lost_ack.pl:85
 msgid "Password recovery failed!"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:141
+#: vhffs-panel/user/prefs.pl:143
 msgid "Passwords don't match"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:66 vhffs-api/src/Vhffs/Panel/Menu.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:115
-msgid "PgSQL"
+#: vhffs-panel/cron/prefs.pl:92 vhffs-panel/cron/create.pl:107
+msgid "Path"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:40
-msgid "PgSQL DB"
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:119
+msgid "PgSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:158
+#: vhffs-panel/admin/stats.pl:157
 msgid "PgSQL stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:324
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:324
+#: vhffs-api/src/Vhffs/Panel/Main.pm:326
 msgid "Platform temporary closed."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:313
+#: vhffs-api/src/Vhffs/Panel/Main.pm:315
 msgid "Platform temporary closed<br/>database error"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:92 vhffs-panel/object/resubmit.pl:131
+#: vhffs-panel/object/resubmit.pl:131 vhffs-panel/group/create.pl:106
 #: vhffs-panel/web/create.pl:104
 msgid ""
 "Please consider that this description is going to be displayed in the public "
@@ -2762,64 +2641,63 @@
 "it with the best content you are able to do."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:159
+#: vhffs-panel/subscribe.pl:161
 msgid "Please enter a correct city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:163
+#: vhffs-panel/subscribe.pl:165
 msgid "Please enter a correct country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:151
+#: vhffs-panel/subscribe.pl:153
 msgid "Please enter a correct firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:155
+#: vhffs-panel/subscribe.pl:157
 msgid "Please enter a correct lastname"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:64
 msgid "Please enter your username and password"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:222
+#: vhffs-panel/subscribe.pl:237
 msgid ""
 "Please fill in all fields, a mail containing your password will be sent to "
 "you"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:299
 msgid "Please read help of listengine\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:196
 msgid "Please try again !\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:242
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:242
 msgid "Please try again.\n"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:74
+#: vhffs-panel/lost_ack.pl:77
 #, perl-format
 msgid "Please wait %s, a new password will be sent to you in a few minutes..."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:189
+#: vhffs-panel/subscribe.pl:191
 msgid ""
 "Please wait while we are creating the account, it will take some minutes"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:296 vhffs-panel/dns/prefs.pl:381
+#: vhffs-panel/admin/stats.pl:185
+msgid "Popular tags"
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
 msgid "Port"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:240
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:260
 msgid "PostgreSQL Admin"
 msgstr ""
 
@@ -2827,7 +2705,7 @@
 msgid "PostgreSQL Administration"
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:60
+#: vhffs-panel/pgsql/index.pl:61
 #, perl-format
 msgid "PostgreSQL DBs for %s"
 msgstr ""
@@ -2844,26 +2722,23 @@
 msgid "PostgreSQL password for this database "
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:110
+#: vhffs-panel/mailinglist/prefs.pl:109
 msgid "Posting control:"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:558
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:558
+#: vhffs-api/src/Vhffs/Panel/Main.pm:545
 msgid "Preferences"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
 msgid "Prefix already exists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:138
+#: vhffs-panel/mailinglist/prefs.pl:137
 msgid "Prefix on subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:299 vhffs-panel/dns/prefs.pl:384
 msgid "Priority"
 msgstr ""
 
@@ -2871,87 +2746,85 @@
 msgid "Priority of your MX"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:341
+#: vhffs-panel/dns/prefs.pl:343
 msgid "Priority: "
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:207
+#: vhffs-panel/group/prefs.pl:220
 msgid "Project Description"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:75
+#: vhffs-panel/group/history.pl:76
 msgid "Project History"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:85
+#: vhffs-panel/group/create.pl:99
 msgid "Project Name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:205
+#: vhffs-panel/group/prefs.pl:218
 msgid "Project Owner"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:201
+#: vhffs-panel/group/prefs.pl:214
 msgid "Project Preferences"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:76
+#: vhffs-panel/group/create.pl:89
 msgid "Project Successfully created !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:226
+#: vhffs-panel/group/prefs.pl:239
 msgid "Project contact"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:209 vhffs-panel/group/create.pl:87
+#: vhffs-panel/group/prefs.pl:222 vhffs-panel/group/create.pl:101
 msgid "Project full name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:451
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:451
-msgid "Project home"
-msgstr ""
-
 #: vhffs-panel/group/index.pl:62
 msgid "Projects you contribute to"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:809 vhffs-panel/group/index.pl:64
-#: vhffs-panel/object/resubmit.pl:108
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:809
+#: vhffs-panel/object/resubmit.pl:108 vhffs-panel/group/index.pl:64
+#: vhffs-api/src/Vhffs/Panel/Main.pm:808
 msgid "Propose a new description"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:293
+#: vhffs-panel/dns/prefs.pl:295
 msgid "Protocol"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:99 vhffs-panel/svn/prefs.pl:91
+#: vhffs-panel/admin/tag/category/create.pl:73
+#: vhffs-panel/admin/tag/category/edit.pl:84 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/git/prefs.pl:96
 msgid "Public"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:136
+#: vhffs-panel/admin/tag/category/create.pl:72
+#: vhffs-panel/admin/tag/category/edit.pl:83
+msgid "Public (available on group creation)"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:135
 msgid "Public archives"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:70
+#: vhffs-api/src/Vhffs/Panel/Main.pm:71
 msgid "Public area is not available on this platform."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:69
+#: vhffs-api/src/Vhffs/Panel/Main.pm:70
 msgid "Public area not available"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:550 vhffs-panel/repository/prefs.pl:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:550
+#: vhffs-panel/repository/prefs.pl:84 vhffs-api/src/Vhffs/Panel/Main.pm:537
 #, perl-format
 msgid "Quota (used/total) : %s/%s"
 msgstr ""
 
-#: vhffs-public/extern/newgroupsrss.pl:103
 #: vhffs-public/extern/newusersrss.pl:102
+#: vhffs-public/extern/newgroupsrss.pl:103
 msgid "RSS infos are not published"
 msgstr ""
 
@@ -2963,60 +2836,64 @@
 msgid "Reason of refusal"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:239
+#: vhffs-panel/user/prefs.pl:467
+msgid "Receive mails from the newsletter"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:258
 msgid "Recopy the code"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:161 vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:285 vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:161
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:353
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:209
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:239 vhffs-api/src/Vhffs/Panel/DNS.pm:264
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:289 vhffs-api/src/Vhffs/Panel/DNS.pm:331
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:358
 msgid "Record does not exists"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:160
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:160
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:161
 msgid "Record type doesn't exists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:90 vhffs-panel/admin/moderation.pl:117
+#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
 msgid "Refuse"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:254
+#: vhffs-panel/group/prefs.pl:267
 msgid "Remove"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:137
+#: vhffs-panel/mailinglist/prefs.pl:136
 msgid "Reply to: on list"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:92 vhffs-panel/git/create.pl:96
-#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/cvs/create.pl:102
-#: vhffs-panel/svn/create.pl:96
+#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/repository/create.pl:92
+#: vhffs-panel/svn/create.pl:96 vhffs-panel/cvs/create.pl:102
+#: vhffs-panel/git/create.pl:96
 msgid "Repository Name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:50
-msgid "Repository Quota"
+#: vhffs-panel/repository/prefs.pl:128
+msgid "Repository updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:133
-msgid "Repository updated, please wait while quota is updated on filesystem"
+#: vhffs-panel/group/prefs.pl:444
+msgid "Request canceled"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:433
+msgid "Request not found"
+msgstr ""
+
 #: vhffs-panel/mailinglist/prefs.pl:263
 #, perl-format
 msgid "Rights for subscriber %s updated"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:137
+msgid "Running"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:198
 msgid "SRV Record added"
 msgstr ""
@@ -3029,26 +2906,19 @@
 msgid "SRV Record updated"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:290
+#: vhffs-panel/dns/prefs.pl:291
 msgid "SRV TYPE"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:117
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:121
 msgid "SVN"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:170
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:190
 msgid "SVN Admin"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:42
-msgid "SVN Repository"
-msgstr ""
-
-#: vhffs-panel/svn/index.pl:60
+#: vhffs-panel/svn/index.pl:61
 #, perl-format
 msgid "SVN repositories for %s"
 msgstr ""
@@ -3061,117 +2931,91 @@
 msgid "SVN root"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:127
+#: vhffs-panel/admin/stats.pl:126
 msgid "SVN stats"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:141
+#: vhffs-panel/mailinglist/prefs.pl:140
 msgid "Save options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:25 vhffs-intl/template_strings.pl:32
-#: vhffs-intl/template_strings.pl:38
-msgid "Search"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:29
-msgid "Search a group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:35
-msgid "Search a website"
-msgstr ""
-
-#: vhffs-panel/admin/object/search.pl:77
+#: vhffs-panel/admin/object/search.pl:75
 msgid "Search an object (give object_id)"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:21
-msgid "Search an user"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:186 vhffs-panel/admin/cvs/search.pl:78
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:186
+#: vhffs-panel/admin/cvs/search.pl:76 vhffs-api/src/Vhffs/Panel/Admin.pm:206
 msgid "Search for a CVS repository"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:78
+#: vhffs-panel/admin/repository/search.pl:76
 msgid "Search for a Download repository"
 msgstr ""
 
-#: vhffs-panel/admin/git/search.pl:80
+#: vhffs-panel/admin/git/search.pl:78
 msgid "Search for a GIT repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:204
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:204
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:224
 msgid "Search for a Git repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:221
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:221
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:241
 msgid "Search for a MySQL database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:238
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:258
 msgid "Search for a Pg database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:168 vhffs-panel/admin/svn/search.pl:80
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:168
+#: vhffs-panel/admin/svn/search.pl:78 vhffs-api/src/Vhffs/Panel/Admin.pm:188
 msgid "Search for a SVN repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/search.pl:79 vhffs-panel/admin/mysql/search.pl:79
+#: vhffs-panel/admin/cron/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:346
+msgid "Search for a cron job"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/search.pl:77 vhffs-panel/admin/pgsql/search.pl:77
 msgid "Search for a database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:291 vhffs-panel/admin/dns/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:291
+#: vhffs-panel/admin/dns/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:311
 msgid "Search for a domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:309
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:329
 msgid "Search for a download repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:133 vhffs-panel/admin/group/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:133
+#: vhffs-panel/admin/group/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:133
 msgid "Search for a group"
 msgstr ""
 
-#: vhffs-panel/admin/mailinglist/search.pl:78
+#: vhffs-panel/admin/mailinglist/search.pl:76
 msgid "Search for a list"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:255 vhffs-panel/admin/mail/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:255
+#: vhffs-panel/admin/mail/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:275
 msgid "Search for a mail domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:273
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
 msgid "Search for a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/web/search.pl:79
+#: vhffs-panel/admin/web/search.pl:77
 msgid "Search for a web area"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:151
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:171
 msgid "Search for a webarea"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:97
 msgid "Search for an object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:116 vhffs-panel/admin/user/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:116
+#: vhffs-panel/admin/user/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:116
 msgid "Search for an user"
 msgstr ""
 
@@ -3179,12 +3023,12 @@
 msgid "Search result"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:81
+#: vhffs-panel/admin/object/list.pl:79
 msgid "Search result "
 msgstr ""
 
-#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/mailinglist/list.pl:72
-#: vhffs-panel/admin/web/list.pl:63 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mailinglist/list.pl:72 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/web/list.pl:63
 msgid "Search result for"
 msgstr ""
 
@@ -3192,6 +3036,10 @@
 msgid "Search result for CVS repository"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:75
+msgid "Search result for Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:68
 msgid "Search result for Download repository"
 msgstr ""
@@ -3200,7 +3048,7 @@
 msgid "Search result for Subversion repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/list.pl:69 vhffs-panel/admin/mysql/list.pl:75
+#: vhffs-panel/admin/mysql/list.pl:75 vhffs-panel/admin/pgsql/list.pl:69
 msgid "Search result for database"
 msgstr ""
 
@@ -3212,32 +3060,36 @@
 msgid "Search result for git repository"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:189
-msgid "Selected mailbox doesn't exist for this mail domain"
+#: vhffs-public/groupsearch.pl:87
+msgid "Search results"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:103 vhffs-panel/repository/create.pl:97
-#: vhffs-panel/mail/create.pl:96 vhffs-panel/git/create.pl:102
-#: vhffs-panel/dns/create.pl:78 vhffs-panel/pgsql/create.pl:109
-#: vhffs-panel/admin/object/edit.pl:99 vhffs-panel/admin/broadcast_view.pl:101
-#: vhffs-panel/admin/broadcast_list.pl:100 vhffs-panel/cvs/create.pl:107
-#: vhffs-panel/group/create.pl:90 vhffs-panel/mysql/create.pl:109
-#: vhffs-panel/svn/create.pl:101 vhffs-panel/mailinglist/create.pl:112
-#: vhffs-panel/web/create.pl:102 vhffs-panel/alert.pl:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:103
+#: vhffs-panel/mail/prefs.pl:188
+msgid ""
+"Selected mailbox doesn't exist for this mail domain or is not yet active."
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:109 vhffs-panel/pgsql/create.pl:110
+#: vhffs-panel/admin/broadcast_list.pl:98
+#: vhffs-panel/admin/broadcast_view.pl:99 vhffs-panel/admin/object/edit.pl:97
+#: vhffs-panel/mailinglist/create.pl:112 vhffs-panel/cron/create.pl:117
+#: vhffs-panel/repository/create.pl:97 vhffs-panel/svn/create.pl:101
+#: vhffs-panel/alert.pl:60 vhffs-panel/dns/create.pl:79
+#: vhffs-panel/group/create.pl:104 vhffs-panel/mail/create.pl:97
+#: vhffs-panel/cvs/create.pl:107 vhffs-panel/git/create.pl:102
+#: vhffs-panel/web/create.pl:102 vhffs-api/src/Vhffs/Panel/Object.pm:102
 msgid "Send"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:77
+#: vhffs-panel/admin/broadcast.pl:75
 msgid "Send an email to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:300
 msgid "Send an email with the subject \"help\" to the following address: \n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:336 vhffs-panel/user/prefs.pl:338
+#: vhffs-panel/user/prefs.pl:353 vhffs-panel/user/prefs.pl:355
 msgid "Send my avatar"
 msgstr ""
 
@@ -3245,52 +3097,53 @@
 msgid "Servername"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:294
+#: vhffs-panel/dns/prefs.pl:296
 msgid "Service"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:313
+#: vhffs-panel/user/prefs.pl:330
 msgid "Shell"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/mail/list.pl:86
-#: vhffs-panel/admin/git/list.pl:83 vhffs-panel/admin/dns/list.pl:86
-#: vhffs-panel/admin/pgsql/list.pl:87 vhffs-panel/admin/cvs/list.pl:86
-#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mysql/list.pl:94
-#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/mailinglist/list.pl:90
-#: vhffs-panel/admin/web/list.pl:82 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/mysql/list.pl:94 vhffs-panel/admin/pgsql/list.pl:87
+#: vhffs-panel/admin/mailinglist/list.pl:90 vhffs-panel/admin/cron/list.pl:94
+#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/dns/list.pl:86
+#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mail/list.pl:86
+#: vhffs-panel/admin/cvs/list.pl:86 vhffs-panel/admin/git/list.pl:83
+#: vhffs-panel/admin/web/list.pl:82
 msgid "Show"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:73
-msgid "Signature"
+#: vhffs-panel/cron/prefs.pl:135
+msgid "Sleeping"
 msgstr ""
 
 #: vhffs-panel/acl/view.pl:92
 msgid "Sorry, can't add or update ACL"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:247
+#: vhffs-panel/mail/prefs.pl:246
 msgid "Spam status updated"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/mail/list.pl:77
-#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/dns/list.pl:77
-#: vhffs-panel/admin/pgsql/list.pl:78 vhffs-panel/admin/cvs/list.pl:78
-#: vhffs-panel/admin/group/list.pl:82 vhffs-panel/admin/mysql/list.pl:84
-#: vhffs-panel/admin/object/list.pl:91 vhffs-panel/admin/svn/list.pl:72
-#: vhffs-panel/admin/mailinglist/list.pl:81 vhffs-panel/admin/web/list.pl:72
-#: vhffs-panel/admin/user/list.pl:72 vhffs-panel/admin/broadcast_view.pl:88
+#: vhffs-panel/admin/mysql/list.pl:84 vhffs-panel/admin/pgsql/list.pl:78
+#: vhffs-panel/admin/mailinglist/list.pl:81
+#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/admin/cron/list.pl:84
+#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/user/list.pl:72
+#: vhffs-panel/admin/svn/list.pl:72 vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/dns/list.pl:77 vhffs-panel/admin/group/list.pl:82
+#: vhffs-panel/admin/mail/list.pl:77 vhffs-panel/admin/cvs/list.pl:78
+#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/web/list.pl:72
+#: vhffs-panel/cron/prefs.pl:131
 msgid "State"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:101 vhffs-panel/admin/object/edit.pl:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:101
+#: vhffs-panel/admin/object/edit.pl:95 vhffs-api/src/Vhffs/Panel/Object.pm:100
 msgid "Status"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:664
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:664
+#: vhffs-api/src/Vhffs/Panel/Main.pm:660
 msgid "Stay over an icon to see its description."
 msgstr ""
 
@@ -3302,32 +3155,30 @@
 msgid "Subdomain name"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:87 vhffs-panel/admin/broadcast.pl:79
+#: vhffs-panel/admin/broadcast_view.pl:85 vhffs-panel/admin/broadcast.pl:77
 #: vhffs-panel/alert.pl:58
 msgid "Subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:273 vhffs-panel/dns/prefs.pl:279
-#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/object/resubmit.pl:134
+#: vhffs-panel/object/resubmit.pl:134 vhffs-panel/dns/prefs.pl:273
+#: vhffs-panel/dns/prefs.pl:279 vhffs-panel/dns/prefs.pl:302
 msgid "Submit"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:438
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:438
+#: vhffs-api/src/Vhffs/Panel/Main.pm:428
 msgid "Submit a bug"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:70 vhffs-panel/subscribe.pl:231
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:70
+#: vhffs-panel/subscribe.pl:246 vhffs-api/src/Vhffs/Panel/Commons.pm:72
 msgid "Subscribe"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:106
+#: vhffs-panel/mailinglist/prefs.pl:105
 msgid "Subscribe control:"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:77
-msgid "Subscribed"
+#: vhffs-panel/subscribe.pl:266 vhffs-panel/subscribe.pl:268
+msgid "Subscribe to the newsletter"
 msgstr ""
 
 #: vhffs-panel/mailinglist/prefs.pl:242
@@ -3335,12 +3186,11 @@
 msgid "Subscriber %s deleted"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:221
+#: vhffs-panel/subscribe.pl:236
 msgid "Subscription"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:135
 #, perl-format
 msgid ""
 "Subscription to the following list is forbidden:\n"
@@ -3349,39 +3199,105 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:43
-msgid "Subversion Repositories for this group"
-msgstr ""
-
 #: vhffs-panel/object/upavatar.pl:126
 msgid "Successfully created or updated avatar"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:26 vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-api/src/Vhffs/Panel/Object.pm:128
-#: vhffs-panel/admin/object/edit.pl:122 vhffs-panel/admin/object/edit.pl:123
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:128
+#: vhffs-panel/admin/object/edit.pl:121
+#: vhffs-api/src/Vhffs/Panel/Object.pm:127
 msgid "Suspended"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:27
-msgid "Suspended before deletion"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:203
+#: vhffs-panel/dns/prefs.pl:202
 msgid "TXT Record added"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:214
+#: vhffs-panel/dns/prefs.pl:213
 msgid "TXT Record deleted"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:209
+#: vhffs-panel/dns/prefs.pl:208
 msgid "TXT Record updated"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:97
+#: vhffs-panel/group/prefs.pl:350
+msgid "Tag added"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/list.pl:69
+msgid "Tag categories"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:57
+msgid "Tag category successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:69
+msgid "Tag category successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:59 vhffs-panel/group/prefs.pl:383
+msgid "Tag deleted"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:409
+msgid "Tag name can't be empty"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:180 vhffs-panel/group/prefs.pl:339
+#: vhffs-panel/group/prefs.pl:372
+msgid "Tag not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:66
+msgid "Tag not found!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:83
+msgid "Tag request accepted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:93
+msgid "Tag request deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:101
+msgid "Tag request details"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:75
+msgid "Tag request not found"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:418
+msgid "Tag request saved, please wait while a moderator approve it"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:57
+msgid "Tag successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:70
+msgid "Tag successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:69
+msgid "Tags"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:156
+msgid "Tags Admin"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:174
+msgid "Tags stats"
+msgstr ""
+
+#: vhffs-panel/admin/tag/index.pl:56
+msgid "Tags' administration"
+msgstr ""
+
+#: vhffs-panel/mail/create.pl:98
 msgid "Tell us for what purpose you want to create this mail domain"
 msgstr ""
 
@@ -3393,13 +3309,11 @@
 msgid "Tell us what the use of this web space will be"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:306
+#: vhffs-panel/dns/prefs.pl:308
 msgid "Text"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:342 vhffs-api/src/Vhffs/Panel/DNS.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:342
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:354
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:346 vhffs-api/src/Vhffs/Panel/DNS.pm:359
 msgid "Text can't be empty"
 msgstr ""
 
@@ -3407,7 +3321,11 @@
 msgid "The CVS object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:57
+#: vhffs-panel/cron/create.pl:94
+msgid "The Cron job was successfully created !"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:58
 msgid "The DNS object was successfully created !"
 msgstr ""
 
@@ -3427,60 +3345,56 @@
 msgid "The SVN object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:339
+#: vhffs-panel/user/prefs.pl:356
 msgid ""
 "The avatar is a pictures that describes you. You can upload an PNG image and "
 "use it as avatar. This image will then appear in the public section."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:246
+#: vhffs-panel/group/prefs.pl:259
 msgid "The avatar is an image to describe the group"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:195
 msgid "The confirmation code was wrong\n"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:102 vhffs-panel/mysql/create.pl:102
+#: vhffs-panel/mysql/create.pl:102 vhffs-panel/pgsql/create.pl:102
 #, perl-format
 msgid ""
 "The database name is prefixed by your groupname followed by an underscore (%"
 "s_dbname). The database user is the database full name (%s_dbname)."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:181
+#: vhffs-panel/cron/prefs.pl:180 vhffs-panel/cron/create.pl:92
+#: vhffs-panel/group/prefs.pl:186
 msgid "The email you entered fails syntax check"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:90 vhffs-panel/group/create.pl:72
+#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/create.pl:74
 msgid "The first letter of groupname and full name must be the same"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:389
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:389
 #, perl-format
 msgid ""
 "The following address %s is not allowed to execute commands on the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:210
 #, perl-format
 msgid ""
 "The following address %s is not on the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:518
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:518
+#: vhffs-api/src/Vhffs/Panel/Main.pm:506
 msgid ""
 "The following projects have reached or are going to reach the disk quota "
 "limit, please take a look !"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:270
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:270
 #, perl-format
 msgid ""
 "The listengine language preference was changed for the following address %"
@@ -3492,17 +3406,15 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:320
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:320
 msgid "The message does not exists or was moderated before you.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:317
 #, perl-format
 msgid "The message with the following id %s"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:95 vhffs-panel/object/resubmit.pl:98
+#: vhffs-panel/object/resubmit.pl:94 vhffs-panel/object/resubmit.pl:98
 msgid "The new description has been submitted"
 msgstr ""
 
@@ -3511,7 +3423,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:122
 msgid ""
 "The state of you subscription was not changed, you are still subscribed\n"
 msgstr ""
@@ -3520,11 +3431,11 @@
 msgid "The webarea was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:312
+#: vhffs-panel/user/prefs.pl:329
 msgid "Theme"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:261
+#: vhffs-panel/user/prefs.pl:267
 msgid ""
 "There is a problem with the address you filled in your profile, unable to "
 "add forwarding"
@@ -3536,105 +3447,156 @@
 "domain before creating a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:79
+#: vhffs-panel/admin/moderation.pl:78
 msgid "There is nothing to moderate"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:412
+#: vhffs-panel/user/prefs.pl:429
 msgid "There is two possible usages :"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:86
+#: vhffs-panel/cvs/delete.pl:85
 msgid "This CVS repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:97
+#: vhffs-panel/cvs/delete.pl:96
 msgid "This CVS will be deleted"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:73
+#: vhffs-panel/pgsql/delete.pl:72
 msgid "This DB doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:86
+#: vhffs-panel/repository/delete.pl:85
 msgid "This Download repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:99
+#: vhffs-panel/repository/delete.pl:98
 msgid "This Download repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:89 vhffs-panel/mail/prefs.pl:136
-#: vhffs-panel/git/prefs.pl:105 vhffs-panel/dns/prefs.pl:252
-#: vhffs-panel/pgsql/prefs.pl:99 vhffs-panel/cvs/prefs.pl:116
-#: vhffs-panel/group/prefs.pl:213 vhffs-panel/mysql/prefs.pl:111
-#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/mailinglist/prefs.pl:179
-#: vhffs-panel/web/prefs.pl:109
+#: vhffs-panel/group/prefs.pl:226
 msgid ""
 "This action is non-reversible. All services associated to this project will "
 "be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:326
-msgid "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#: vhffs-panel/cron/prefs.pl:150
+msgid "This action is non-reversible. This Cron job will be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:214
+#: vhffs-panel/mysql/prefs.pl:112
+msgid "This action is non-reversible. This MySQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/pgsql/prefs.pl:99
 msgid ""
+"This action is non-reversible. This PostgreSQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/cvs/prefs.pl:103
+msgid "This action is non-reversible. This cvs repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:251
+msgid "This action is non-reversible. This domain name will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/repository/prefs.pl:88
+msgid ""
+"This action is non-reversible. This download repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:102
+msgid "This action is non-reversible. This git repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:135
+msgid "This action is non-reversible. This mail area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:179
+msgid "This action is non-reversible. This mailing list will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:98
+msgid ""
+"This action is non-reversible. This subversion repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/web/prefs.pl:106
+msgid "This action is non-reversible. This web area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:343
+msgid "This action is non-reversible. Your user will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:213
+msgid ""
 "This box already exists for this domain or parameters are not valid. Check "
 "your domain."
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:93
+#: vhffs-panel/cron/delete.pl:70
+msgid "This cron job doesn't exist in VHFFS database"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:82
+msgid "This cron job will NOT be deleted"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:93
+msgid "This cron job will be deleted"
+msgstr ""
+
+#: vhffs-panel/pgsql/delete.pl:92
 msgid "This database cannot be deleted"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:71
+#: vhffs-panel/mysql/delete.pl:70
 msgid "This database doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:83
+#: vhffs-panel/mysql/delete.pl:82
 msgid "This database will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:105
+#: vhffs-panel/dns/delete.pl:97
 msgid "This domain will NOT be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:100
+#: vhffs-panel/dns/delete.pl:92
 msgid "This domain will be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:90
+#: vhffs-panel/git/delete.pl:89
 msgid "This git repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:85
+#: vhffs-panel/group/delete.pl:84
 msgid "This group will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:315
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:315
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:320
 msgid "This host is already registered for this service"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:103
+#: vhffs-panel/mail/delete.pl:101
 msgid "This mail domain WILL BE DELETED"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:91
+#: vhffs-panel/mail/delete.pl:89
 msgid "This mail domain will NOT be DELETED"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:104
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:104
 #, perl-format
 msgid ""
 "This mail must contains the following subject : \"confirm unsubscribe %s\"\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:86
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:86
 #, perl-format
 msgid ""
 "This mail must have the following subject : \"confirm subscribe %s\"\n"
@@ -3642,7 +3604,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:405
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:405
 #, perl-format
 msgid ""
 "This mail was sent by %s with the following subject:\n"
@@ -3650,37 +3611,37 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:68 vhffs-panel/object/quickdelete.pl:68
+#: vhffs-panel/object/quickdelete.pl:67 vhffs-panel/object/resubmit.pl:67
 msgid "This object does not exist"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:105
+#: vhffs-panel/admin/object/delete_avatar.pl:103
 msgid "This object does not have an avatar"
 msgstr ""
 
-#: vhffs-panel/object/quickdelete.pl:86 vhffs-panel/object/quickdelete.pl:89
+#: vhffs-panel/object/quickdelete.pl:85 vhffs-panel/object/quickdelete.pl:89
 msgid "This object has been deleted"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:68
+#: vhffs-panel/group/history.pl:69
 msgid "This object is not functional yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:83 vhffs-panel/git/delete.pl:86
-#: vhffs-panel/group/delete.pl:72 vhffs-panel/mailinglist/delete.pl:87
-#: vhffs-panel/web/prefs.pl:80
+#: vhffs-panel/mailinglist/delete.pl:85 vhffs-panel/group/delete.pl:71
+#: vhffs-panel/mail/delete.pl:81 vhffs-panel/git/delete.pl:85
+#: vhffs-panel/web/prefs.pl:77
 msgid "This object is not functionnal yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:72 vhffs-panel/object/quickdelete.pl:72
+#: vhffs-panel/object/quickdelete.pl:71 vhffs-panel/object/resubmit.pl:71
 msgid "This object is not in refused state"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:96
+#: vhffs-panel/web/delete.pl:94
 msgid "This object will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:76 vhffs-panel/web/delete.pl:101
+#: vhffs-panel/group/delete.pl:75 vhffs-panel/web/delete.pl:99
 msgid "This object will NOT be DELETED"
 msgstr ""
 
@@ -3688,60 +3649,56 @@
 msgid "This platform does not provide avatar support"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:74
+#: vhffs-panel/admin/object/delete_avatar.pl:72
 msgid "This platform does not support avatar"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:314
+#: vhffs-api/src/Vhffs/Panel/Main.pm:316
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks or system has database errors. Please come back in a few "
 "minutes to log in."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:325
+#: vhffs-api/src/Vhffs/Panel/Main.pm:327
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks. Please come back in a few minutes to log in."
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:103 vhffs-panel/svn/delete.pl:98
+#: vhffs-panel/svn/delete.pl:97 vhffs-panel/git/delete.pl:102
 msgid "This repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/svn/delete.pl:85
+#: vhffs-panel/svn/delete.pl:84
 msgid "This subversion repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:76
+#: vhffs-panel/user/delete.pl:74
 msgid "This user is always in a group"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:87
+#: vhffs-panel/user/delete.pl:85
 msgid "This user will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:93
+#: vhffs-panel/user/delete.pl:91
 msgid "This user will NOT be DELETED"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:112
+#: vhffs-panel/group/prefs.pl:117
 msgid "This user will be removed from this group as soon as possible"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:79
+#: vhffs-panel/web/delete.pl:77
 msgid "This web area doesn't exist in VHFFS database"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:424
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:424
 msgid "To accept this subscriber, send a message to\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:406
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:406
 #, perl-format
 msgid ""
 "To put this post on the list, send a message to:\n"
@@ -3749,7 +3706,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:427
 msgid "To refuse this subscriber, send a message to\n"
 msgstr ""
 
@@ -3757,116 +3713,127 @@
 msgid "Topic not found"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:94
+#: vhffs-panel/admin/stats.pl:93
 msgid "Total Admin Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:121
+#: vhffs-panel/admin/stats.pl:120
 msgid "Total CVS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:113
+#: vhffs-panel/admin/stats.pl:112
 msgid "Total DNS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:134
+#: vhffs-panel/admin/stats.pl:133
 msgid "Total GIT in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:140
+#: vhffs-panel/admin/stats.pl:139
 msgid "Total Mail domains in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:96
+#: vhffs-panel/admin/stats.pl:95
 msgid "Total Moderator Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:152
+#: vhffs-panel/admin/stats.pl:151
 msgid "Total MySQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:159
+#: vhffs-panel/admin/stats.pl:158
 msgid "Total PostgreSQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:128
+#: vhffs-panel/admin/stats.pl:127
 msgid "Total SVN in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:92
+#: vhffs-panel/admin/stats.pl:91
 msgid "Total Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:106
+#: vhffs-panel/admin/stats.pl:105
 msgid "Total Web Areas in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:123
+#: vhffs-panel/admin/stats.pl:122
 msgid "Total activated CVS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:115
+#: vhffs-panel/admin/stats.pl:114
 msgid "Total activated DNS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:136
+#: vhffs-panel/admin/stats.pl:135
 msgid "Total activated GIT"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:142
+#: vhffs-panel/admin/stats.pl:141
 msgid "Total activated Mail domains"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:154
+#: vhffs-panel/admin/stats.pl:153
 msgid "Total activated MySQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:161
+#: vhffs-panel/admin/stats.pl:160
 msgid "Total activated PostgreSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:130
+#: vhffs-panel/admin/stats.pl:129
 msgid "Total activated SVN"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:108
+#: vhffs-panel/admin/stats.pl:107
 msgid "Total activated Web Areas"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:102
+#: vhffs-panel/admin/stats.pl:101
 msgid "Total activated groups"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:169
+#: vhffs-panel/admin/stats.pl:168
 msgid "Total activated lists"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:100
+#: vhffs-panel/admin/stats.pl:175
+msgid "Total categories"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:99
 msgid "Total groups in database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:146
+#: vhffs-panel/admin/stats.pl:145
 msgid "Total hosted boxes"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:144
+#: vhffs-panel/admin/stats.pl:143
 msgid "Total hosted forwards"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:167
+#: vhffs-panel/admin/stats.pl:166
 msgid "Total lists in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:171
+#: vhffs-panel/admin/stats.pl:170
 msgid "Total subscribtion for lists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:78
+#: vhffs-panel/admin/stats.pl:181
+msgid "Total tagged groups"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:177
+msgid "Total tags used"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:83 vhffs-panel/group/history.pl:79
 msgid "Type"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:99 vhffs-panel/admin/object/edit.pl:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:99
+#: vhffs-panel/admin/object/edit.pl:93 vhffs-api/src/Vhffs/Panel/Object.pm:98
 msgid "UID of owner"
 msgstr ""
 
@@ -3900,32 +3867,36 @@
 msgid "Unable to add SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:202
+#: vhffs-panel/dns/prefs.pl:201
 #, perl-format
 msgid "Unable to add TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:286
+#: vhffs-panel/mail/prefs.pl:285
 #, perl-format
 msgid "Unable to add forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:137 vhffs-panel/group/prefs.pl:171
+#: vhffs-panel/group/prefs.pl:352
+msgid "Unable to add tag, check it was not already added to your project"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:142 vhffs-panel/group/prefs.pl:176
 msgid ""
 "Unable to add user, he might already be in the group (waiting for addition "
 "or deletion)"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:131 vhffs-panel/mysql/prefs.pl:142
+#: vhffs-panel/mysql/prefs.pl:143 vhffs-panel/pgsql/prefs.pl:131
+#: vhffs-panel/cron/prefs.pl:186
 msgid "Unable to apply changes"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:149 vhffs-panel/git/prefs.pl:194
-#: vhffs-panel/web/prefs.pl:141
+#: vhffs-panel/git/prefs.pl:169 vhffs-panel/web/prefs.pl:138
 msgid "Unable to apply modifications"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:131 vhffs-panel/group/prefs.pl:291
+#: vhffs-panel/repository/prefs.pl:126 vhffs-panel/group/prefs.pl:301
 msgid "Unable to apply modifications, please try again later"
 msgstr ""
 
@@ -3934,6 +3905,17 @@
 msgid "Unable to change rights for subscriber %s"
 msgstr ""
 
+#: vhffs-panel/admin/tag/category/create.pl:100
+#: vhffs-panel/admin/tag/request/details.pl:161
+msgid "Unable to create category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:112
+#: vhffs-panel/admin/tag/request/details.pl:166
+#: vhffs-panel/admin/tag/request/details.pl:192
+msgid "Unable to create tag"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:112
 #, perl-format
 msgid "Unable to delete A record: %s"
@@ -3964,74 +3946,84 @@
 msgid "Unable to delete SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:213
+#: vhffs-panel/dns/prefs.pl:212
 #, perl-format
 msgid "Unable to delete TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:270
+#: vhffs-panel/mail/prefs.pl:269
 #, perl-format
 msgid "Unable to delete box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:317
+#: vhffs-panel/admin/tag/category/list.pl:61
+msgid "Unable to delete category"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:316
 #, perl-format
 msgid "Unable to delete forward %s"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:99
+#: vhffs-panel/admin/tag/list.pl:61 vhffs-panel/group/prefs.pl:385
+msgid "Unable to delete tag"
+msgstr ""
+
+#: vhffs-panel/mail/delete.pl:97
 msgid "Unable to delete this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:226
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:227
 msgid ""
 "Unable to find default redirection address, please contact administrators"
 msgstr ""
 
-#: vhffs-panel/cvs/index.pl:63
+#: vhffs-panel/cvs/index.pl:64
 msgid "Unable to get CVS repositories"
 msgstr ""
 
-#: vhffs-panel/dns/index.pl:63
+#: vhffs-panel/dns/index.pl:64
 msgid "Unable to get DNS"
 msgstr ""
 
-#: vhffs-panel/git/index.pl:64
+#: vhffs-panel/git/index.pl:65
 msgid "Unable to get GIT repositories"
 msgstr ""
 
-#: vhffs-panel/mysql/index.pl:63
+#: vhffs-panel/mysql/index.pl:64
 msgid "Unable to get MySQL databases."
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:63
+#: vhffs-panel/pgsql/index.pl:64
 msgid "Unable to get PgSQL databases"
 msgstr ""
 
-#: vhffs-panel/svn/index.pl:63
+#: vhffs-panel/svn/index.pl:64
 msgid "Unable to get SVN repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:74 vhffs-panel/mail/delete.pl:79
+#: vhffs-panel/cron/index.pl:64
+msgid "Unable to get cron jobs"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:73 vhffs-panel/mail/delete.pl:77
 #, perl-format
 msgid "Unable to get information on mail domain %s"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:63
+#: vhffs-panel/mail/index.pl:64
 msgid "Unable to get mail domains"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:63
+#: vhffs-panel/mailinglist/index.pl:64
 msgid "Unable to get mailing lists"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:63
+#: vhffs-panel/repository/index.pl:64
 msgid "Unable to get repositories"
 msgstr ""
 
-#: vhffs-panel/web/index.pl:63
+#: vhffs-panel/web/index.pl:64
 msgid "Unable to get webareas"
 msgstr ""
 
@@ -4060,17 +4052,17 @@
 msgid "Unable to modify SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:208
+#: vhffs-panel/dns/prefs.pl:207
 #, perl-format
 msgid "Unable to modify TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:302
+#: vhffs-panel/mail/prefs.pl:301
 #, perl-format
 msgid "Unable to modify forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:114
+#: vhffs-panel/group/prefs.pl:119
 msgid "Unable to remove user from group"
 msgstr ""
 
@@ -4078,79 +4070,69 @@
 msgid "Unable to save object"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:168
+#: vhffs-panel/admin/tag/category/edit.pl:71
+msgid "Unable to update category"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:169
 msgid "Unable to update repository"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:475
+#: vhffs-panel/admin/tag/edit.pl:72
+msgid "Unable to update tag"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:500
 msgid "Unable to update user, please try again later"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:298
 msgid ""
 "Unknow command\n"
 "\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Functions.pm:452 vhffs-api/src/Vhffs/Functions.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:452
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:457
+#: vhffs-api/src/Vhffs/Functions.pm:510 vhffs-api/src/Vhffs/Functions.pm:515
 msgid "Unknown"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:163 vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:211 vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:241 vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:265 vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:317 vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:344 vhffs-api/src/Vhffs/Panel/DNS.pm:356
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:265
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:288
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:344
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:356
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:164 vhffs-api/src/Vhffs/Panel/DNS.pm:200
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:212 vhffs-api/src/Vhffs/Panel/DNS.pm:230
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:242 vhffs-api/src/Vhffs/Panel/DNS.pm:255
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:267 vhffs-api/src/Vhffs/Panel/DNS.pm:280
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:292 vhffs-api/src/Vhffs/Panel/DNS.pm:305
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:322 vhffs-api/src/Vhffs/Panel/DNS.pm:337
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:349 vhffs-api/src/Vhffs/Panel/DNS.pm:361
 msgid "Unknown error"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:105
-#: vhffs-panel/admin/broadcast_list.pl:104
+#: vhffs-panel/admin/broadcast_list.pl:102
+#: vhffs-panel/admin/broadcast_view.pl:103
 msgid "Unknown status"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:240
 #, perl-format
 msgid "Unsubscribe for the list %s was not complete.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:64 vhffs-panel/group/prefs.pl:244
+#: vhffs-panel/admin/tag/category/edit.pl:88 vhffs-panel/group/prefs.pl:257
 msgid "Update"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:87
-msgid "Update Permissions"
+#: vhffs-panel/admin/tag/edit.pl:78
+msgid "Update Tag"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:54 vhffs-intl/template_strings.pl:70
-msgid "Update Quota"
+#: vhffs-panel/admin/tag/category/edit.pl:77
+msgid "Update Tag Category"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:248
+#: vhffs-panel/group/prefs.pl:261
 msgid "Update avatar"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:144
+#: vhffs-panel/mailinglist/prefs.pl:143
 msgid "Update signature"
 msgstr ""
 
@@ -4158,32 +4140,31 @@
 msgid "Uploaded file is too big. The maximum size is 20 Kbytes."
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:240
+#: vhffs-panel/dns/prefs.pl:239
 #, perl-format
 msgid "Use @ for origin (%s)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:413
+#: vhffs-panel/user/prefs.pl:430
 #, perl-format
 msgid ""
 "Use VHFFS servers to manage this mail,<br/>you should use use the host pop.%"
 "s or imap.%s to fetch your mails"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:424
+#: vhffs-panel/user/prefs.pl:441
 msgid "Use anti-spam protection"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:432
+#: vhffs-panel/user/prefs.pl:449
 msgid "Use anti-virus protection"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:51 vhffs-intl/template_strings.pl:67
-msgid "Used Quota"
+#: vhffs-panel/dns/prefs.pl:259
+msgid "Use our servers as destination IP for this A record?"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:35 vhffs-panel/admin/moderation.pl:86
-#: vhffs-panel/acl/view.pl:103
+#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/acl/view.pl:103
 msgid "User"
 msgstr ""
 
@@ -4193,26 +4174,22 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:118
 msgid "User Admin"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:435 vhffs-panel/user/prefs.pl:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:435
+#: vhffs-panel/user/prefs.pl:314 vhffs-api/src/Vhffs/Panel/Main.pm:425
 msgid "User Preferences"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:188
+#: vhffs-panel/subscribe.pl:190
 msgid "User Successfully created"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:432
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:432
+#: vhffs-api/src/Vhffs/Panel/Main.pm:422
 msgid "User account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:368
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:368
+#: vhffs-api/src/Vhffs/Panel/Main.pm:373
 msgid "User does not exist"
 msgstr ""
 
@@ -4220,47 +4197,34 @@
 msgid "User is not active yet"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:144
+#: vhffs-panel/group/prefs.pl:149
 msgid "User not found"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:477
+#: vhffs-panel/user/prefs.pl:502
 msgid "User successfully updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:134 vhffs-panel/group/prefs.pl:168
+#: vhffs-panel/group/prefs.pl:139 vhffs-panel/group/prefs.pl:173
 msgid "User will be added as soon as possible"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:82
-msgid "User's Permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:83
-msgid "User's permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:7 vhffs-intl/template_strings.pl:22
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:65 vhffs-panel/admin/user/list.pl:70
-#: vhffs-panel/admin/su.pl:73 vhffs-panel/group/prefs.pl:238
-#: vhffs-panel/user/prefs.pl:301 vhffs-panel/lost.pl:57
-#: vhffs-panel/subscribe.pl:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:65
+#: vhffs-panel/admin/user/list.pl:70 vhffs-panel/admin/su.pl:73
+#: vhffs-panel/user/prefs.pl:318 vhffs-panel/group/prefs.pl:251
+#: vhffs-panel/subscribe.pl:238 vhffs-panel/lost.pl:57
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:65
 msgid "Username"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:87 vhffs-panel/mysql/prefs.pl:98
+#: vhffs-panel/mysql/prefs.pl:99 vhffs-panel/pgsql/prefs.pl:87
 msgid "Username for this database"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:2 vhffs-intl/template_strings.pl:12
-#: vhffs-intl/template_strings.pl:19 vhffs-api/src/Vhffs/Panel/Menu.pm:111
-#: vhffs-panel/group/prefs.pl:256
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:111
+#: vhffs-panel/group/prefs.pl:269 vhffs-api/src/Vhffs/Panel/Menu.pm:115
 msgid "Users"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:91
+#: vhffs-panel/admin/stats.pl:90
 msgid "Users stats"
 msgstr ""
 
@@ -4268,64 +4232,57 @@
 msgid "Users' administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:21 vhffs-api/src/Vhffs/Panel/Object.pm:122
-#: vhffs-panel/admin/object/edit.pl:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:122
+#: vhffs-panel/admin/object/edit.pl:115
+#: vhffs-api/src/Vhffs/Panel/Object.pm:121
 msgid "Validation refused"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:89
+#: vhffs-panel/admin/stats.pl:88
 msgid "Vhffs Statistics"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:10
-msgid "View Archives"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_view.pl:85
+#: vhffs-panel/admin/broadcast_view.pl:83
 msgid "View mailing"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_list.pl:90
+#: vhffs-panel/admin/broadcast_list.pl:88
 msgid "View this mailing"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:254
+#: vhffs-panel/mail/prefs.pl:253
 msgid "Virus status updated"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:105
-msgid "WEB stats"
+#: vhffs-panel/admin/tag/category/create.pl:70
+#: vhffs-panel/admin/tag/category/edit.pl:81
+msgid "Visibility"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:75
-msgid "Waiting for confirmation"
+#: vhffs-panel/admin/stats.pl:104
+msgid "WEB stats"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:22 vhffs-api/src/Vhffs/Panel/Object.pm:123
-#: vhffs-panel/admin/object/edit.pl:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:123
+#: vhffs-panel/admin/object/edit.pl:116
+#: vhffs-api/src/Vhffs/Panel/Object.pm:122
 msgid "Waiting for creation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:78
-msgid "Waiting for deletion"
+#: vhffs-panel/admin/object/edit.pl:122
+#: vhffs-api/src/Vhffs/Panel/Object.pm:128
+msgid "Waiting for modification"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:28 vhffs-api/src/Vhffs/Panel/Object.pm:129
-#: vhffs-panel/admin/object/edit.pl:124
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:129
-msgid "Waiting for modification"
+#: vhffs-panel/admin/object/edit.pl:120
+#: vhffs-api/src/Vhffs/Panel/Object.pm:126
+msgid "Waiting for suspension"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:20 vhffs-intl/template_strings.pl:76
-#: vhffs-api/src/Vhffs/Panel/Object.pm:121
-#: vhffs-panel/admin/object/edit.pl:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:121
+#: vhffs-panel/admin/object/edit.pl:114
+#: vhffs-api/src/Vhffs/Panel/Object.pm:120
 msgid "Waiting for validation"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:149
+#: vhffs-panel/user/prefs.pl:151
 msgid "Wanted shell is not in the shell list"
 msgstr ""
 
@@ -4333,14 +4290,7 @@
 msgid "Warn the admin team"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:65 vhffs-intl/template_strings.pl:72
-msgid ""
-"Warning, password change isn't immediate, you've to check periodically to "
-"see if it's done"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:481
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:481
 #, perl-format
 msgid ""
 "We confirm that you REFUSED the subscription of:\n"
@@ -4352,7 +4302,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:457
 #, perl-format
 msgid ""
 "We confirm that you accepted the subscription of:\n"
@@ -4363,40 +4312,33 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:227
+#: vhffs-panel/group/prefs.pl:240
 #, perl-format
 msgid "We offer you the possibility to forward emails from %s@%s."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:443
+#: vhffs-panel/user/prefs.pl:460
 #, perl-format
 msgid "We offer you the possibility to have one email box on the domain %s"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:64 vhffs-api/src/Vhffs/Panel/Menu.pm:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:113
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:117
 msgid "Web"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:153
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:173
 msgid "Web Admin"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:93
+#: vhffs-panel/web/prefs.pl:90
 msgid "Web Area Administration"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:143
+#: vhffs-panel/web/prefs.pl:140
 msgid "Web area successfully modified"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:37
-msgid "Webarea"
-msgstr ""
-
-#: vhffs-panel/web/index.pl:60
+#: vhffs-panel/web/index.pl:61
 #, perl-format
 msgid "Webareas for %s"
 msgstr ""
@@ -4405,65 +4347,45 @@
 msgid "Webareas' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:37
-msgid "Website description"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:36
-msgid "Website name"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:33
-msgid "Websites"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:41 vhffs-public/group.pl:99
-msgid "Websites for this group"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
+#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/dns/prefs.pl:385
 msgid "Weight"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:62
 #, perl-format
 msgid "Welcome on %s"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:107
+#: vhffs-panel/mailinglist/delete.pl:105
 msgid "Will be DELETED in a few minutes"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:31 vhffs-api/src/Vhffs/Panel/Object.pm:132
-#: vhffs-panel/admin/object/edit.pl:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:132
+#: vhffs-panel/admin/object/edit.pl:125
+#: vhffs-api/src/Vhffs/Panel/Object.pm:131
 msgid "Will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:81
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:81
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:84
 #, perl-format
 msgid "Woah, %s users and %s groups already trust %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:59 vhffs-intl/template_strings.pl:62
-#: vhffs-panel/git/prefs.pl:101 vhffs-panel/dns/prefs.pl:261
-#: vhffs-panel/cvs/prefs.pl:112 vhffs-panel/svn/prefs.pl:93
+#: vhffs-panel/svn/prefs.pl:94 vhffs-panel/dns/prefs.pl:260
+#: vhffs-panel/cvs/prefs.pl:99 vhffs-panel/git/prefs.pl:98
 msgid "Yes"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/mail/prefs.pl:138
-#: vhffs-panel/git/prefs.pl:107 vhffs-panel/dns/prefs.pl:254
-#: vhffs-panel/pgsql/prefs.pl:101 vhffs-panel/cvs/prefs.pl:118
-#: vhffs-panel/group/prefs.pl:215 vhffs-panel/mysql/prefs.pl:113
-#: vhffs-panel/svn/prefs.pl:99 vhffs-panel/mailinglist/prefs.pl:181
-#: vhffs-panel/web/prefs.pl:111 vhffs-panel/user/prefs.pl:328
+#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/pgsql/prefs.pl:101
+#: vhffs-panel/mailinglist/prefs.pl:181 vhffs-panel/cron/prefs.pl:152
+#: vhffs-panel/repository/prefs.pl:90 vhffs-panel/user/prefs.pl:345
+#: vhffs-panel/svn/prefs.pl:100 vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/group/prefs.pl:228 vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/cvs/prefs.pl:105 vhffs-panel/git/prefs.pl:104
+#: vhffs-panel/web/prefs.pl:108
 msgid "Yes I'm sure of what I do"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:227
 msgid "You are not a subscriber on this list.\n"
 msgstr ""
 
@@ -4471,7 +4393,7 @@
 msgid "You are not allowed to add members (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:77 vhffs-panel/object/quickdelete.pl:77
+#: vhffs-panel/object/quickdelete.pl:76 vhffs-panel/object/resubmit.pl:76
 msgid "You are not allowed to do it, you don't own this object"
 msgstr ""
 
@@ -4479,48 +4401,45 @@
 msgid "You are not allowed to manager subscribers' rights (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:177 vhffs-panel/mail/prefs.pl:207
-#: vhffs-panel/mail/prefs.pl:225 vhffs-panel/mail/prefs.pl:265
-#: vhffs-panel/mail/prefs.pl:279 vhffs-panel/mail/prefs.pl:295
-#: vhffs-panel/mail/prefs.pl:311
+#: vhffs-panel/mail/prefs.pl:176 vhffs-panel/mail/prefs.pl:206
+#: vhffs-panel/mail/prefs.pl:224 vhffs-panel/mail/prefs.pl:264
+#: vhffs-panel/mail/prefs.pl:278 vhffs-panel/mail/prefs.pl:294
+#: vhffs-panel/mail/prefs.pl:310
 msgid "You are not allowed to modify this object"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:125
+#: vhffs-panel/web/prefs.pl:122
 msgid "You are not allowed to modify this web area"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:71
-#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/mail/search.pl:72
-#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/git/search.pl:73
-#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/dns/search.pl:72
-#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/pgsql/search.pl:72
-#: vhffs-panel/admin/pgsql/list.pl:60 vhffs-panel/admin/cvs/search.pl:71
-#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/group/search.pl:72
-#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mysql/search.pl:72
-#: vhffs-panel/admin/mysql/list.pl:66 vhffs-panel/admin/object/edit.pl:74
-#: vhffs-panel/admin/object/search.pl:71
-#: vhffs-panel/admin/object/edit_submit.pl:74
-#: vhffs-panel/admin/object/list.pl:72
-#: vhffs-panel/admin/object/delete_avatar.pl:78
-#: vhffs-panel/admin/svn/search.pl:73 vhffs-panel/admin/svn/list.pl:55
-#: vhffs-panel/admin/mailinglist/search.pl:71
-#: vhffs-panel/admin/mailinglist/list.pl:63 vhffs-panel/admin/web/search.pl:72
-#: vhffs-panel/admin/web/list.pl:54 vhffs-panel/admin/user/search.pl:72
-#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast_view.pl:73
-#: vhffs-panel/admin/broadcast_list.pl:71 vhffs-panel/admin/stats.pl:82
-#: vhffs-panel/admin/broadcast.pl:70
+#: vhffs-panel/admin/mysql/search.pl:70 vhffs-panel/admin/mysql/list.pl:66
+#: vhffs-panel/admin/pgsql/search.pl:70 vhffs-panel/admin/pgsql/list.pl:60
+#: vhffs-panel/admin/stats.pl:81 vhffs-panel/admin/broadcast_list.pl:69
+#: vhffs-panel/admin/mailinglist/search.pl:69
+#: vhffs-panel/admin/mailinglist/list.pl:63
+#: vhffs-panel/admin/broadcast_view.pl:71 vhffs-panel/admin/cron/search.pl:70
+#: vhffs-panel/admin/cron/list.pl:66 vhffs-panel/admin/repository/search.pl:69
+#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/user/search.pl:70
+#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast.pl:68
+#: vhffs-panel/admin/svn/search.pl:71 vhffs-panel/admin/svn/list.pl:55
+#: vhffs-panel/admin/object/delete_avatar.pl:76
+#: vhffs-panel/admin/object/edit_submit.pl:72
+#: vhffs-panel/admin/object/edit.pl:72 vhffs-panel/admin/object/search.pl:69
+#: vhffs-panel/admin/object/list.pl:70 vhffs-panel/admin/dns/search.pl:70
+#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/group/search.pl:70
+#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mail/search.pl:70
+#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/cvs/search.pl:69
+#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/git/search.pl:71
+#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/web/search.pl:70
+#: vhffs-panel/admin/web/list.pl:54
 msgid "You are not allowed to see it"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:186
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:207
+#: vhffs-api/src/Vhffs/Panel/Main.pm:187 vhffs-api/src/Vhffs/Panel/Main.pm:208
 msgid "You are not granted to access this page"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:119
 #, perl-format
 msgid ""
 "You asked to be subscribed to the following list:\n"
@@ -4529,35 +4448,45 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:113
-#: vhffs-panel/dns/prefs.pl:246 vhffs-panel/svn/prefs.pl:105
-#: vhffs-panel/web/prefs.pl:104
+#: vhffs-panel/mysql/prefs.pl:107 vhffs-panel/cron/prefs.pl:145
+#: vhffs-panel/svn/prefs.pl:106 vhffs-panel/dns/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:101
 msgid ""
 "You can Manage rights on this service for each user in the VHFFS database. "
 "Please read help before manage it."
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:49
 msgid "You can also send a command list in the mail body.\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:438
+msgid "You can only delete requests attached to your group"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:273
+msgid "You cannot add NS records on origin"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:157
+msgid "You cannot delete NS records on origin"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:115
 msgid "You cannot remove the owner of the group"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:89
+#: vhffs-panel/subscribe.pl:77
 msgid "You cannot subscribe to VHFFS"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:226
 #, perl-format
 msgid "You cannot unsubscribe from the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:211
 msgid "You demand was refused\n"
 msgstr ""
 
@@ -4565,8 +4494,15 @@
 msgid "You do not own this domain !"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:345
+msgid "You don't have enough privileges to add this tag"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:378
+msgid "You don't have enough privileges to delete this tag"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:182
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:182
 #, perl-format
 msgid ""
 "You have been successfully removed from the following list:\n"
@@ -4574,33 +4510,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:255
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:255
 #, perl-format
 msgid "You have been successfully removed from the list %s.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:147 vhffs-api/src/Vhffs/Listengine.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:147
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:163
 #, perl-format
 msgid ""
 "You have been successfully subscribed to the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:135
+#: vhffs-panel/admin/tag/category/edit.pl:115
+#: vhffs-panel/admin/tag/create.pl:100 vhffs-panel/admin/tag/edit.pl:107
+#: vhffs-panel/web/prefs.pl:132
 msgid "You have to enter a description"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:125 vhffs-panel/group/prefs.pl:284
-msgid "You have to enter a quota greater than the current used quota"
+#: vhffs-panel/admin/tag/category/edit.pl:111
+#: vhffs-panel/admin/tag/create.pl:95 vhffs-panel/admin/tag/edit.pl:103
+msgid "You have to enter a label"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:54 vhffs-panel/mail/index.pl:54
-#: vhffs-panel/git/index.pl:55 vhffs-panel/dns/index.pl:54
-#: vhffs-panel/pgsql/index.pl:54 vhffs-panel/cvs/index.pl:54
-#: vhffs-panel/mysql/index.pl:54 vhffs-panel/svn/index.pl:54
-#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/web/index.pl:54
+#: vhffs-panel/admin/tag/category/create.pl:95
+#: vhffs-panel/admin/tag/request/details.pl:151
+msgid "You have to enter a label and a description for the category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:156
+#: vhffs-panel/admin/tag/request/details.pl:185
+msgid "You have to enter a label and a description for the tag"
+msgstr ""
+
+#: vhffs-public/usersearch.pl:52
+msgid "You have to enter an username"
+msgstr ""
+
+#: vhffs-panel/mysql/index.pl:55 vhffs-panel/pgsql/index.pl:55
+#: vhffs-panel/mailinglist/index.pl:55 vhffs-panel/cron/index.pl:55
+#: vhffs-panel/repository/index.pl:55 vhffs-panel/svn/index.pl:55
+#: vhffs-panel/dns/index.pl:55 vhffs-panel/mail/index.pl:55
+#: vhffs-panel/cvs/index.pl:55 vhffs-panel/git/index.pl:56
+#: vhffs-panel/web/index.pl:55
 msgid "You have to select a group first"
 msgstr ""
 
@@ -4614,73 +4565,68 @@
 
 #: vhffs-api/src/Vhffs/Listengine.pm:149 vhffs-api/src/Vhffs/Listengine.pm:168
 #: vhffs-api/src/Vhffs/Listengine.pm:443
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:149
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:168
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:443
 msgid "You may get some help on listengine by sending an email to\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:204
+#: vhffs-panel/user/prefs.pl:210
 msgid "You must choose a method for your mail"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:85 vhffs-api/src/Vhffs/Listengine.pm:103
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:103
 msgid "You must confirm your request by sending a confirmation email\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:143
+#: vhffs-panel/subscribe.pl:145
 msgid "You must declare a valid mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:123
+#: vhffs-panel/subscribe.pl:125
 msgid "You must declare your city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:119
+#: vhffs-panel/subscribe.pl:121
 msgid "You must declare your country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:131
+#: vhffs-panel/subscribe.pl:133
 msgid "You must declare your firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:135
+#: vhffs-panel/subscribe.pl:137
 msgid "You must declare your lastname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:139
+#: vhffs-panel/subscribe.pl:141
 msgid "You must declare your mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:111
+#: vhffs-panel/subscribe.pl:113
 msgid "You must declare your username"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:127
+#: vhffs-panel/subscribe.pl:129
 msgid "You must declare your zipcode"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:79 vhffs-panel/mail/create.pl:78
-#: vhffs-panel/git/create.pl:83 vhffs-panel/dns/create.pl:53
-#: vhffs-panel/pgsql/create.pl:84 vhffs-panel/cvs/create.pl:84
-#: vhffs-panel/group/prefs.pl:86 vhffs-panel/group/create.pl:68
-#: vhffs-panel/mysql/create.pl:84 vhffs-panel/object/resubmit.pl:90
-#: vhffs-panel/svn/create.pl:83 vhffs-panel/mailinglist/create.pl:83
-#: vhffs-panel/web/create.pl:81
+#: vhffs-panel/mysql/create.pl:84 vhffs-panel/pgsql/create.pl:84
+#: vhffs-panel/mailinglist/create.pl:83 vhffs-panel/cron/create.pl:86
+#: vhffs-panel/repository/create.pl:79 vhffs-panel/svn/create.pl:83
+#: vhffs-panel/object/resubmit.pl:89 vhffs-panel/dns/create.pl:54
+#: vhffs-panel/group/prefs.pl:91 vhffs-panel/group/create.pl:70
+#: vhffs-panel/mail/create.pl:79 vhffs-panel/cvs/create.pl:84
+#: vhffs-panel/git/create.pl:83 vhffs-panel/web/create.pl:81
 msgid "You must enter a description"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:88 vhffs-panel/group/create.pl:70
+#: vhffs-panel/group/prefs.pl:93 vhffs-panel/group/create.pl:72
 msgid "You must enter a full name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:126
+#: vhffs-panel/group/prefs.pl:131
 msgid "You must enter an username"
 msgstr ""
 
-#: vhffs-panel/group/view.pl:55
+#: vhffs-panel/group/view.pl:57
 msgid "You must specify a project name"
 msgstr ""
 
@@ -4689,46 +4635,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:166
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:166
 msgid "You will receive an email with the decision of administrators.\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:375
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:375
+#: vhffs-api/src/Vhffs/Panel/Main.pm:380
 msgid "You're are not allowed to browse panel"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:64 vhffs-panel/mail/create.pl:60
-#: vhffs-panel/git/create.pl:64 vhffs-panel/dns/create.pl:34
-#: vhffs-panel/pgsql/create.pl:63 vhffs-panel/admin/moderation_submit.pl:67
-#: vhffs-panel/admin/broadcast_delete.pl:79
-#: vhffs-panel/admin/broadcast_submit.pl:79 vhffs-panel/admin/moderation.pl:70
-#: vhffs-panel/cvs/create.pl:64 vhffs-panel/group/prefs.pl:78
-#: vhffs-panel/group/prefs.pl:108 vhffs-panel/group/prefs.pl:119
-#: vhffs-panel/group/prefs.pl:160 vhffs-panel/group/prefs.pl:177
-#: vhffs-panel/group/history.pl:71 vhffs-panel/group/delete.pl:68
-#: vhffs-panel/mysql/create.pl:63 vhffs-panel/svn/create.pl:63
-#: vhffs-panel/mailinglist/create.pl:62 vhffs-panel/web/prefs.pl:84
-#: vhffs-panel/web/create.pl:63
+#: vhffs-panel/mysql/create.pl:63 vhffs-panel/pgsql/create.pl:63
+#: vhffs-panel/admin/broadcast_submit.pl:75
+#: vhffs-panel/admin/broadcast_delete.pl:75
+#: vhffs-panel/admin/moderation_submit.pl:67
+#: vhffs-panel/admin/moderation.pl:69 vhffs-panel/mailinglist/create.pl:62
+#: vhffs-panel/cron/create.pl:65 vhffs-panel/repository/create.pl:64
+#: vhffs-panel/svn/create.pl:63 vhffs-panel/dns/create.pl:35
+#: vhffs-panel/group/history.pl:72 vhffs-panel/group/prefs.pl:83
+#: vhffs-panel/group/prefs.pl:113 vhffs-panel/group/prefs.pl:124
+#: vhffs-panel/group/prefs.pl:165 vhffs-panel/group/prefs.pl:182
+#: vhffs-panel/group/prefs.pl:325 vhffs-panel/group/prefs.pl:358
+#: vhffs-panel/group/prefs.pl:391 vhffs-panel/group/prefs.pl:424
+#: vhffs-panel/group/delete.pl:67 vhffs-panel/mail/create.pl:61
+#: vhffs-panel/cvs/create.pl:64 vhffs-panel/git/create.pl:64
+#: vhffs-panel/web/prefs.pl:81 vhffs-panel/web/create.pl:63
 msgid "You're not allowed to do this (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:74 vhffs-panel/repository/delete.pl:82
-#: vhffs-panel/mail/prefs.pl:77 vhffs-panel/mail/delete.pl:87
-#: vhffs-panel/git/prefs.pl:80 vhffs-panel/git/prefs.pl:142
-#: vhffs-panel/git/prefs.pl:164 vhffs-panel/git/delete.pl:82
+#: vhffs-panel/mysql/prefs.pl:81 vhffs-panel/mysql/prefs.pl:127
+#: vhffs-panel/mysql/delete.pl:78 vhffs-panel/pgsql/prefs.pl:71
+#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:76
+#: vhffs-panel/mailinglist/prefs.pl:83 vhffs-panel/mailinglist/prefs.pl:205
+#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:89
+#: vhffs-panel/cron/prefs.pl:80 vhffs-panel/cron/prefs.pl:167
+#: vhffs-panel/cron/delete.pl:78 vhffs-panel/repository/prefs.pl:73
+#: vhffs-panel/repository/delete.pl:81 vhffs-panel/user/prefs.pl:79
+#: vhffs-panel/user/prefs.pl:85 vhffs-panel/svn/prefs.pl:77
+#: vhffs-panel/svn/prefs.pl:135 vhffs-panel/svn/delete.pl:80
 #: vhffs-panel/dns/prefs.pl:86 vhffs-panel/dns/prefs.pl:95
-#: vhffs-panel/dns/delete.pl:87 vhffs-panel/pgsql/prefs.pl:71
-#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:77
+#: vhffs-panel/dns/delete.pl:79 vhffs-panel/group/prefs.pl:74
+#: vhffs-panel/mail/prefs.pl:76 vhffs-panel/mail/delete.pl:85
 #: vhffs-panel/cvs/prefs.pl:73 vhffs-panel/cvs/prefs.pl:78
-#: vhffs-panel/cvs/prefs.pl:94 vhffs-panel/cvs/delete.pl:82
-#: vhffs-panel/group/prefs.pl:70 vhffs-panel/mysql/prefs.pl:80
-#: vhffs-panel/mysql/delete.pl:79 vhffs-panel/svn/prefs.pl:76
-#: vhffs-panel/svn/prefs.pl:134 vhffs-panel/svn/delete.pl:81
-#: vhffs-panel/mailinglist/prefs.pl:84 vhffs-panel/mailinglist/prefs.pl:205
-#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:91
-#: vhffs-panel/web/delete.pl:83 vhffs-panel/user/prefs.pl:78
-#: vhffs-panel/user/prefs.pl:84
+#: vhffs-panel/cvs/delete.pl:81 vhffs-panel/git/prefs.pl:81
+#: vhffs-panel/git/prefs.pl:139 vhffs-panel/git/delete.pl:81
+#: vhffs-panel/web/delete.pl:81
 msgid ""
 "You're not allowed to do this, object is not in active state or you don't "
 "have enough ACL rights"
@@ -4738,7 +4686,7 @@
 msgid "You're not allowed to manage this object's ACL"
 msgstr ""
 
-#: vhffs-panel/acl/view.pl:76 vhffs-panel/history.pl:94
+#: vhffs-panel/history.pl:92 vhffs-panel/acl/view.pl:76
 msgid "You're not allowed to view this object's ACL"
 msgstr ""
 
@@ -4746,21 +4694,19 @@
 msgid "You're not an administrator"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:512
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:512
+#: vhffs-api/src/Vhffs/Object.pm:527
 #, perl-format
 msgid "Your %s (%s) on %s has been deleted due to lack of updates"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:333
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:333
+#: vhffs-api/src/Vhffs/User.pm:344
 #, perl-format
 msgid ""
 "Your account (%s) on %s has been deleted because it was unused for a long "
 "time"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:243
+#: vhffs-panel/subscribe.pl:277
 msgid ""
 "Your email address. It will be used to contact you when needed and as a "
 "destination address if you use our email forwarding service"
@@ -4774,20 +4720,17 @@
 msgid "Your projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:416
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:416
+#: vhffs-api/src/Vhffs/Object.pm:431
 #, perl-format
 msgid "Your request for a %s (%s) on %s was accepted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:466
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:466
+#: vhffs-api/src/Vhffs/Object.pm:481
 #, perl-format
 msgid "Your request for a %s (%s) on %s was refused"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:441
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:441
 #, perl-format
 msgid ""
 "Your subscription was accepted to the following mailing list:\n"
@@ -4795,7 +4738,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:469
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:469
 #, perl-format
 msgid ""
 "Your subscription was refused to the following mailing list:\n"
@@ -4804,139 +4746,100 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:242
+#: vhffs-panel/subscribe.pl:276
 msgid ""
 "Your username. It must contains only alphanumeric characters in lowercase, "
 "its length must be between 3 and 12 chars"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:147
+#: vhffs-panel/subscribe.pl:149
 msgid "Your zipcode is not correct! Please enter a correct zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:305 vhffs-panel/subscribe.pl:227
+#: vhffs-panel/user/prefs.pl:322 vhffs-panel/subscribe.pl:242
 msgid "Zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:132
+#: vhffs-panel/user/prefs.pl:134
 msgid "Zipcode is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:301
+#: vhffs-panel/mailinglist/prefs.pl:303
 #, perl-format
 msgid "[%s] You've been added to the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:355
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:355
 msgid "cannot be removed from the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:319
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:319
 msgid "cannot be removed.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:53
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:53
 msgid "help\t\t - show this help\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:17
-msgid "help_user_admin"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:13
-msgid "help_user_bug"
-msgstr ""
-"<h2>Report bug</h2><p>Use this to contact administration team to report a "
-"bug or ask for an enhancement.</p><p>You can also use this button to ask for "
-"moredisk space.</p>"
-
-#: vhffs-intl/extra_strings.pl:12
-msgid "help_user_help"
-msgstr "<h2>Global help</h2><p>Use this to acces global help and FAQ</p>"
-
-#: vhffs-intl/extra_strings.pl:14
-msgid "help_user_logout"
-msgstr "<h2>Logout</h2>Don't forget to logout when you're done"
-
-#: vhffs-intl/extra_strings.pl:11
-msgid "help_user_preferences"
-msgstr ""
-"<h2>Preferences</h2><p>Manage your preferences. Select your language and "
-"theme.</p>"
-
-#: vhffs-intl/extra_strings.pl:16
-msgid "help_user_project"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:15
-msgid "help_user_projects"
-msgstr ""
-"<h2>My projects</h2><p>Manage your existing projects and create new ones.</p>"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:372
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:372
 #, perl-format
 msgid "in the moderation queue of the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:56
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:56
 msgid "lang [fr|us|es]\t - set listengine language\n"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:960
+#: vhffs-listengine/src/listengine.pl:964
 #, perl-format
 msgid "listengine - list of messages to moderate for %s"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:843
-#: vhffs-listengine/src/listengine.pl:865
-#: vhffs-listengine/src/listengine.pl:876
+#: vhffs-listengine/src/listengine.pl:847
+#: vhffs-listengine/src/listengine.pl:869
+#: vhffs-listengine/src/listengine.pl:880
 msgid "listengine help"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:908
-#: vhffs-listengine/src/listengine.pl:919
-#: vhffs-listengine/src/listengine.pl:935
-#: vhffs-listengine/src/listengine.pl:947
-#: vhffs-listengine/src/listengine.pl:974
-#: vhffs-listengine/src/listengine.pl:985
+#: vhffs-listengine/src/listengine.pl:912
+#: vhffs-listengine/src/listengine.pl:923
+#: vhffs-listengine/src/listengine.pl:939
+#: vhffs-listengine/src/listengine.pl:951
+#: vhffs-listengine/src/listengine.pl:978
+#: vhffs-listengine/src/listengine.pl:989
 msgid "listengine moderation"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:893
+#: vhffs-listengine/src/listengine.pl:897
 msgid "listengine result command"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:1026
+#: vhffs-listengine/src/listengine.pl:1030
 msgid "listengine: unknown command"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:302 vhffs-panel/subscribe.pl:224
+#: vhffs-panel/user/prefs.pl:319 vhffs-panel/subscribe.pl:239
 msgid "mail"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:97
+msgid "minutes"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:61
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:61
 msgid "moderate XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:62
 msgid ""
 "moderate accept XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:64
 msgid "moderate list\t\t\t - give the message list for moderation\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:63
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:63
 msgid ""
 "moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n"
 msgstr ""
@@ -4945,93 +4848,96 @@
 msgid "new site"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:118
-#: vhffs-panel/admin/object/edit.pl:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:118
+#: vhffs-panel/admin/object/edit.pl:111
+#: vhffs-api/src/Vhffs/Panel/Object.pm:117
 msgid "no date"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Object.pm:380
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:380
 msgid "no reason given"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:318 vhffs-api/src/Vhffs/Listengine.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:318
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:354
 #, perl-format
 msgid "present in the moderation queue for the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:54
 msgid "subscribe\t - subscribe the shipper to the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:59
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:59
 msgid ""
 "subscription accept XXXXX\t\t - accept the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:60
 msgid ""
 "subscription refuse XXXXX\t\t - refuse the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:55
 msgid "unsubscribe\t - unsubscribe from this list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:69
 msgid "user info user@xxxxxxxxxx\t\t - show user information\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:67
 msgid "user right RIGHT user@xxxxxxxxxx\t - change right for this user\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:66
 msgid ""
 "user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on "
 "the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:65
 msgid ""
 "user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:337
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:337
 #, perl-format
 msgid "was removed from the moderation queue from the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:373
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:373
 msgid "was sent on the list.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:46
-msgid "website(s)"
-msgstr ""
-
-#: vhffs-panel/group/create.pl:86
+#: vhffs-panel/group/create.pl:100
 msgid ""
 "with only lowercase alphanumerical letters, no space, from 3 to 12 characters"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:407
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:407
 #, perl-format
 msgid ""
 "with the following subject :\n"
 "  \"moderate %s\" \n"
 msgstr ""
+
+#~ msgid "help_user_bug"
+#~ msgstr ""
+#~ "<h2>Report bug</h2><p>Use this to contact administration team to report a "
+#~ "bug or ask for an enhancement.</p><p>You can also use this button to ask "
+#~ "for moredisk space.</p>"
+
+#~ msgid "help_user_help"
+#~ msgstr "<h2>Global help</h2><p>Use this to acces global help and FAQ</p>"
+
+#~ msgid "help_user_logout"
+#~ msgstr "<h2>Logout</h2>Don't forget to logout when you're done"
+
+#~ msgid "help_user_preferences"
+#~ msgstr ""
+#~ "<h2>Preferences</h2><p>Manage your preferences. Select your language and "
+#~ "theme.</p>"
+
+#~ msgid "help_user_projects"
+#~ msgstr ""
+#~ "<h2>My projects</h2><p>Manage your existing projects and create new ones."
+#~ "</p>"

Modified: branches/vhffs-design/vhffs-intl/es_ES.po
===================================================================
--- branches/vhffs-design/vhffs-intl/es_ES.po	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/es_ES.po	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,13 +1,13 @@
 # black coffee translation of VHFFS 4.1.
 # Copyright (C) 2007 THE VHFFS 4.1'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the VHFFS 4.1 package.
-# 
-# 
+#
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: VHFFS 4.1 spanish\n"
 "Report-Msgid-Bugs-To: vhffs-dev@xxxxxxxxx\n"
-"POT-Creation-Date: 2008-02-04 10:57+0100\n"
+"POT-Creation-Date: 2009-07-09 13:32+0200\n"
 "PO-Revision-Date: 2007-11-02 22:46-0400\n"
 "Last-Translator: Bruno Marmier <bruno@xxxxxxxxxx>\n"
 "Language-Team: Spanish <vhffs-dev@xxxxxxxxx>\n"
@@ -16,21 +16,15 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:68
 msgid "\t\t\t\t   RIGHT can be subscriber or admin\n"
 msgstr "\t\t\t\t   DERECHO puede ser suscriptor o administrador\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:148 vhffs-api/src/Vhffs/Listengine.pm:164
 #: vhffs-api/src/Vhffs/Listengine.pm:167 vhffs-api/src/Vhffs/Listengine.pm:442
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:148
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:164
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:442
 msgid "\n"
 msgstr "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:425
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:425
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -42,7 +36,6 @@
 "  \"subscription accept %s %s\" \n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:428
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:428
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -53,68 +46,43 @@
 "con el siguiente titulo :\n"
 "  \"subscription refuse %s %s\" \n"
 
-#: vhffs-public/groupsearch.pl:79
+#: vhffs-panel/mailinglist/prefs.pl:297
 #, perl-format
-msgid "%d group(s) found"
-msgstr ""
-
-#: vhffs-public/usersearch.pl:80
-#, perl-format
-msgid "%d user(s) found"
-msgstr ""
-
-#: vhffs-public/websitesearch.pl:78
-#, perl-format
-msgid "%d websites(s) found"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:296
-#, perl-format
 msgid "%s has been added"
 msgstr "%s ha sido añadido"
 
-#: vhffs-panel/mailinglist/prefs.pl:294
+#: vhffs-panel/mailinglist/prefs.pl:295
 #, perl-format
 msgid "%s is already a member of this list"
 msgstr "%s ya es miembro de esta lista"
 
-#: vhffs-panel/mail/prefs.pl:195
+#: vhffs-panel/mail/prefs.pl:194
 #, perl-format
 msgid "%s is not a correct mail address"
 msgstr "%s no es una dirección de correo correcta"
 
-#: vhffs-panel/mailinglist/prefs.pl:292
+#: vhffs-panel/mailinglist/prefs.pl:293
 #, perl-format
 msgid "%s is not a valid mail"
 msgstr "%s no es una dirección de correo válida"
 
-#: vhffs-public/index.pl:65
+#: vhffs-api/src/Vhffs/Panel/Main.pm:706
 #, perl-format
-msgid "%s public area"
-msgstr "Zona pública %s"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:710
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:710
-#, perl-format
 msgid "%s's Panel"
 msgstr "Panel de %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:150 vhffs-api/src/Vhffs/Listengine.pm:169
 #: vhffs-api/src/Vhffs/Listengine.pm:444
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:169
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:444
 #, perl-format
 msgid "%s-request@%s with subject \"help\"\n"
 msgstr "%s-request@%s con el título \"help\"\n"
 
-#: vhffs-panel/dns/prefs.pl:312
+#: vhffs-panel/dns/prefs.pl:314
 #, perl-format
 msgid "@ represents the origin (%s)"
 msgstr "@ representa el origen de (%s)"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:299
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:303
 msgid ""
 "A CNAME, A or AAAA record with the same name already exists for this domain"
 msgstr ""
@@ -128,8 +96,11 @@
 msgid "A Record updated"
 msgstr "Registro A modificado"
 
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:347
+msgid "A TXT record with the same name already exists for this domain"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:404
 #, perl-format
 msgid ""
 "A mail to moderate is on the following mailing list:\n"
@@ -141,7 +112,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:421
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:421
 #, perl-format
 msgid ""
 "A new person wants to subscribe to the following mailing list:\n"
@@ -184,41 +154,41 @@
 msgid "ACL updated"
 msgstr "ACL modificada"
 
-#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
+#: vhffs-panel/cron/create.pl:108
+msgid "Absolute path of the command to run"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:88 vhffs-panel/admin/moderation.pl:115
 msgid "Accept"
 msgstr "Aceptar"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:185 vhffs-api/src/Vhffs/Panel/Main.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:206
+#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
 msgid "Access denied"
 msgstr "Acceso denegado"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:68
 msgid "Access to panel"
 msgstr "Acceder al panel"
 
-#: vhffs-panel/mail/prefs.pl:111
+#: vhffs-panel/mail/prefs.pl:110
 msgid "Accounts"
 msgstr "Cuentas"
 
-#: vhffs-panel/user/prefs.pl:411
+#: vhffs-panel/user/prefs.pl:428
 #, perl-format
 msgid "Activate %s@%s email"
 msgstr "Activar correo %s@%s"
 
-#: vhffs-intl/extra_strings.pl:25 vhffs-api/src/Vhffs/Panel/Object.pm:125
-#: vhffs-panel/admin/object/edit.pl:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:125
+#: vhffs-panel/admin/object/edit.pl:118
+#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 msgid "Activated"
 msgstr "Activado"
 
-#: vhffs-panel/group/prefs.pl:150 vhffs-panel/group/prefs.pl:240
+#: vhffs-panel/group/prefs.pl:155 vhffs-panel/group/prefs.pl:253
 msgid "Add"
 msgstr "Añadir"
 
-#: vhffs-panel/dns/prefs.pl:265
+#: vhffs-panel/dns/prefs.pl:264
 msgid "Add !"
 msgstr "Añadir !"
 
@@ -226,7 +196,7 @@
 msgid "Add a CNAME field to your domain"
 msgstr "Añadir un campo CNAME para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:270
+#: vhffs-panel/dns/prefs.pl:269
 msgid "Add a MX field to your domain"
 msgstr "Añadir un campo MX para este dominio"
 
@@ -234,47 +204,47 @@
 msgid "Add a NS field to your domain"
 msgstr "Añadir un campo NS para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:292
+#: vhffs-panel/dns/prefs.pl:293
 msgid "Add a SRV record to your domain"
 msgstr "Añadir un campo SRV para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:304
+#: vhffs-panel/dns/prefs.pl:306
 msgid "Add a TXT record"
 msgstr "Añadir una entrada TXT"
 
-#: vhffs-panel/mail/prefs.pl:122 vhffs-panel/mail/prefs.pl:132
+#: vhffs-panel/mail/prefs.pl:121 vhffs-panel/mail/prefs.pl:131
 msgid "Add a forward on this domain"
 msgstr "Añadir una redirección para este dominio"
 
-#: vhffs-panel/mail/prefs.pl:131
+#: vhffs-panel/mail/prefs.pl:130
 msgid "Add a popbox to this domain"
 msgstr "Añadir un buzón pop para este dominio"
 
-#: vhffs-panel/group/prefs.pl:239
+#: vhffs-panel/group/prefs.pl:252
 msgid "Add a user in this group"
 msgstr "Añadir un nuevo usuario en este grupo"
 
-#: vhffs-panel/dns/prefs.pl:238
+#: vhffs-panel/dns/prefs.pl:237
 msgid "Add an A record"
 msgstr "Añadir un registro A"
 
-#: vhffs-panel/dns/prefs.pl:239
+#: vhffs-panel/dns/prefs.pl:238
 msgid "Add an AAAA record"
 msgstr "Añadir un registro AAAA"
 
-#: vhffs-panel/mail/prefs.pl:113
+#: vhffs-panel/mail/prefs.pl:112
 msgid "Add an account"
 msgstr "Añadir una cuenta"
 
-#: vhffs-panel/mailinglist/prefs.pl:148
+#: vhffs-panel/mailinglist/prefs.pl:147
 msgid "Add members"
 msgstr "Añadir miembros"
 
-#: vhffs-panel/mailinglist/prefs.pl:150
+#: vhffs-panel/mailinglist/prefs.pl:149
 msgid "Add them !"
 msgstr "Añadirlos"
 
-#: vhffs-panel/user/prefs.pl:307 vhffs-panel/subscribe.pl:230
+#: vhffs-panel/user/prefs.pl:324 vhffs-panel/subscribe.pl:245
 msgid "Address"
 msgstr "Dirección"
 
@@ -282,83 +252,73 @@
 msgid "Address (ServerName directive)"
 msgstr "Dirección (directiva ServerName)"
 
-#: vhffs-panel/web/prefs.pl:95
+#: vhffs-panel/web/prefs.pl:92
 msgid "Address (Servername)"
 msgstr "Dirección (ServerName)"
 
-#: vhffs-panel/user/prefs.pl:138
+#: vhffs-panel/user/prefs.pl:140
 msgid "Address is not correct !"
 msgstr "¡Su dirección no es correcta!"
 
-#: vhffs-panel/mailinglist/prefs.pl:149
+#: vhffs-panel/mailinglist/prefs.pl:148
 msgid "Addresses (one per line)"
 msgstr "Direcciones (una por linea)"
 
-#: vhffs-intl/template_strings.pl:79
-msgid "Admin"
-msgstr "Admin"
-
-#: vhffs-panel/cvs/prefs.pl:107
+#: vhffs-panel/cvs/prefs.pl:94
 msgid "Admin CVS Repository"
 msgstr "Admin Repositorio CVS"
 
-#: vhffs-panel/repository/prefs.pl:81
+#: vhffs-panel/repository/prefs.pl:80
 msgid "Admin Download repository"
 msgstr "Admin repositorio de download"
 
-#: vhffs-panel/git/prefs.pl:96
+#: vhffs-panel/git/prefs.pl:93
 msgid "Admin Git Repository"
 msgstr "Admin Repositorio Git"
 
-#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:112
-#: vhffs-panel/dns/prefs.pl:245 vhffs-panel/svn/prefs.pl:104
-#: vhffs-panel/web/prefs.pl:103
+#: vhffs-panel/mysql/prefs.pl:106 vhffs-panel/cron/prefs.pl:144
+#: vhffs-panel/svn/prefs.pl:105 vhffs-panel/dns/prefs.pl:244
+#: vhffs-panel/mail/prefs.pl:142 vhffs-panel/git/prefs.pl:109
+#: vhffs-panel/web/prefs.pl:100
 msgid "Admin Rights on this object (ACL)"
 msgstr "Derechos admin sobre este objeto (ACL)"
 
-#: vhffs-panel/svn/prefs.pl:87
+#: vhffs-panel/svn/prefs.pl:88
 msgid "Admin Subversion Repository"
 msgstr "Admin repositorio Subversion"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:426
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:426
+#: vhffs-api/src/Vhffs/Panel/Main.pm:416
 msgid "Admin account"
 msgstr "Cuenta Admin: "
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:96
+#: vhffs-api/src/Vhffs/Panel/Object.pm:95
 msgid "Admin part"
 msgstr "Parte admin"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:430
-#: vhffs-panel/admin/index.pl:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:430
+#: vhffs-panel/admin/index.pl:55 vhffs-api/src/Vhffs/Panel/Main.pm:417
+#: vhffs-api/src/Vhffs/Panel/Main.pm:420
 msgid "Administration"
 msgstr "Administración"
 
-#: vhffs-panel/mailinglist/prefs.pl:99
+#: vhffs-panel/mailinglist/prefs.pl:98
 #, perl-format
 msgid "Administration for list %s"
 msgstr "Administración para la lista %s"
 
-#: vhffs-intl/template_strings.pl:86
-msgid "Administrator"
-msgstr "Administrador"
+#: vhffs-panel/admin/tag/category/create.pl:75
+#: vhffs-panel/admin/tag/category/edit.pl:86
+msgid "Administrators"
+msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:116
+#: vhffs-panel/mailinglist/prefs.pl:115
 msgid "Admins only"
 msgstr "Sólo administradores"
 
-#: vhffs-public/allgroups.pl:74 vhffs-public/allwebsites.pl:74
-msgid "All"
-msgstr "Todos"
-
-#: vhffs-panel/dns/prefs.pl:232
+#: vhffs-panel/dns/prefs.pl:231
 msgid "All A TYPE for your domain name"
 msgstr "Todos los A TYPE para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:233
+#: vhffs-panel/dns/prefs.pl:232
 msgid "All AAAA TYPE for your domain name"
 msgstr "Todos los AAAA TYPE para este dominio"
 
@@ -366,15 +326,11 @@
 msgid "All CNAME TYPE for your domain name"
 msgstr "Todos los CNAME TYPE para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:235
+#: vhffs-panel/dns/prefs.pl:234
 msgid "All CNAME for your domain name"
 msgstr "Todos los CNAME TYPE para este dominio"
 
-#: vhffs-intl/template_strings.pl:28
-msgid "All Groups"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:234 vhffs-panel/dns/prefs.pl:269
+#: vhffs-panel/dns/prefs.pl:233 vhffs-panel/dns/prefs.pl:268
 msgid "All MX TYPE for your domain name"
 msgstr "Todos los MX TYPE para este dominio"
 
@@ -382,7 +338,7 @@
 msgid "All NS TYPE for your domain name"
 msgstr "Todos los NS TYPE para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:291
+#: vhffs-panel/dns/prefs.pl:292
 msgid "All SRV records for your domain name"
 msgstr "Todos los registros SRV para este dominio"
 
@@ -390,16 +346,11 @@
 msgid "All Subversion repositories lists"
 msgstr "Todas las listas de repositorios Subversion"
 
-#: vhffs-panel/dns/prefs.pl:305
+#: vhffs-panel/dns/prefs.pl:307
 msgid "All TXT records for your domain name"
 msgstr "Todos los registros TXT para este dominio"
 
-#: vhffs-intl/template_strings.pl:34
-msgid "All Websites"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:48
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:48
 msgid "All commands can be sent as mail subject.\n"
 msgstr "Todos los comandos pueden ser enviadas en el título del mensaje.\n"
 
@@ -407,52 +358,38 @@
 msgid "All git repositories lists"
 msgstr "Todas las listas de repositorios Git"
 
-#: vhffs-public/allgroups.pl:72
-#, perl-format
-msgid "All groups on %s"
-msgstr "Todas los grupos en %s"
-
-#: vhffs-panel/admin/broadcast_list.pl:77
+#: vhffs-panel/admin/broadcast_list.pl:75
 msgid "All mailings sent to hosted"
 msgstr "Todos los mensajes enviados a los usuarios hospedados"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:50
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:50
 msgid ""
 "All mails with commands must be sent on YOURLIST-request@xxxxxxxxxx list.\n"
 msgstr ""
 "Todos los correos con comandos deben ser enviados a SULISTA-request@domain."
 "tld.\n"
 
-#: vhffs-panel/admin/object/list.pl:85
+#: vhffs-panel/admin/object/list.pl:83
 msgid "All objects List"
 msgstr "Todas las listas de objetos"
 
-#: vhffs-panel/group/prefs.pl:257
+#: vhffs-panel/group/prefs.pl:270
 msgid "All users in this group"
 msgstr "Todos los usuarios de este grupo"
 
-#: vhffs-public/allwebsites.pl:72
-#, perl-format
-msgid "All websites on %s"
-msgstr "Todos los sitios web en %s"
-
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:251
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:251
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:252
 msgid "An MX record with the same name already exists for this domain"
 msgstr "Ya existe un registro MX con este mismo nombre para este dominio"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:274
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:274
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:277
 msgid "An NS record with the same name already exists for this domain"
 msgstr "Ya existe un registro NS con este mismo nombre para este dominio"
 
-#: vhffs-panel/cvs/prefs.pl:87 vhffs-panel/cvs/prefs.pl:100
+#: vhffs-panel/cvs/prefs.pl:87
 msgid "An error occured during CVS repository update"
 msgstr "Un error ocurrió durante la creación del repositorio cvs."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:493
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:493
 #, perl-format
 msgid ""
 "An error occured during your approval of subscription of:\n"
@@ -468,7 +405,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:194
 #, perl-format
 msgid ""
 "An error occured during your subscription to the following list:\n"
@@ -479,32 +415,32 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/user/prefs.pl:217
+#: vhffs-panel/user/prefs.pl:223
 msgid "An error occured while adding the box"
 msgstr "Un error ocurrió durante la creación del buzón."
 
-#: vhffs-panel/user/prefs.pl:219
+#: vhffs-panel/user/prefs.pl:225
 msgid "An error occured while adding the box (anti-spam adding)"
 msgstr ""
 "Un error ocurrió durante la modificación del buzón (configuración del anti-"
 "spam)"
 
-#: vhffs-panel/user/prefs.pl:221
+#: vhffs-panel/user/prefs.pl:227
 msgid "An error occured while adding the box (anti-virus adding)"
 msgstr ""
 "Un error ocurrió durante la modificación del buzón (configuración del anti-"
 "virus)"
 
-#: vhffs-panel/user/prefs.pl:266
+#: vhffs-panel/user/prefs.pl:272
 msgid "An error occured while adding the forwarding"
 msgstr "Un error ocurrió durante la creación de la redirección"
 
-#: vhffs-panel/user/delete.pl:83
+#: vhffs-panel/user/delete.pl:81
 msgid "An error occured while applying changes. This user will NOT be deleted"
 msgstr ""
 "Un error ocurrió durante la modificación Esto usuario NO será destruido"
 
-#: vhffs-panel/web/delete.pl:92
+#: vhffs-panel/web/delete.pl:90
 msgid ""
 "An error occured while applying changes. This web area will NOT be deleted"
 msgstr ""
@@ -514,7 +450,7 @@
 msgid "An error occured while creating the git repository"
 msgstr "Un error ocurrió durante la creación del repositorio git."
 
-#: vhffs-panel/mail/create.pl:83
+#: vhffs-panel/mail/create.pl:84
 msgid "An error occured while creating the mail area"
 msgstr "Un error ocurrió durante la creación de la zona mail"
 
@@ -526,7 +462,7 @@
 "Un error ocurrió durante la creación del objeto. Verifique que este grupo no "
 "tenga ya un repositorio de download"
 
-#: vhffs-panel/dns/create.pl:60
+#: vhffs-panel/dns/create.pl:61
 msgid ""
 "An error occured while creating the object. The domain is not correct or "
 "aleady exists in Vhffs database"
@@ -534,7 +470,7 @@
 "Un error ocurrió durante la creación del objeto. El dominio no es correcto o "
 "ya existe en la base de datos Vhffs."
 
-#: vhffs-panel/cvs/create.pl:92 vhffs-panel/mailinglist/create.pl:92
+#: vhffs-panel/mailinglist/create.pl:92 vhffs-panel/cvs/create.pl:92
 msgid "An error occured while creating the object.It probably already exists"
 msgstr ""
 "Un error ocurrió durante la creación del objeto. Probablemente ya existe."
@@ -543,23 +479,23 @@
 msgid "An error occured while creating the svn repository"
 msgstr "Un error ocurrió durante la creación del repositorio svn."
 
-#: vhffs-panel/cvs/delete.pl:93
+#: vhffs-panel/cvs/delete.pl:92
 msgid "An error occured while deleting the CVS repository"
 msgstr "Un error ocurrió durante la creación del repositorio cvs."
 
-#: vhffs-panel/repository/delete.pl:95
+#: vhffs-panel/repository/delete.pl:94
 msgid "An error occured while deleting the Download repository"
 msgstr "Un error ocurrió durante la destrucción del repositorio de download."
 
-#: vhffs-panel/svn/delete.pl:94
+#: vhffs-panel/svn/delete.pl:93
 msgid "An error occured while deleting the Subversion repository"
 msgstr "Un error ocurrió durante la destrucción del repositorio Subversion"
 
-#: vhffs-panel/git/delete.pl:99
+#: vhffs-panel/git/delete.pl:98
 msgid "An error occured while deleting the git repository"
 msgstr "Un error ocurrió durante la destrucción del repositorio git"
 
-#: vhffs-panel/admin/broadcast_delete.pl:96
+#: vhffs-panel/admin/broadcast_delete.pl:92
 msgid "An error occured while deleting this mailing"
 msgstr "Un error ocurrió durante destrucción de este mailing."
 
@@ -567,31 +503,34 @@
 msgid "An error occured while deleting this object."
 msgstr "Un error ocurrió durante la destrucción de este objeto."
 
-#: vhffs-panel/user/prefs.pl:275
+#: vhffs-panel/group/prefs.pl:414
+msgid "An error occured while saving your request"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:281
 msgid "An error occured while the forwarding"
 msgstr "Un error ocurrió durante la redirección"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:285
 #, perl-format
 msgid ""
 "An error occured while updating language for the following address: %s.\n"
 msgstr ""
 "Un error ocurrió durante la modificación del idioma para la dirección: %s.\n"
 
-#: vhffs-panel/mail/prefs.pl:197
+#: vhffs-panel/mail/prefs.pl:196
 msgid "An error occured while updating the mail domain"
 msgstr "Un error ocurrió durante la actualización de la zona mail."
 
-#: vhffs-panel/admin/object/edit_submit.pl:91
+#: vhffs-panel/admin/object/edit_submit.pl:89
 msgid "An error occured while updating the object"
 msgstr "Un error ocurrió durante la actualización del objeto."
 
-#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/delete.pl:83
+#: vhffs-panel/group/prefs.pl:100 vhffs-panel/group/delete.pl:82
 msgid "An error occured while updating the project"
 msgstr "Un error ocurrió durante la actualización del proyecto."
 
-#: vhffs-panel/user/prefs.pl:188
+#: vhffs-panel/user/prefs.pl:194
 msgid "An error occured while updating the user account"
 msgstr "Un error ocurrió durante la actualización de la cuenta de usuario."
 
@@ -599,15 +538,15 @@
 msgid "An error occured while updating this object."
 msgstr "Un error ocurrió durante la actualización de este objeto."
 
-#: vhffs-panel/svn/prefs.pl:98
-msgid "Are you SURE you want DELETE this  subversion repository ?"
-msgstr "¿Está SEGURO(A) que quiere DESTRUIR este repositorio subversion?"
+#: vhffs-panel/cron/prefs.pl:151
+msgid "Are you SURE you want DELETE this Cron job ?"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/mail/prefs.pl:136
 msgid "Are you SURE you want DELETE this Mail Area ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR esta zona mail?"
 
-#: vhffs-panel/mysql/prefs.pl:112
+#: vhffs-panel/mysql/prefs.pl:113
 msgid "Are you SURE you want DELETE this MySQL database ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR esta base de datos MySQL?"
 
@@ -615,23 +554,23 @@
 msgid "Are you SURE you want DELETE this PostgreSQL database ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR esta base de datos PostgreSQL?"
 
-#: vhffs-panel/web/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:107
 msgid "Are you SURE you want DELETE this Web Area ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR esta zona web?"
 
-#: vhffs-panel/cvs/prefs.pl:117
+#: vhffs-panel/cvs/prefs.pl:104
 msgid "Are you SURE you want DELETE this cvs repository ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este repositorio CVS?"
 
-#: vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/dns/prefs.pl:252
 msgid "Are you SURE you want DELETE this domain ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este dominio"
 
-#: vhffs-panel/repository/prefs.pl:90
+#: vhffs-panel/repository/prefs.pl:89
 msgid "Are you SURE you want DELETE this download repository ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este repositorio de download?"
 
-#: vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/git/prefs.pl:103
 msgid "Are you SURE you want DELETE this git repository?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este repositorio git?"
 
@@ -639,42 +578,49 @@
 msgid "Are you SURE you want DELETE this mailing list ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR esta lista de correo?"
 
-#: vhffs-panel/group/prefs.pl:214
+#: vhffs-panel/group/prefs.pl:227
 msgid "Are you SURE you want DELETE this project ?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este proyecto?"
 
-#: vhffs-panel/user/prefs.pl:327
+#: vhffs-panel/svn/prefs.pl:99
+msgid "Are you SURE you want DELETE this subversion repository ?"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:344
 msgid "Are you SURE you want DELETE this user?"
 msgstr "¿Está SEGURO(A) que quiere DESTRUIR este usuario?"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:100
+#: vhffs-panel/cron/prefs.pl:126
+msgid "As soon as possible"
+msgstr ""
+
+#: vhffs-panel/admin/object/delete_avatar.pl:98
 msgid "Avatar deleted"
 msgstr "Avatar borrado"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:199
-#: vhffs-panel/admin/object/edit.pl:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:199
+#: vhffs-panel/admin/object/edit.pl:193
+#: vhffs-api/src/Vhffs/Panel/Object.pm:198
 msgid "Avatar management"
 msgstr "Administrar avatar"
 
-#: vhffs-panel/admin/broadcast_view.pl:97
-#: vhffs-panel/admin/broadcast_list.pl:96
+#: vhffs-panel/admin/broadcast_list.pl:94
+#: vhffs-panel/admin/broadcast_view.pl:95
 msgid "Awaiting sending"
 msgstr "Envío en espera"
 
-#: vhffs-panel/subscribe.pl:191 vhffs-panel/subscribe.pl:232
+#: vhffs-panel/subscribe.pl:193 vhffs-panel/subscribe.pl:247
 msgid "Back to Login"
 msgstr "Volver al Login"
 
-#: vhffs-intl/template_strings.pl:14 vhffs-panel/lost.pl:59
+#: vhffs-panel/lost.pl:59
 msgid "Back to login page"
 msgstr "Volver a la página de login"
 
-#: vhffs-panel/pgsql/prefs.pl:126 vhffs-panel/mysql/prefs.pl:137
+#: vhffs-panel/mysql/prefs.pl:138 vhffs-panel/pgsql/prefs.pl:126
 msgid "Bad password, should be at least 3 chars"
 msgstr "Contraseña mala, debe tener por los menos 3 caracteres"
 
-#: vhffs-panel/dns/create.pl:73
+#: vhffs-panel/dns/create.pl:74
 msgid ""
 "Be careful ! You must give the reason why you want to host this domain on "
 "our servers."
@@ -692,20 +638,20 @@
 "con el nombre de servidor dominio.tld. VHFFS redirige todos los pedidos de "
 "www.dominio.tld a dominio.tld"
 
-#: vhffs-panel/admin/broadcast_view.pl:89
+#: vhffs-panel/admin/broadcast_view.pl:87
 msgid "Body"
 msgstr "Cuerpo de mensaje"
 
-#: vhffs-panel/mail/prefs.pl:272
+#: vhffs-panel/mail/prefs.pl:271
 #, perl-format
 msgid "Box %s deleted"
 msgstr "Buzón %s borrado"
 
-#: vhffs-panel/mail/prefs.pl:239
+#: vhffs-panel/mail/prefs.pl:238
 msgid "Box password updated"
 msgstr "Contraseña del buzón modificada"
 
-#: vhffs-panel/mail/prefs.pl:216
+#: vhffs-panel/mail/prefs.pl:215
 msgid "Box successfully added"
 msgstr ""
 
@@ -717,49 +663,67 @@
 "Entre su nombre de usuario aquí<br/>y recibirá una nueva contraseña por "
 "correo!"
 
-#: vhffs-public/group.pl:72 vhffs-public/user.pl:60 vhffs-public/user.pl:64
-#: vhffs-panel/repository/prefs.pl:68 vhffs-panel/repository/create.pl:77
-#: vhffs-panel/mail/prefs.pl:185 vhffs-panel/mail/prefs.pl:212
-#: vhffs-panel/mail/prefs.pl:233 vhffs-panel/mail/prefs.pl:268
-#: vhffs-panel/mail/prefs.pl:284 vhffs-panel/mail/prefs.pl:300
-#: vhffs-panel/mail/prefs.pl:315 vhffs-panel/mail/delete.pl:75
-#: vhffs-panel/mail/create.pl:74 vhffs-panel/git/prefs.pl:70
-#: vhffs-panel/git/delete.pl:74 vhffs-panel/git/create.pl:79
-#: vhffs-panel/dns/prefs.pl:76 vhffs-panel/dns/delete.pl:79
-#: vhffs-panel/dns/create.pl:49 vhffs-panel/pgsql/prefs.pl:121
-#: vhffs-panel/pgsql/delete.pl:81 vhffs-panel/pgsql/create.pl:82
-#: vhffs-panel/admin/object/edit.pl:80
-#: vhffs-panel/admin/object/edit_submit.pl:78
-#: vhffs-panel/admin/object/delete_avatar.pl:82
+#: vhffs-panel/admin/tag/request/details.pl:68
+#: vhffs-panel/admin/tag/request/details.pl:137 vhffs-public/group.pl:53
+msgid "CGI Error"
+msgstr "Error CGI"
+
+#: vhffs-panel/mysql/prefs.pl:71 vhffs-panel/mysql/prefs.pl:133
+#: vhffs-panel/mysql/create.pl:82 vhffs-panel/mysql/delete.pl:74
+#: vhffs-panel/pgsql/prefs.pl:121 vhffs-panel/pgsql/create.pl:82
+#: vhffs-panel/pgsql/delete.pl:80 vhffs-panel/admin/broadcast_view.pl:77
+#: vhffs-panel/admin/broadcast_submit.pl:80
+#: vhffs-panel/admin/broadcast_delete.pl:80
 #: vhffs-panel/admin/moderation_submit.pl:77
-#: vhffs-panel/admin/broadcast_delete.pl:84
-#: vhffs-panel/admin/broadcast_submit.pl:84
-#: vhffs-panel/admin/broadcast_view.pl:79 vhffs-panel/cvs/prefs.pl:67
-#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/delete.pl:74
-#: vhffs-panel/cvs/create.pl:80 vhffs-panel/group/prefs.pl:84
-#: vhffs-panel/group/prefs.pl:105 vhffs-panel/group/prefs.pl:123
-#: vhffs-panel/group/prefs.pl:164 vhffs-panel/acl/view.pl:85
-#: vhffs-panel/mysql/prefs.pl:70 vhffs-panel/mysql/prefs.pl:132
-#: vhffs-panel/mysql/delete.pl:75 vhffs-panel/mysql/create.pl:82
-#: vhffs-panel/object/resubmit.pl:63 vhffs-panel/object/resubmit.pl:87
-#: vhffs-panel/object/quickdelete.pl:63 vhffs-panel/svn/prefs.pl:66
-#: vhffs-panel/svn/prefs.pl:139 vhffs-panel/svn/delete.pl:73
-#: vhffs-panel/svn/create.pl:79 vhffs-panel/mailinglist/prefs.pl:210
-#: vhffs-panel/mailinglist/prefs.pl:235 vhffs-panel/mailinglist/prefs.pl:256
-#: vhffs-panel/mailinglist/prefs.pl:276 vhffs-panel/mailinglist/delete.pl:79
-#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/web/prefs.pl:130
-#: vhffs-panel/web/create.pl:77 vhffs-panel/user/prefs.pl:114
-#: vhffs-panel/user/prefs.pl:469 vhffs-panel/history.pl:84
+#: vhffs-panel/admin/object/delete_avatar.pl:80
+#: vhffs-panel/admin/object/edit_submit.pl:76
+#: vhffs-panel/admin/object/edit.pl:78 vhffs-panel/history.pl:82
+#: vhffs-panel/mailinglist/prefs.pl:210 vhffs-panel/mailinglist/prefs.pl:235
+#: vhffs-panel/mailinglist/prefs.pl:256 vhffs-panel/mailinglist/prefs.pl:276
+#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/mailinglist/delete.pl:77
+#: vhffs-panel/cron/prefs.pl:70 vhffs-panel/cron/prefs.pl:174
+#: vhffs-panel/cron/create.pl:84 vhffs-panel/cron/delete.pl:74
+#: vhffs-panel/repository/prefs.pl:67 vhffs-panel/repository/create.pl:77
+#: vhffs-panel/user/prefs.pl:116 vhffs-panel/user/prefs.pl:494
+#: vhffs-panel/svn/prefs.pl:67 vhffs-panel/svn/prefs.pl:140
+#: vhffs-panel/svn/create.pl:79 vhffs-panel/svn/delete.pl:72
+#: vhffs-panel/object/quickdelete.pl:62 vhffs-panel/object/resubmit.pl:62
+#: vhffs-panel/object/resubmit.pl:86 vhffs-panel/dns/prefs.pl:76
+#: vhffs-panel/dns/create.pl:50 vhffs-panel/dns/delete.pl:71
+#: vhffs-panel/group/prefs.pl:89 vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:128 vhffs-panel/group/prefs.pl:169
+#: vhffs-panel/mail/prefs.pl:184 vhffs-panel/mail/prefs.pl:211
+#: vhffs-panel/mail/prefs.pl:232 vhffs-panel/mail/prefs.pl:267
+#: vhffs-panel/mail/prefs.pl:283 vhffs-panel/mail/prefs.pl:299
+#: vhffs-panel/mail/prefs.pl:314 vhffs-panel/mail/create.pl:75
+#: vhffs-panel/mail/delete.pl:73 vhffs-panel/cvs/prefs.pl:67
+#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/create.pl:80
+#: vhffs-panel/cvs/delete.pl:73 vhffs-panel/git/prefs.pl:71
+#: vhffs-panel/git/create.pl:79 vhffs-panel/git/delete.pl:73
+#: vhffs-panel/acl/view.pl:85 vhffs-panel/web/prefs.pl:127
+#: vhffs-panel/web/create.pl:77
 #, perl-format
 msgid "CGI Error !"
 msgstr "Error CGI"
 
-#: vhffs-panel/repository/delete.pl:74
+#: vhffs-panel/repository/delete.pl:73
 #, perl-format
 msgid "CGI Error ! %s"
 msgstr "Error CGI %s"
 
-#: vhffs-panel/git/prefs.pl:169
+#: vhffs-panel/admin/tag/category/edit.pl:62
+#: vhffs-panel/admin/tag/create.pl:85 vhffs-panel/admin/tag/edit.pl:63
+msgid "CGI Error!"
+msgstr "Error CGI!"
+
+#: vhffs-panel/admin/tag/category/create.pl:90
+#: vhffs-panel/admin/tag/category/edit.pl:106 vhffs-panel/admin/tag/edit.pl:98
+#: vhffs-panel/group/prefs.pl:332 vhffs-panel/group/prefs.pl:365
+#: vhffs-panel/group/prefs.pl:399
+msgid "CGI error"
+msgstr "Error CGI"
+
+#: vhffs-panel/git/prefs.pl:144
 msgid "CGI error !"
 msgstr ""
 
@@ -775,30 +739,19 @@
 msgid "CNAME Record updated"
 msgstr "Registro CNAME modificado"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:116
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:120
 msgid "CVS"
 msgstr "CVS"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:188
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:188
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:208
 msgid "CVS Admin"
 msgstr "Admin CVS"
 
-#: vhffs-intl/template_strings.pl:42
-msgid "CVS Repositories for this group"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:41
-msgid "CVS Repository"
-msgstr "Repositorio CVS"
-
 #: vhffs-panel/admin/cvs/list.pl:76
 msgid "CVS Root"
 msgstr "Raíz del repositorio CVS "
 
-#: vhffs-panel/cvs/index.pl:60
+#: vhffs-panel/cvs/index.pl:61
 #, perl-format
 msgid "CVS repositories for %s"
 msgstr "Repositorios CVS para %s"
@@ -807,11 +760,11 @@
 msgid "CVS repositories' administration"
 msgstr "Administración repositorios CVS"
 
-#: vhffs-panel/cvs/prefs.pl:85 vhffs-panel/cvs/prefs.pl:98
+#: vhffs-panel/cvs/prefs.pl:85
 msgid "CVS repository updated"
 msgstr "Repositorio CVS modificado"
 
-#: vhffs-panel/admin/stats.pl:120
+#: vhffs-panel/admin/stats.pl:119
 msgid "CVS stats"
 msgstr "Estadísticas CVS"
 
@@ -835,7 +788,11 @@
 msgid "Can't access"
 msgstr "No puede acceder"
 
-#: vhffs-panel/subscribe.pl:184
+#: vhffs-panel/cron/delete.pl:89
+msgid "Cannot apply changes"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:186
 msgid "Cannot apply changes to the user"
 msgstr "No puede aplicar los cambios por el usuario"
 
@@ -843,12 +800,11 @@
 msgid "Cannot apply modifications"
 msgstr "No puede aplicar las modificaciones"
 
-#: vhffs-panel/mailinglist/delete.pl:103
+#: vhffs-panel/mailinglist/delete.pl:101
 msgid "Cannot commit changes on this object, will NOT be deleted"
 msgstr "Es imposible aplicar los cambios sobre esto objeto, NO será destruido"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:352
+#: vhffs-api/src/Vhffs/Panel/Main.pm:357
 msgid ""
 "Cannot create or fetch session file, please check that /tmp is readable and "
 "writeable"
@@ -856,17 +812,17 @@
 "Imposible acceder al archivo de sesión, verifique que /tmp está accesible "
 "para lectura y escritura"
 
-#: vhffs-panel/subscribe.pl:174
+#: vhffs-panel/subscribe.pl:176
 msgid "Cannot create user, the username you entered already exists"
 msgstr "No se puede crear el usuario, este nombre de usuario ya existe."
 
-#: vhffs-panel/admin/object/delete_avatar.pl:96
+#: vhffs-panel/admin/object/delete_avatar.pl:94
 msgid "Cannot delete this avatar"
 msgstr "No puede borrar este avatar"
 
-#: vhffs-panel/admin/object/edit.pl:85
-#: vhffs-panel/admin/object/edit_submit.pl:82
-#: vhffs-panel/admin/object/delete_avatar.pl:86
+#: vhffs-panel/admin/object/delete_avatar.pl:84
+#: vhffs-panel/admin/object/edit_submit.pl:80
+#: vhffs-panel/admin/object/edit.pl:83
 msgid "Cannot fetch object"
 msgstr "No se puede leer el objeto"
 
@@ -874,7 +830,7 @@
 msgid "Cannot find object"
 msgstr "No se puede conseguir el objeto"
 
-#: vhffs-panel/history.pl:89
+#: vhffs-panel/history.pl:87
 msgid "Cannot get information on this object"
 msgstr "No se pudo obtener informaciones sobre esto objeto"
 
@@ -883,28 +839,28 @@
 msgid "Cannot get informations on object #%d"
 msgstr "No pudo obtener informaciones sobre el objeto #%d"
 
-#: vhffs-panel/repository/prefs.pl:71 vhffs-panel/git/prefs.pl:75
-#: vhffs-panel/dns/prefs.pl:81 vhffs-panel/dns/delete.pl:83
-#: vhffs-panel/pgsql/prefs.pl:68 vhffs-panel/cvs/prefs.pl:70
-#: vhffs-panel/mysql/prefs.pl:75 vhffs-panel/svn/prefs.pl:71
-#: vhffs-panel/mailinglist/delete.pl:83 vhffs-panel/web/prefs.pl:74
-#: vhffs-panel/user/prefs.pl:73
+#: vhffs-panel/mysql/prefs.pl:76 vhffs-panel/pgsql/prefs.pl:68
+#: vhffs-panel/mailinglist/delete.pl:81 vhffs-panel/cron/prefs.pl:75
+#: vhffs-panel/repository/prefs.pl:70 vhffs-panel/user/prefs.pl:74
+#: vhffs-panel/svn/prefs.pl:72 vhffs-panel/dns/prefs.pl:81
+#: vhffs-panel/dns/delete.pl:75 vhffs-panel/cvs/prefs.pl:70
+#: vhffs-panel/git/prefs.pl:76 vhffs-panel/web/prefs.pl:71
 msgid "Cannot get informations on this object"
 msgstr "No se pudo obtener informaciones sobre esto objeto"
 
-#: vhffs-panel/admin/stats.pl:74
+#: vhffs-panel/admin/stats.pl:73
 msgid "Cannot get statistics"
 msgstr "No se pudo obtener estadísticas"
 
-#: vhffs-panel/cvs/delete.pl:78
+#: vhffs-panel/cvs/delete.pl:77
 msgid "Cannot retrieve informations about this CVS repository"
 msgstr "No se pudo recuperar informaciones sobre este repositorio CVS"
 
-#: vhffs-panel/repository/delete.pl:78
+#: vhffs-panel/repository/delete.pl:77
 msgid "Cannot retrieve informations about this Download repository"
 msgstr "No se pudo recuperar informaciones sobre este repositorio de download"
 
-#: vhffs-panel/git/delete.pl:78 vhffs-panel/svn/delete.pl:77
+#: vhffs-panel/svn/delete.pl:76 vhffs-panel/git/delete.pl:77
 msgid "Cannot retrieve informations about this repository"
 msgstr "No se pudo recuperar informaciones sobre este repositorio"
 
@@ -912,117 +868,144 @@
 msgid "Cannot send message, CGI error..."
 msgstr "No se pudo enviar el mensaje, error CGI..."
 
-#: vhffs-panel/mail/prefs.pl:105
+#: vhffs-panel/mail/prefs.pl:104
 msgid "Catchall address"
 msgstr "Dirección del catchall"
 
-#: vhffs-panel/mail/prefs.pl:199
+#: vhffs-panel/mail/prefs.pl:198
 msgid "Catchall address successfully changed"
 msgstr "Se modificó con éxito la dirección del catchall"
 
-#: vhffs-panel/mail/prefs.pl:180
+#: vhffs-panel/mail/prefs.pl:179
 msgid "Catchall isn't enabled on this platform"
 msgstr "Catchall no está activo en esta plataforma"
 
-#: vhffs-panel/mail/prefs.pl:108
+#: vhffs-panel/mail/prefs.pl:107
 msgid "Catchall mail"
 msgstr "Correo Catchall"
 
-#: vhffs-intl/template_strings.pl:55
-msgid "Change Forward"
-msgstr "Cambiar la redirección"
+#: vhffs-panel/admin/tag/create.pl:68
+msgid "Category"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:57
-msgid "Change Password"
-msgstr "Cambiar contraseña"
+#: vhffs-panel/group/prefs.pl:404
+msgid "Category can't be empty"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:130
+#: vhffs-panel/admin/tag/category/list.pl:59
+msgid "Category deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:107
+msgid "Category does not exists"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:173
+msgid "Category not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:65
+msgid "Category not found!"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:129
 msgid "Change catchall forward"
 msgstr "Cambiar la redirección del catchall"
 
-#: vhffs-intl/template_strings.pl:80
-msgid "Change rights"
-msgstr "Cambiar derechos"
-
-#: vhffs-panel/user/prefs.pl:237
+#: vhffs-panel/user/prefs.pl:243
 msgid "Change spam protection status for your account\n"
 msgstr "Cambiar el estatus de la protección anti-spam para su cuenta\n"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:94 vhffs-panel/admin/su.pl:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:94
+#: vhffs-panel/admin/su.pl:72 vhffs-api/src/Vhffs/Panel/Admin.pm:94
 msgid "Change user-id"
 msgstr "Cambiar de id de usuario"
 
-#: vhffs-panel/user/prefs.pl:248
+#: vhffs-panel/user/prefs.pl:254
 msgid "Changed anti-virus status for your account\n"
 msgstr "Cambiar el estatus de la protección anti-virus para su cuenta\n"
 
-#: vhffs-panel/user/prefs.pl:306 vhffs-panel/subscribe.pl:228
+#: vhffs-panel/user/prefs.pl:323 vhffs-panel/subscribe.pl:243
 msgid "City"
 msgstr "Ciudad"
 
-#: vhffs-panel/user/prefs.pl:126
+#: vhffs-panel/user/prefs.pl:128
 msgid "City is not correct !"
 msgstr "¡La ciudad no es correcta!"
 
-#: vhffs-panel/mailinglist/prefs.pl:109
+#: vhffs-panel/mailinglist/prefs.pl:108
 msgid "Closed"
 msgstr "Cerrado"
 
-#: vhffs-panel/subscribe.pl:238
+#: vhffs-panel/subscribe.pl:257
 msgid "Code confirmation"
 msgstr "Código de confirmación"
 
-#: vhffs-panel/subscribe.pl:251
-msgid "Or listen to the code"
-msgstr "O escuchar el código"
-
 #: vhffs-panel/subscribe.pl:107
 msgid "Codes do not match"
 msgstr "Los códigos no corresponden"
 
-#: vhffs-panel/user/prefs.pl:310
+#: vhffs-panel/cron/prefs.pl:139
+msgid "Collided, something went wrong, recovering"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:327
 msgid "Confirm Password"
 msgstr "Confirmar contraseña"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:241
 msgid "Confirmation code was wrong.\n"
 msgstr "Código de confirmación incorrecto.\n"
 
-#: vhffs-panel/subscribe.pl:240
+#: vhffs-panel/subscribe.pl:259
 msgid "Confirmation code, contact administrator team if you can't read it"
 msgstr ""
 "Código de confirmación, contacte el equipo de administración si no lo puede "
 "leer"
 
-#: vhffs-panel/mail/prefs.pl:237
+#: vhffs-panel/mail/prefs.pl:236
 msgid "Could not change box password"
 msgstr "No se pudo cambiar la contraseña del buzón"
 
-#: vhffs-panel/mail/prefs.pl:252
+#: vhffs-panel/mail/prefs.pl:251
 #, perl-format
 msgid "Could not update antivirus status for box %s"
 msgstr "No se pudo modificar el estatus del antivirus para el buzón %s"
 
-#: vhffs-panel/mail/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:244
 #, perl-format
 msgid "Could not update spam status for box %s"
 msgstr "No se pudo modificar el estatus del antispam para el buzón %s"
 
-#: vhffs-panel/user/prefs.pl:308 vhffs-panel/subscribe.pl:229
+#: vhffs-panel/user/prefs.pl:325 vhffs-panel/subscribe.pl:244
 msgid "Country"
 msgstr "País"
 
-#: vhffs-panel/user/prefs.pl:135
+#: vhffs-panel/user/prefs.pl:137
 msgid "Country is not correct !"
 msgstr "¡El país no es correcto!"
 
+#: vhffs-panel/admin/tag/category/create.pl:77
+#: vhffs-panel/admin/tag/create.pl:72
+msgid "Create"
+msgstr "Create"
+
+#: vhffs-panel/admin/tag/create.pl:66
+msgid "Create Tag"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:66
+msgid "Create Tag Category"
+msgstr ""
+
 #: vhffs-panel/cvs/create.pl:100
 msgid "Create a CVS Repository"
 msgstr "Crear un repositorio CVS"
 
-#: vhffs-panel/dns/create.pl:68
+#: vhffs-panel/cron/create.pl:104
+msgid "Create a Cron job"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:69
 msgid "Create a DNS"
 msgstr "Crear un DNS"
 
@@ -1038,7 +1021,7 @@
 msgid "Create a PostgreSQL database"
 msgstr "Crear una base de datos PostgreSQL"
 
-#: vhffs-panel/group/create.pl:84
+#: vhffs-panel/group/create.pl:98
 msgid "Create a Project"
 msgstr "Crear un proyecto"
 
@@ -1050,7 +1033,7 @@
 msgid "Create a git Repository"
 msgstr "Crear un repositorio Git"
 
-#: vhffs-panel/mail/create.pl:90
+#: vhffs-panel/mail/create.pl:91
 msgid "Create a mail space"
 msgstr "Crear un espacio mail"
 
@@ -1062,54 +1045,79 @@
 msgid "Create a web space"
 msgstr "Crear un espacio web"
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:152
+msgid "Create new category"
+msgstr ""
+
 #: vhffs-panel/group/index.pl:63
 msgid "Create new project"
 msgstr "Crear un nuevo proyecto"
 
-#: vhffs-intl/extra_strings.pl:24 vhffs-api/src/Vhffs/Panel/Object.pm:126
-#: vhffs-panel/admin/object/edit.pl:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:126
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
+msgid "Create new tag"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:119
+#: vhffs-api/src/Vhffs/Panel/Object.pm:125
 msgid "Created"
 msgstr "Creado"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:124
-#: vhffs-panel/admin/object/edit.pl:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:124
+#: vhffs-panel/admin/object/edit.pl:117
+#: vhffs-api/src/Vhffs/Panel/Object.pm:123
 msgid "Creating error"
 msgstr "Error en la creación"
 
-#: vhffs-intl/extra_strings.pl:23
-msgid "Creation error"
-msgstr "Error en la creación"
+#: vhffs-panel/cron/prefs.pl:90
+msgid "Cron job Administration"
+msgstr ""
 
-#: vhffs-panel/group/prefs.pl:247 vhffs-panel/user/prefs.pl:337
+#: vhffs-panel/cron/prefs.pl:189
+msgid "Cron job successfully updated"
+msgstr ""
+
+#: vhffs-panel/cron/index.pl:61
+#, perl-format
+msgid "Cron jobs for %s"
+msgstr ""
+
+#: vhffs-panel/admin/cron/index.pl:56
+msgid "Cron jobs' administration"
+msgstr ""
+
+#: vhffs-panel/admin/cron/list.pl:82
+msgid "Cron path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:77 vhffs-api/src/Vhffs/Panel/Menu.pm:127
+msgid "Crons"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:348
+msgid "Crons Admin"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:354 vhffs-panel/group/prefs.pl:260
 msgid "Current avatar"
 msgstr "Avatar actual"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:450
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:450
-msgid "Current group:"
-msgstr "Grupo actual:"
-
-#: vhffs-panel/admin/pgsql/list.pl:76 vhffs-panel/admin/mysql/list.pl:82
+#: vhffs-panel/admin/mysql/list.pl:82 vhffs-panel/admin/pgsql/list.pl:76
 msgid "DB Name"
 msgstr "Nombre BD"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:293
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:313
 msgid "DNS Admin"
 msgstr "Admin DNS"
 
-#: vhffs-panel/dns/prefs.pl:227
+#: vhffs-panel/dns/prefs.pl:226
 #, perl-format
 msgid "DNS Administration - %s"
 msgstr "Administración DNS - %s"
 
-#: vhffs-panel/dns/create.pl:74
+#: vhffs-panel/dns/create.pl:75
 msgid "DNS servers:"
 msgstr "Servidores DNS:"
 
-#: vhffs-panel/admin/stats.pl:112
+#: vhffs-panel/admin/stats.pl:111
 msgid "DNS stats"
 msgstr "Estadísticas DNS"
 
@@ -1117,45 +1125,30 @@
 msgid "DNS' administration"
 msgstr "Administración DNS"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:210 vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:240 vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:264 vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:287 vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:343 vhffs-api/src/Vhffs/Panel/DNS.pm:355
-#: vhffs-panel/ajax/help.pl:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:162
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:264
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:287
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:316
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:343
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:355
+#: vhffs-panel/ajax/help.pl:49 vhffs-api/src/Vhffs/Panel/DNS.pm:163
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:199 vhffs-api/src/Vhffs/Panel/DNS.pm:211
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:229 vhffs-api/src/Vhffs/Panel/DNS.pm:241
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:253 vhffs-api/src/Vhffs/Panel/DNS.pm:266
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:278 vhffs-api/src/Vhffs/Panel/DNS.pm:291
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:304 vhffs-api/src/Vhffs/Panel/DNS.pm:321
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:336 vhffs-api/src/Vhffs/Panel/DNS.pm:348
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:360
 msgid "Database error"
 msgstr "Error en la base de datos"
 
-#: vhffs-panel/pgsql/delete.pl:85
+#: vhffs-panel/pgsql/delete.pl:84
 msgid "Database will NOT be deleted !"
 msgstr "¡La base de datos NO será destruida!"
 
-#: vhffs-panel/pgsql/delete.pl:97
+#: vhffs-panel/pgsql/delete.pl:96
 msgid "Database will be DELETE"
 msgstr "La base de datos será DESTRUIDA"
 
-#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/group/history.pl:77
+#: vhffs-panel/admin/broadcast_view.pl:84 vhffs-panel/group/history.pl:78
 msgid "Date"
 msgstr "Fecha"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:100 vhffs-panel/admin/object/edit.pl:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:100
+#: vhffs-panel/admin/object/edit.pl:94 vhffs-api/src/Vhffs/Panel/Object.pm:99
 msgid "Date of creation"
 msgstr "Fecha de creación"
 
@@ -1163,93 +1156,83 @@
 msgid "Default"
 msgstr "Defecto"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:810 vhffs-panel/repository/prefs.pl:93
-#: vhffs-panel/mail/prefs.pl:140 vhffs-panel/git/prefs.pl:109
-#: vhffs-panel/dns/prefs.pl:256 vhffs-panel/dns/prefs.pl:313
-#: vhffs-panel/dns/prefs.pl:325 vhffs-panel/dns/prefs.pl:338
-#: vhffs-panel/dns/prefs.pl:350 vhffs-panel/dns/prefs.pl:366
-#: vhffs-panel/dns/prefs.pl:377 vhffs-panel/dns/prefs.pl:393
-#: vhffs-panel/pgsql/prefs.pl:103 vhffs-panel/cvs/prefs.pl:120
-#: vhffs-panel/group/index.pl:65 vhffs-panel/group/prefs.pl:217
-#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/svn/prefs.pl:101
-#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/web/prefs.pl:113
-#: vhffs-panel/user/prefs.pl:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:810
+#: vhffs-panel/mysql/prefs.pl:116 vhffs-panel/pgsql/prefs.pl:103
+#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/cron/prefs.pl:154
+#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/user/prefs.pl:347
+#: vhffs-panel/svn/prefs.pl:102 vhffs-panel/dns/prefs.pl:255
+#: vhffs-panel/dns/prefs.pl:315 vhffs-panel/dns/prefs.pl:327
+#: vhffs-panel/dns/prefs.pl:340 vhffs-panel/dns/prefs.pl:352
+#: vhffs-panel/dns/prefs.pl:368 vhffs-panel/dns/prefs.pl:379
+#: vhffs-panel/dns/prefs.pl:395 vhffs-panel/group/prefs.pl:230
+#: vhffs-panel/group/index.pl:65 vhffs-panel/mail/prefs.pl:139
+#: vhffs-panel/cvs/prefs.pl:107 vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/web/prefs.pl:110 vhffs-api/src/Vhffs/Panel/Main.pm:809
 msgid "Delete"
 msgstr "Borrar"
 
-#: vhffs-panel/user/prefs.pl:325
+#: vhffs-panel/user/prefs.pl:342
 msgid "Delete YOUR user"
 msgstr "Destruir SU cuenta"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:200
-#: vhffs-panel/admin/object/edit.pl:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:200
+#: vhffs-panel/admin/object/edit.pl:194
+#: vhffs-api/src/Vhffs/Panel/Object.pm:199
 msgid "Delete avatar for this object"
 msgstr "Borrar el avatar para este objeto"
 
-#: vhffs-intl/template_strings.pl:81
-msgid "Delete from list"
-msgstr "Eliminar de la lista"
-
 #: vhffs-panel/pgsql/prefs.pl:98
 msgid "Delete this PostgreSQL database"
 msgstr "Destruir esta base de datos PostgreSQL"
 
-#: vhffs-panel/mysql/prefs.pl:110
+#: vhffs-panel/cron/prefs.pl:149
+msgid "Delete this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:111
 msgid "Delete this database"
 msgstr "Destruir esta base de datos"
 
-#: vhffs-panel/dns/prefs.pl:251
+#: vhffs-panel/dns/prefs.pl:250
 msgid "Delete this domain name from the VHFFS platform"
 msgstr "Esto dominio será destruido de la plataforma Vhffs"
 
-#: vhffs-intl/template_strings.pl:56
-msgid "Delete this forward"
-msgstr "Destruir esta redirección"
-
 #: vhffs-panel/mailinglist/prefs.pl:178
 msgid "Delete this list"
 msgstr "Destruir esta lista"
 
-#: vhffs-panel/mail/prefs.pl:135
+#: vhffs-panel/mail/prefs.pl:134
 msgid "Delete this mail domain"
 msgstr "Destruir este dominio mail"
 
-#: vhffs-panel/admin/broadcast_list.pl:89
+#: vhffs-panel/admin/broadcast_list.pl:87
 msgid "Delete this mailing"
 msgstr "Destruir esta lista de correo"
 
-#: vhffs-panel/repository/prefs.pl:88 vhffs-panel/cvs/prefs.pl:115
-#: vhffs-panel/group/prefs.pl:212
+#: vhffs-panel/repository/prefs.pl:87 vhffs-panel/group/prefs.pl:225
+#: vhffs-panel/cvs/prefs.pl:102
 msgid "Delete this project"
 msgstr "Destruir este proyecto"
 
-#: vhffs-panel/git/prefs.pl:104 vhffs-panel/svn/prefs.pl:96
+#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/git/prefs.pl:101
 msgid "Delete this repository"
 msgstr "Destruir esto repositorio"
 
-#: vhffs-panel/web/prefs.pl:108
+#: vhffs-panel/web/prefs.pl:105
 msgid "Delete this web area"
 msgstr "Destruir esta zona web"
 
-#: vhffs-intl/template_strings.pl:3 vhffs-intl/template_strings.pl:5
-#: vhffs-intl/template_strings.pl:40 vhffs-api/src/Vhffs/Panel/Object.pm:102
-#: vhffs-panel/repository/create.pl:98 vhffs-panel/git/create.pl:103
-#: vhffs-panel/dns/create.pl:79 vhffs-panel/pgsql/create.pl:110
-#: vhffs-panel/admin/object/edit.pl:98 vhffs-panel/admin/moderation.pl:88
-#: vhffs-panel/cvs/create.pl:108 vhffs-panel/group/create.pl:91
-#: vhffs-panel/mysql/create.pl:110 vhffs-panel/object/resubmit.pl:128
-#: vhffs-panel/svn/create.pl:102
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:102
+#: vhffs-panel/mysql/create.pl:110 vhffs-panel/pgsql/create.pl:111
+#: vhffs-panel/admin/object/edit.pl:96 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/tag/category/create.pl:69
+#: vhffs-panel/admin/tag/category/edit.pl:80
+#: vhffs-panel/admin/tag/create.pl:71 vhffs-panel/cron/create.pl:118
+#: vhffs-panel/repository/create.pl:98 vhffs-panel/svn/create.pl:102
+#: vhffs-panel/object/resubmit.pl:128 vhffs-panel/dns/create.pl:80
+#: vhffs-panel/group/create.pl:105 vhffs-panel/cvs/create.pl:108
+#: vhffs-panel/git/create.pl:103 vhffs-api/src/Vhffs/Panel/Object.pm:101
 msgid "Description"
 msgstr "Descripción"
 
-#: vhffs-intl/template_strings.pl:31
-msgid "Description contains"
-msgstr ""
-
-#: vhffs-panel/web/prefs.pl:99
+#: vhffs-panel/web/prefs.pl:96
 msgid "Description of your webarea"
 msgstr "Descripción de la zona web"
 
@@ -1257,49 +1240,44 @@
 msgid "Destination"
 msgstr "Destino"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:71
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:120
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:74 vhffs-api/src/Vhffs/Panel/Menu.pm:124
 msgid "Dl repos"
 msgstr "Descarga"
 
-#: vhffs-panel/mail/create.pl:91
+#: vhffs-panel/mail/create.pl:92
 msgid "Domain"
 msgstr "Dominio"
 
-#: vhffs-intl/extra_strings.pl:43 vhffs-panel/dns/create.pl:70
-#: vhffs-panel/admin/mail/list.pl:75 vhffs-panel/admin/dns/list.pl:75
+#: vhffs-panel/admin/dns/list.pl:75 vhffs-panel/admin/mail/list.pl:75
+#: vhffs-panel/dns/create.pl:71
 msgid "Domain Name"
 msgstr "Nombre de dominio"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:119
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:123
 msgid "Domain names"
 msgstr "Dominios"
 
-#: vhffs-panel/dns/index.pl:60
+#: vhffs-panel/dns/index.pl:61
 #, perl-format
 msgid "Domain names for %s"
 msgstr "Nombres de dominio para %s"
 
-#: vhffs-panel/git/prefs.pl:121 vhffs-panel/svn/prefs.pl:110
+#: vhffs-panel/svn/prefs.pl:111 vhffs-panel/git/prefs.pl:115
 #, perl-format
 msgid ""
 "Don't forget to subscribe %s to your mailing list if you are filtering posts"
 msgstr ""
 "No olvide suscribir %s a su lista de correo si está filtrando los mensajes"
 
-#: vhffs-intl/extra_strings.pl:38
-msgid "Download Repository"
-msgstr "Repositorio de download"
+#: vhffs-panel/subscribe.pl:271
+msgid "Don't subscribe to the newsletter"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:311
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:331
 msgid "Download repositories Admin"
 msgstr "Admin de repositorio de download"
 
-#: vhffs-panel/repository/index.pl:60
+#: vhffs-panel/repository/index.pl:61
 #, perl-format
 msgid "Download repositories for %s"
 msgstr "Repositorios de download para %s"
@@ -1312,56 +1290,53 @@
 msgid "Edit"
 msgstr "Modificar"
 
-#: vhffs-panel/admin/object/edit.pl:91
+#: vhffs-panel/admin/object/edit.pl:89
 msgid "Edit Object"
 msgstr "Modificar objeto"
 
-#: vhffs-panel/admin/object/list.pl:98
+#: vhffs-panel/admin/object/list.pl:96
 msgid "Edit this object"
 msgstr "Modificar este objeto"
 
-#: vhffs-panel/user/prefs.pl:183
+#: vhffs-panel/user/prefs.pl:189
 msgid "Email address changed"
 msgstr "La dirección de correo ha cambiado"
 
-#: vhffs-panel/user/prefs.pl:129
+#: vhffs-panel/user/prefs.pl:131
 msgid "Email is not correct !"
 msgstr "¡Su dirección no es correcta!"
 
-#: vhffs-intl/template_strings.pl:58
-msgid "Enable anti-spam"
-msgstr "Activar el anti-spam"
+#: vhffs-panel/cron/create.pl:112
+msgid "Email to which report will be sent if something went wrong"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:61
-msgid "Enable anti-virus"
-msgstr "Activar el anti-virus"
-
-#: vhffs-panel/mail/prefs.pl:107
+#: vhffs-panel/mail/prefs.pl:106
 msgid "Enter a mail address to catch all email for this domain"
 msgstr ""
 "Ingrese una dirección de correo para recibir todos los correos de este "
 "dominio"
 
-#: vhffs-panel/repository/index.pl:53 vhffs-panel/mail/index.pl:53
-#: vhffs-panel/git/index.pl:54 vhffs-panel/dns/index.pl:53
-#: vhffs-panel/pgsql/index.pl:53 vhffs-panel/cvs/index.pl:53
-#: vhffs-panel/mysql/index.pl:53 vhffs-panel/svn/index.pl:53
-#: vhffs-panel/mailinglist/index.pl:53 vhffs-panel/web/index.pl:53
+#: vhffs-panel/mysql/index.pl:54 vhffs-panel/pgsql/index.pl:54
+#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/cron/index.pl:54
+#: vhffs-panel/repository/index.pl:54 vhffs-panel/svn/index.pl:54
+#: vhffs-panel/dns/index.pl:54 vhffs-panel/mail/index.pl:54
+#: vhffs-panel/cvs/index.pl:54 vhffs-panel/git/index.pl:55
+#: vhffs-panel/web/index.pl:54
 msgid "Error"
 msgstr "¡Error!"
 
-#: vhffs-panel/admin/broadcast_submit.pl:96
+#: vhffs-panel/admin/broadcast_submit.pl:92
 msgid "Error !"
 msgstr "¡Error!"
 
-#: vhffs-panel/user/prefs.pl:212
+#: vhffs-panel/user/prefs.pl:218
 msgid ""
 "Error ! You MUST provide a password in your account when you create your "
 "popable account"
 msgstr ""
 "¡Error! DEBE proveer una contraseña cuando está creando una cuenta de correo"
 
-#: vhffs-panel/group/create.pl:74
+#: vhffs-panel/group/create.pl:78
 msgid "Error creating group (maybe a group with the same name already exists)"
 msgstr ""
 "Error durante la creación del grupo (posiblemente ya existe otro grupo con "
@@ -1371,11 +1346,11 @@
 msgid "Error creating webarea."
 msgstr "Error durante la creación de la zona web."
 
-#: vhffs-panel/user/prefs.pl:239
+#: vhffs-panel/user/prefs.pl:245
 msgid "Error for spam protection\n"
 msgstr "Error en la protección anti-spam\n"
 
-#: vhffs-panel/user/prefs.pl:250
+#: vhffs-panel/user/prefs.pl:256
 msgid "Error for virus protection\n"
 msgstr "Error en la protección anti-virus\n"
 
@@ -1383,20 +1358,19 @@
 msgid "Error when uploading avatar for this object"
 msgstr "Error durante la subida del avatar para este objeto"
 
-#: vhffs-panel/dns/delete.pl:96
+#: vhffs-panel/dns/delete.pl:88
 msgid "Error while switching state. DNS will NOT be deleted"
 msgstr "Error durante el cambio de estado. DNS NO serán borrados"
 
-#: vhffs-panel/group/prefs.pl:67 vhffs-panel/group/history.pl:65
+#: vhffs-panel/group/history.pl:66 vhffs-panel/group/prefs.pl:71
 msgid "Error. This group doesn't exists"
 msgstr "¡Error! Este grupo no existe"
 
-#: vhffs-panel/group/history.pl:80
+#: vhffs-panel/group/history.pl:81
 msgid "Event"
 msgstr "Evento"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:360
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:360
+#: vhffs-api/src/Vhffs/Panel/Main.pm:365
 msgid "Expired session ! Please login again"
 msgstr "Sesión expirada! Conectase otra vez"
 
@@ -1404,87 +1378,59 @@
 msgid "Filetype not supported, only png is supported"
 msgstr "Tipo de archivo no soportado, solamente png es soportado"
 
-#: vhffs-intl/template_strings.pl:74
-msgid "Fill with project's members emails"
-msgstr "Llene con los correos de los miembros del proyecto"
-
-#: vhffs-intl/template_strings.pl:8 vhffs-intl/template_strings.pl:23
-#: vhffs-panel/user/prefs.pl:303 vhffs-panel/subscribe.pl:225
+#: vhffs-panel/user/prefs.pl:320 vhffs-panel/subscribe.pl:240
 msgid "Firstname"
 msgstr "Nombre"
 
-#: vhffs-panel/user/prefs.pl:120
+#: vhffs-panel/user/prefs.pl:122
 msgid "Firstname is not correct !"
 msgstr "¡Su nombre no es correcto!"
 
-#: vhffs-panel/git/prefs.pl:115
-msgid "Fix permissions in this repository"
-msgstr "Fijar permisos en el repositorio"
-
-#: vhffs-panel/git/prefs.pl:117
-msgid "Fix them !"
-msgstr "Fijarlas!"
-
-#: vhffs-panel/git/prefs.pl:116
-msgid ""
-"Fixing permissions on a repository solve permission access on the "
-"repository. Can be helpful if you encounter problems"
-msgstr ""
-"Fijar permisos en el repositorio permite solucionar los problemas de accesos "
-"al repositorio. Puede ser de ayuda cuando encuentre un problema"
-
-#: vhffs-panel/mail/prefs.pl:319
+#: vhffs-panel/mail/prefs.pl:318
 #, perl-format
 msgid "Forward %s deleted"
 msgstr "Redirección %s borrado"
 
-#: vhffs-panel/mail/prefs.pl:304
+#: vhffs-panel/mail/prefs.pl:303
 #, perl-format
 msgid "Forward %s successfully updated"
 msgstr "Redirección %s actualizada con éxito"
 
-#: vhffs-panel/mail/prefs.pl:288 vhffs-panel/group/prefs.pl:191
-#: vhffs-panel/user/prefs.pl:268
+#: vhffs-panel/user/prefs.pl:274 vhffs-panel/group/prefs.pl:196
+#: vhffs-panel/mail/prefs.pl:287
 msgid "Forward added"
 msgstr "Redirección creada"
 
-#: vhffs-panel/group/prefs.pl:188
+#: vhffs-panel/group/prefs.pl:193
 msgid "Forward deleted"
 msgstr "Redirección %s borrada"
 
-#: vhffs-panel/user/prefs.pl:414
+#: vhffs-panel/user/prefs.pl:431
 #, perl-format
 msgid "Forward emails from %s@%s to %s"
 msgstr "Redirigir los correos desde %s@%s hacia %s"
 
-#: vhffs-panel/mail/prefs.pl:125
+#: vhffs-panel/mail/prefs.pl:124
 msgid "Forward mail"
 msgstr "Redirección"
 
-#: vhffs-panel/user/prefs.pl:277
+#: vhffs-panel/user/prefs.pl:283
 msgid "Forward updated"
 msgstr "Redirección modificada"
 
-#: vhffs-panel/mail/prefs.pl:120
+#: vhffs-panel/mail/prefs.pl:119
 msgid "Forwards"
 msgstr "Redirecciones"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:560
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:560
+#: vhffs-api/src/Vhffs/Panel/Main.pm:547
 msgid "Full history"
 msgstr "Historial completo"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:118
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:122
 msgid "GIT"
 msgstr "GIT"
 
-#: vhffs-intl/template_strings.pl:44
-msgid "GIT Repositories for this group"
-msgstr ""
-
-#: vhffs-panel/git/index.pl:61
+#: vhffs-panel/git/index.pl:62
 #, perl-format
 msgid "GIT repositories for %s"
 msgstr "Repositorios Git para %s"
@@ -1497,30 +1443,22 @@
 msgid "GIT root"
 msgstr "Raíz del repositorio Git"
 
-#: vhffs-panel/admin/stats.pl:133
+#: vhffs-panel/admin/stats.pl:132
 msgid "GIT stats"
 msgstr "Estadísticas Git"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:110 vhffs-api/src/Vhffs/Panel/Main.pm:559
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:114 vhffs-api/src/Vhffs/Panel/Main.pm:546
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:79
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:559
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:110
 msgid "General"
 msgstr "General"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:91 vhffs-api/src/Vhffs/Panel/Admin.pm:76
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:95 vhffs-api/src/Vhffs/Panel/Admin.pm:76
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:76
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:91
 msgid "Get Statistics"
 msgstr "Ver estadísticas"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:206
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:226
 msgid "Git Admin"
 msgstr "Admin Git"
 
@@ -1528,17 +1466,15 @@
 msgid "Give me a new password"
 msgstr "Pedir una nueva contraseña"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:808
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:808
+#: vhffs-api/src/Vhffs/Panel/Main.pm:807
 msgid "Go to administration"
 msgstr "Ir a la administración"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:85
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:88
 msgid "Go to public area"
 msgstr "Ir a la zona pública"
 
-#: vhffs-panel/mailinglist/prefs.pl:302
+#: vhffs-panel/mailinglist/prefs.pl:304
 #, perl-format
 msgid ""
 "Greetings,\n"
@@ -1548,46 +1484,35 @@
 "You may get some help on listengine by sending an email to %s-request@%s "
 "with subject help.\n"
 "\n"
-"Cheers."
+"Cheers.\n"
 msgstr ""
-"Bienvenido,\n"
-"\n"
-"Acaba de ser añadido a la lista %s en la plataforma  %s.\n"
-"\n"
-"Puede recibir ayuda sobre el motor de lista enviando un correo a  %s-request@"
-"%s con el título help.\n"
-"\n"
-"Atentamente."
 
-#: vhffs-intl/extra_strings.pl:36 vhffs-panel/admin/repository/list.pl:76
-#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/git/list.pl:73
-#: vhffs-panel/admin/dns/list.pl:76 vhffs-panel/admin/pgsql/list.pl:77
-#: vhffs-panel/admin/cvs/list.pl:77 vhffs-panel/admin/mysql/list.pl:83
-#: vhffs-panel/admin/svn/list.pl:71 vhffs-panel/admin/mailinglist/list.pl:80
-#: vhffs-panel/admin/web/list.pl:71 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/mysql/list.pl:83 vhffs-panel/admin/pgsql/list.pl:77
+#: vhffs-panel/admin/mailinglist/list.pl:80 vhffs-panel/admin/cron/list.pl:83
+#: vhffs-panel/admin/repository/list.pl:76 vhffs-panel/admin/svn/list.pl:71
+#: vhffs-panel/admin/moderation.pl:86 vhffs-panel/admin/dns/list.pl:76
+#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/cvs/list.pl:77
+#: vhffs-panel/admin/git/list.pl:73 vhffs-panel/admin/web/list.pl:71
 msgid "Group"
 msgstr "Grupo"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:546
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:546
+#: vhffs-api/src/Vhffs/Panel/Main.pm:533
 #, perl-format
 msgid "Group %s"
 msgstr "Grupo %s"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:135
 msgid "Group Admin"
 msgstr "Administración grupos"
 
-#: vhffs-intl/template_strings.pl:66
-msgid "Group Quota"
-msgstr "Cuota de grupo"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:543
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:543
+#: vhffs-api/src/Vhffs/Panel/Main.pm:530
 msgid "Group error"
 msgstr "Error con el grupo"
 
+#: vhffs-public/group.pl:62
+msgid "Group not found"
+msgstr "Grupo no encontrado"
+
 #: vhffs-panel/acl/view.pl:87
 msgid "Group or user not found"
 msgstr "Grupo o usuario no encontrado"
@@ -1596,7 +1521,7 @@
 msgid "Group owning this CVS"
 msgstr "Grupo al cual le pertenece este CVS"
 
-#: vhffs-panel/dns/create.pl:75
+#: vhffs-panel/dns/create.pl:76
 msgid "Group owning this DNS"
 msgstr "Grupo al cual le pertenece este DNS"
 
@@ -1604,7 +1529,11 @@
 msgid "Group owning this Subversion repository"
 msgstr "Grupo al cual le pertenece este repositorio Subversion"
 
-#: vhffs-panel/pgsql/create.pl:103 vhffs-panel/mysql/create.pl:103
+#: vhffs-panel/cron/create.pl:106
+msgid "Group owning this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:103 vhffs-panel/pgsql/create.pl:103
 msgid "Group owning this database"
 msgstr "Grupo al cual le pertenece esta base de datos"
 
@@ -1612,7 +1541,7 @@
 msgid "Group owning this git repository"
 msgstr "Grupo al cual le pertenece este repositorio Git"
 
-#: vhffs-panel/mail/create.pl:93
+#: vhffs-panel/mail/create.pl:94
 msgid "Group owning this mail domain"
 msgstr "Grupo al cual le pertenece este dominio mail"
 
@@ -1628,23 +1557,21 @@
 msgid "Group owning this web space"
 msgstr "Grupo al cual le pertenece esta zona web"
 
-#: vhffs-panel/group/prefs.pl:97
+#: vhffs-panel/group/prefs.pl:102
 msgid "Group updated"
 msgstr "Grupo actualizado"
 
-#: vhffs-panel/group/prefs.pl:293
+#: vhffs-panel/group/prefs.pl:303
 msgid "Group updated, please wait while quota is updated on filesystem"
 msgstr ""
 "Grupo actualizado, por favor espere mientras se actualice la cuota en el "
 "sistema de archivo"
 
-#: vhffs-intl/template_strings.pl:1 vhffs-intl/template_strings.pl:4
-#: vhffs-intl/template_strings.pl:30 vhffs-intl/template_strings.pl:39
 #: vhffs-panel/admin/group/list.pl:80
 msgid "Groupname"
 msgstr "Nombre del grupo"
 
-#: vhffs-panel/group/create.pl:66
+#: vhffs-panel/group/create.pl:68
 msgid ""
 "Groupname must contain between 3 and 12 characters, only letters or numbers "
 "in lower case"
@@ -1652,12 +1579,11 @@
 "El nombre de grupo debe contener entre 3 y 12 caracteres, solamente cifras y "
 "letras en minúsculas"
 
-#: vhffs-intl/template_strings.pl:48 vhffs-api/src/Vhffs/Panel/Menu.pm:112
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:112
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:116
 msgid "Groups"
 msgstr "Grupos"
 
-#: vhffs-panel/admin/stats.pl:99
+#: vhffs-panel/admin/stats.pl:98
 msgid "Groups stats"
 msgstr "Estadísticas de grupos"
 
@@ -1665,11 +1591,7 @@
 msgid "Groups' administration"
 msgstr "Administración de los grupos"
 
-#: vhffs-intl/template_strings.pl:26
-msgid "Groups/Projects"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:181
+#: vhffs-panel/user/prefs.pl:187
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1690,8 +1612,7 @@
 "\n"
 "VHFFS administrators\n"
 
-#: vhffs-api/src/Vhffs/Object.pm:499
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:499
+#: vhffs-api/src/Vhffs/Object.pm:514
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1712,30 +1633,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
-"Hello %s %s,\n"
-"\n"
-"Your %s (%s) on %s has been deleted.\n"
-"\n"
-"This is because it have been refused a long time ago and you didn't\n"
-"submit an update since.\n"
-"\n"
-"For reminder, the reason of refusal was:\n"
-"%s\n"
-"\n"
-"Don't be upset, submit it again if you forgot to update it in time.\n"
-"If you need further information, just reply to this email !\n"
-"\n"
-"Cheers,\n"
-"The moderator team\n"
-"\n"
-"---------\n"
-"%s\n"
-"%s"
 
-#: vhffs-api/src/Vhffs/User.pm:322
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:322
+#: vhffs-api/src/Vhffs/User.pm:333
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1772,13 +1673,14 @@
 "%s\n"
 "%s\n"
 
-#: vhffs-api/src/Vhffs/Object.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:404
+#: vhffs-api/src/Vhffs/Object.pm:408
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
 "\n"
-"Your request for a %s (%s) on %s was accepted.\n"
+"Your request for a %s (%s) on %s was accepted, however, moderators wanted to "
+"add some precision:\n"
+"%s.\n"
 "Please wait while we are creating your object.\n"
 "\n"
 "Cheers,\n"
@@ -1786,8 +1688,12 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
+
+#: vhffs-api/src/Vhffs/Object.pm:420
+#, perl-format
+msgid ""
 "Hello %s %s,\n"
 "\n"
 "Your request for a %s (%s) on %s was accepted.\n"
@@ -1798,10 +1704,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:453
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:453
+#: vhffs-api/src/Vhffs/Object.pm:468
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1821,50 +1727,25 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
-"Hello %s %s,\n"
-"\n"
-"Your request for a %s (%s) on %s was refused.\n"
-"\n"
-"The reason of refusal given by moderators is:\n"
-"%s\n"
-"\n"
-"You can change the description and submit it again for moderation on the\n"
-"panel. Puede borrar este objeto de su panel si cometió \n"
-"un error . Don't be upset, if you don't understand why your request has\n"
-"been refused, just reply to this email !\n"
-"\n"
-"Cheers,\n"
-"The moderator team\n"
-"\n"
-"---------\n"
-"%s\n"
-"%s"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:502
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:502
+#: vhffs-api/src/Vhffs/Panel/Main.pm:490
 #, perl-format
 msgid "Hello %s, welcome in VHFFS !"
 msgstr "Hola %s, bienvenido a VHFFS !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:46
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:46
 msgid "Hello and welcome on listengine help\n"
 msgstr "Bienvenido a la ayuda de listengine\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:437 vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-api/src/Vhffs/Panel/Main.pm:663 vhffs-api/src/Vhffs/Panel/Main.pm:818
-#: vhffs-panel/group/prefs.pl:233 vhffs-panel/user/prefs.pl:417
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:437
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:663
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:818
+#: vhffs-panel/user/prefs.pl:434 vhffs-panel/group/prefs.pl:246
+#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:553
+#: vhffs-api/src/Vhffs/Panel/Main.pm:659 vhffs-api/src/Vhffs/Panel/Main.pm:818
 msgid "Help"
 msgstr "Ayuda"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:52
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:52
 msgid "Here are the basic listengine commands:\n"
 msgstr "Los comandos básicos de listengine son:\n"
 
@@ -1874,7 +1755,6 @@
 msgstr "Reportar un bug al equipo de administración"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:422
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:422
 #, perl-format
 msgid ""
 "His email address is:\n"
@@ -1883,58 +1763,47 @@
 "Su dirección de correo es:\n"
 "  %s\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:811 vhffs-panel/admin/object/list.pl:92
-#: vhffs-panel/admin/object/list.pl:99 vhffs-panel/history.pl:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:811
+#: vhffs-panel/admin/object/list.pl:90 vhffs-panel/admin/object/list.pl:97
+#: vhffs-panel/history.pl:96 vhffs-api/src/Vhffs/Panel/Main.pm:810
 msgid "History"
 msgstr "Historial"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:203
-#: vhffs-panel/admin/object/edit.pl:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:203
+#: vhffs-panel/admin/object/edit.pl:196
+#: vhffs-api/src/Vhffs/Panel/Object.pm:202
 msgid "History of this object"
 msgstr "Historial de este objeto"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:434
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:434
+#: vhffs-api/src/Vhffs/Panel/Main.pm:424
 msgid "Home page"
 msgstr "Home page"
 
-#: vhffs-intl/template_strings.pl:15
-msgid "Homepage of public area"
-msgstr "Portada de la zona pública"
-
-#: vhffs-panel/dns/prefs.pl:295 vhffs-panel/dns/prefs.pl:380
-#: vhffs-panel/dns/prefs.pl:396
+#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:398
 msgid "Host"
 msgstr "Host"
 
-#: vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:288
 msgid "Host of your name server"
 msgstr "Nombre de dominio de su servidor de nombres"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:165
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:165
 msgid "However this list require approval for new subscribers.\n"
 msgstr "Sin embargo, se requiere una aprobación par los nuevos inscritos.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:120
 #, perl-format
 msgid "However you are (%s) already subscribed to this list.\n"
 msgstr "Sin embargo, Ud. ya está suscrito (%s) a esta lista.\n"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:69
 msgid "I've lost my password"
 msgstr "Olvide mi contraseña"
 
-#: vhffs-panel/dns/prefs.pl:263
+#: vhffs-panel/dns/prefs.pl:262
 msgid "IP"
 msgstr "IP"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:505
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:505
+#: vhffs-api/src/Vhffs/Panel/Main.pm:493
 msgid ""
 "If you are new to VHFFS, you should start to read quickly the whole help "
 "available by clicking on the help button in the upper right of your screen"
@@ -1943,7 +1812,6 @@
 "haga clic en el botón de ayuda, arriba a la derecha"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:88
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:88
 msgid ""
 "If you don't asked to be subscribed to this mailing list,\n"
 "just forget this email\n"
@@ -1952,7 +1820,6 @@
 "simplemente no tome en cuenta este correo\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:106
 msgid ""
 "If you haven't asked to be unsubscribed from this list,\n"
 "please don't answer to this mail\n"
@@ -1960,7 +1827,7 @@
 "Si Ud. no solicitó su desinscripción de esta lista,\n"
 "simplemente no tome en cuenta este correo\n"
 
-#: vhffs-panel/group/prefs.pl:203
+#: vhffs-panel/group/prefs.pl:216
 msgid ""
 "If you want more disk space for your project, you must fill a form in the "
 "bug report section, in the menu. Don't forget to mention the name of the "
@@ -1970,26 +1837,50 @@
 "en la sección reportar bug, en el menu. No olvide mencionar le nombre del "
 "grupo."
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:239
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:197
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:239
+#: vhffs-panel/admin/tag/request/details.pl:146
+msgid "If you want to create a new category, you have to create a new tag too"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:110
+#, perl-format
+msgid ""
+"In minutes, at which interval this cron should be started, the minimum "
+"interval is set to %d minutes"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:109
+msgid "Interval"
+msgstr ""
+
+#: vhffs-panel/cron/prefs.pl:95
+msgid "Interval between runs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:198 vhffs-api/src/Vhffs/Panel/DNS.pm:210
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:240
 msgid "Invalid IP address"
 msgstr "Dirección IP inválida"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:227
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:228
 msgid "Invalid IP v6 address"
 msgstr "Dirección IP v6 inválida"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:297
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:301
 msgid "Invalid alias"
 msgstr "Alias inválido"
 
-#: vhffs-panel/pgsql/create.pl:86 vhffs-panel/mysql/create.pl:86
+#: vhffs-panel/admin/tag/create.pl:90 vhffs-panel/admin/tag/edit.pl:111
+msgid "Invalid category"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:88
 msgid ""
+"Invalid cronpath, it must contain only letters, numbers, underscore, dash, "
+"dot or slash. A valid cronpath will be something like /home/group/script.sh)"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:86 vhffs-panel/pgsql/create.pl:86
+msgid ""
 "Invalid database name, it must contain only numbers, lowercase letters and "
 "underscore (the latter isn't allowed in first or last position) and be "
 "between 3 and 32 characters."
@@ -1998,42 +1889,39 @@
 "minúscula y underscore (el último no está autorizado en la primera y última "
 "posición). El nombre debe tener entre 3 y 32 caracteres."
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:286
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:286
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:290
 msgid "Invalid destination"
 msgstr "Destino inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:311 vhffs-api/src/Vhffs/Panel/DNS.pm:327
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:327
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:315 vhffs-api/src/Vhffs/Panel/DNS.pm:332
 msgid "Invalid destination domain name"
 msgstr "Destino de nombre de dominio inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:298
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:302
 msgid "Invalid destination host"
 msgstr "Host de destino inválido"
 
-#: vhffs-panel/mail/create.pl:76 vhffs-panel/dns/create.pl:51
+#: vhffs-panel/dns/create.pl:52 vhffs-panel/mail/create.pl:77
 msgid "Invalid domain name"
 msgstr "Nombre de dominio inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:263
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:265
 msgid "Invalid host"
 msgstr "Host inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:249 vhffs-api/src/Vhffs/Panel/DNS.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:249
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:273
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:276
 msgid "Invalid hostname"
 msgstr "Hostname inválido"
 
+#: vhffs-panel/cron/create.pl:90
+msgid "Invalid interval, it must be a positive integer"
+msgstr ""
+
 #: vhffs-panel/mailinglist/create.pl:85
 msgid "Invalid local part"
 msgstr "Parte local inválida"
 
-#: vhffs-panel/git/prefs.pl:188
+#: vhffs-panel/git/prefs.pl:163
 msgid "Invalid mailing list address"
 msgstr "Dirección de lista de correo inválida"
 
@@ -2045,53 +1933,38 @@
 msgid "Invalid password. It must contain at least 3 characters"
 msgstr "Contraseña inválida. Debe contener por lo menos 3 caracteres"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:312 vhffs-api/src/Vhffs/Panel/DNS.pm:328
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:312
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:328
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:333
 msgid "Invalid port"
 msgstr "Puerto inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:194 vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:341
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:341
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:254 vhffs-api/src/Vhffs/Panel/DNS.pm:279
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:345
 msgid "Invalid prefix"
 msgstr "Prefijo inválido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:329
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:250
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:329
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:251 vhffs-api/src/Vhffs/Panel/DNS.pm:317
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:334
 msgid "Invalid priority"
 msgstr "Prioridad inválida"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:309
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:313
 msgid "Invalid protocol syntax"
 msgstr "Sintaxis del protocolo inválida"
 
-#: vhffs-panel/repository/prefs.pl:120 vhffs-panel/group/prefs.pl:274
+#: vhffs-panel/repository/prefs.pl:119 vhffs-panel/group/prefs.pl:289
 msgid "Invalid quota"
 msgstr "Cuota inválida"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:159 vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:237 vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:284 vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:159
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:284
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:352
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:160 vhffs-api/src/Vhffs/Panel/DNS.pm:208
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:319
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:330 vhffs-api/src/Vhffs/Panel/DNS.pm:357
 msgid "Invalid record"
 msgstr "Registro inválido"
 
-#: vhffs-panel/git/create.pl:81 vhffs-panel/cvs/create.pl:82
-#: vhffs-panel/svn/create.pl:81
+#: vhffs-panel/svn/create.pl:81 vhffs-panel/cvs/create.pl:82
+#: vhffs-panel/git/create.pl:81
 msgid ""
 "Invalid reponame. It must contain between 3 and 64 characters, only "
 "lowercase letters and numbers"
@@ -2103,12 +1976,11 @@
 msgid "Invalid servername (doesn't conform to domain names rules)"
 msgstr "Servername inválido (no cumple con las reglas de nombres de dominio)"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:310
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:310
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:314
 msgid "Invalid service syntax"
 msgstr "Sintaxis de servicio inválida"
 
-#: vhffs-panel/subscribe.pl:115
+#: vhffs-panel/subscribe.pl:117
 msgid ""
 "Invalid username, it must contain between 3 and 12 alphanumeric characters, "
 "all in lowercase"
@@ -2116,141 +1988,130 @@
 "Nombre de usuario inválido, debe contener de 3 a 12 caracteres "
 "alfanuméricos, todos en minúscula"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:314 vhffs-api/src/Vhffs/Panel/DNS.pm:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:330
+#: vhffs-panel/admin/tag/category/edit.pl:119
+msgid "Invalid visibility"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:318 vhffs-api/src/Vhffs/Panel/DNS.pm:335
 msgid "Invalid weight"
 msgstr "Peso inválido"
 
-#: vhffs-panel/cvs/prefs.pl:111
+#: vhffs-panel/cvs/prefs.pl:98
 msgid "Is this CVS repository public ??"
 msgstr "¿Es un repositorio CVS público?"
 
-#: vhffs-panel/git/prefs.pl:100 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/svn/prefs.pl:93 vhffs-panel/git/prefs.pl:97
 msgid "Is this a public repository ?"
 msgstr "¿Es un repositorio público?"
 
-#: vhffs-panel/user/prefs.pl:311
+#: vhffs-panel/admin/tag/category/create.pl:68
+#: vhffs-panel/admin/tag/category/edit.pl:79
+#: vhffs-panel/admin/tag/create.pl:70
+msgid "Label"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:328
 msgid "Language"
 msgstr "Idioma"
 
-#: vhffs-intl/template_strings.pl:17 vhffs-intl/template_strings.pl:27
-msgid "Last Groups"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:16
-msgid "Last Users"
-msgstr ""
-
-#: vhffs-public/lastgroups.pl:58
+#: vhffs-public/index.pl:48 vhffs-public/lastgroups.pl:58
 #, perl-format
 msgid "Last groups on %s"
 msgstr "Últimos grupos en %s"
 
-#: vhffs-intl/template_strings.pl:20
-msgid "Last users"
-msgstr "Últimos usuarios"
+#: vhffs-panel/cron/prefs.pl:114
+msgid "Last run date was"
+msgstr ""
 
-#: vhffs-public/lastusers.pl:60
-#, perl-format
-msgid "Last users on %s"
-msgstr "Últimos usuarios en %s"
+#: vhffs-panel/cron/prefs.pl:119
+msgid "Last run return code was"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:9 vhffs-intl/template_strings.pl:24
-#: vhffs-panel/user/prefs.pl:304 vhffs-panel/subscribe.pl:226
+#: vhffs-panel/user/prefs.pl:321 vhffs-panel/subscribe.pl:241
 msgid "Lastname"
 msgstr "Apellido"
 
-#: vhffs-panel/user/prefs.pl:123
+#: vhffs-panel/user/prefs.pl:125
 msgid "Lastname is not correct !"
 msgstr "¡El apellido no es correcto!"
 
-#: vhffs-panel/dns/prefs.pl:236
+#: vhffs-panel/dns/prefs.pl:235
 msgid "List all A reccords"
 msgstr "Lista de los registros A"
 
-#: vhffs-panel/dns/prefs.pl:237
+#: vhffs-panel/dns/prefs.pl:236
 msgid "List all AAAA reccords"
 msgstr "Lista de los registros AAAA"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:185
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:205
 msgid "List all CVS repos"
 msgstr "Lista de los repositorios CVS"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:203
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:203
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
 msgid "List all Git repos"
 msgstr "Lista de los repositorios Git"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:220
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:220
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
 msgid "List all MySQL databases"
 msgstr "Lista de las bases MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:237
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
 msgid "List all Pg databases"
 msgstr "Lista de las bases Pg"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:167
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:187
 msgid "List all SVN repos"
 msgstr "Lista de los repositorios SVN"
 
-#: vhffs-panel/dns/prefs.pl:303
+#: vhffs-panel/dns/prefs.pl:305
 msgid "List all TXT records"
 msgstr "Lista de los registros TXT"
 
-#: vhffs-panel/mail/prefs.pl:112
+#: vhffs-panel/mail/prefs.pl:111
 msgid "List all accounts"
 msgstr "Lista de las cuentas usuarios"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:290
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:290
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:345
+msgid "List all cron jobs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:310
 msgid "List all domain names"
 msgstr "Lista de los nombres de dominio"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:308
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:308
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:328
 msgid "List all download repositories"
 msgstr "Lista de los repositorios de download"
 
-#: vhffs-panel/mail/prefs.pl:121
+#: vhffs-panel/mail/prefs.pl:120
 msgid "List all forwardings for this domain"
 msgstr "Lista de las redirecciones para este dominio"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:132
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:132
 msgid "List all groups"
 msgstr "Lista de los grupos"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:254
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:254
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:274
 msgid "List all mail domains"
 msgstr "Lista de los dominios mail"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:272
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:272
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:292
 msgid "List all mailing lists"
 msgstr "Lista de las listas de correo"
 
-#: vhffs-panel/mailinglist/prefs.pl:147
+#: vhffs-panel/mailinglist/prefs.pl:146
 msgid "List all members"
 msgstr "Lista de los miembros"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:96
 msgid "List all objects"
 msgstr "Lista de los objetos"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:115
 msgid "List all users"
 msgstr "Lista de los usuarios"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:150
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
 msgid "List all webareas"
 msgstr "Lista de las zonas web"
 
@@ -2258,6 +2119,10 @@
 msgid "List of all CVS repositories"
 msgstr "Lista de todos los repositorios CVS"
 
+#: vhffs-panel/admin/cron/list.pl:79
+msgid "List of all Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:72
 msgid "List of all Download repositories"
 msgstr "Lista de todos los repositorios de download"
@@ -2290,7 +2155,7 @@
 msgid "List of all users"
 msgstr "Lista de todos los usuarios"
 
-#: vhffs-intl/template_strings.pl:18 vhffs-panel/admin/web/list.pl:67
+#: vhffs-panel/admin/web/list.pl:67
 msgid "List of all websites"
 msgstr "Lista de todas las zonas web"
 
@@ -2298,23 +2163,23 @@
 msgid "List updated"
 msgstr "Lista modificada"
 
-#: vhffs-panel/mailinglist/delete.pl:95
+#: vhffs-panel/mailinglist/delete.pl:93
 msgid "List will NOT be deleted"
 msgstr "La lista NO será destruida"
 
-#: vhffs-panel/admin/stats.pl:166
+#: vhffs-panel/admin/stats.pl:165
 msgid "Listengine stats"
 msgstr "Estadísticas Listengine"
 
-#: vhffs-panel/mail/prefs.pl:124
+#: vhffs-panel/mail/prefs.pl:123
 msgid "Local Part"
 msgstr "Parte local"
 
-#: vhffs-panel/mail/prefs.pl:115
+#: vhffs-panel/mail/prefs.pl:114
 msgid "Local Part for this account"
 msgstr "Parte local de esto cuenta"
 
-#: vhffs-panel/lost_ack.pl:75 vhffs-panel/lost_ack.pl:83
+#: vhffs-panel/lost_ack.pl:78 vhffs-panel/lost_ack.pl:86
 msgid "Login"
 msgstr "Login"
 
@@ -2322,22 +2187,15 @@
 msgid "Login failed !"
 msgstr "¡Fracaso del Login!"
 
-#: vhffs-panel/group/prefs.pl:245
+#: vhffs-panel/group/prefs.pl:258
 msgid "Logo"
 msgstr "Logo"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:439
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:439
+#: vhffs-api/src/Vhffs/Panel/Main.pm:429
 msgid "Logout"
 msgstr "Desconexión"
 
-#: vhffs-intl/template_strings.pl:53 vhffs-intl/template_strings.pl:69
-msgid "MB"
-msgstr "MB"
-
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:73
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:122
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:76 vhffs-api/src/Vhffs/Panel/Menu.pm:126
 msgid "ML"
 msgstr "Listas"
 
@@ -2353,34 +2211,27 @@
 msgid "MX Record updated"
 msgstr "Registro MX modificado"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:121
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:75 vhffs-api/src/Vhffs/Panel/Menu.pm:125
 msgid "Mail"
 msgstr "Mail"
 
-#: vhffs-panel/mail/prefs.pl:101
+#: vhffs-panel/mail/prefs.pl:100
 msgid "Mail Administration for domain "
 msgstr "Mail de administración para este dominio "
 
-#: vhffs-intl/extra_strings.pl:44
-msgid "Mail Domain"
-msgstr "Dominio mail"
-
-#: vhffs-panel/user/prefs.pl:282
+#: vhffs-panel/user/prefs.pl:288
 msgid "Mail deleted"
 msgstr "Cuenta de correo borrada"
 
-#: vhffs-panel/mail/create.pl:80
+#: vhffs-panel/mail/create.pl:81
 msgid "Mail domain successfully created !"
 msgstr "Dominio mail creado con éxito!"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:257
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:277
 msgid "Mail domains Admin"
 msgstr "Administración de dominios mail"
 
-#: vhffs-panel/mail/index.pl:60
+#: vhffs-panel/mail/index.pl:61
 #, perl-format
 msgid "Mail domains for %s"
 msgstr "Dominios mail para %s"
@@ -2393,52 +2244,53 @@
 msgid "Mail for the list"
 msgstr "Mail para la lista"
 
-#: vhffs-panel/admin/stats.pl:139
+#: vhffs-panel/cron/prefs.pl:99
+msgid "Mail reports to"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:138
 msgid "Mail stats"
 msgstr "Estadísticas Mail"
 
+#: vhffs-panel/cron/create.pl:111
+msgid "Mail to"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:98
 msgid "Mail to all hosted people"
 msgstr "Mail a todos los usuarios"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:371
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:371
 #, perl-format
 msgid "Mail with id %s"
 msgstr "Mail con id %s"
 
-#: vhffs-panel/user/prefs.pl:180
+#: vhffs-panel/user/prefs.pl:186
 msgid "Mailbox modified"
 msgstr "Buzón modificado"
 
-#: vhffs-panel/user/prefs.pl:223
+#: vhffs-panel/user/prefs.pl:229
 msgid "Mailbox successfully added"
 msgstr "Buzón  %s creado"
 
-#: vhffs-intl/extra_strings.pl:45 vhffs-panel/admin/mailinglist/list.pl:79
+#: vhffs-panel/admin/mailinglist/list.pl:79
 msgid "Mailing List"
 msgstr "Lista de correo"
 
-#: vhffs-intl/template_strings.pl:45
-msgid "Mailing Lists for this group"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:81
+#: vhffs-panel/mailinglist/prefs.pl:80
 #, perl-format
 msgid "Mailing list %s@%s not found"
 msgstr "No se encontró la lista de correo %s@%s"
 
-#: vhffs-panel/svn/prefs.pl:157
+#: vhffs-panel/svn/prefs.pl:158
 msgid "Mailing list address is invalid"
 msgstr "Dirección de la lista inválida"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:275
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:295
 msgid "Mailing lists Admin"
 msgstr "Admin listas de correo"
 
-#: vhffs-panel/mailinglist/index.pl:60
+#: vhffs-panel/mailinglist/index.pl:61
 #, perl-format
 msgid "Mailing lists for %s"
 msgstr "Lista de correo para %s"
@@ -2447,36 +2299,51 @@
 msgid "Mailing lists' administration"
 msgstr "Admin listas de correo"
 
-#: vhffs-panel/admin/broadcast_submit.pl:92
+#: vhffs-panel/admin/broadcast_submit.pl:88
 msgid "Mailing successfully added"
 msgstr "Lista de correo creada con éxito"
 
-#: vhffs-panel/admin/broadcast_delete.pl:92
+#: vhffs-panel/admin/broadcast_delete.pl:88
 msgid "Mailing successfully deleted"
 msgstr "Lista de correo borrada con éxito"
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
+msgid "Manage existing categories"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
+msgid "Manage existing tags"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:99
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:99
 msgid "Manage mailings"
 msgstr "Administración listas de correo"
 
-#: vhffs-panel/mailinglist/prefs.pl:146
+#: vhffs-panel/mailinglist/prefs.pl:145
 msgid "Manage members"
 msgstr "Administrar miembros"
 
-#: vhffs-panel/group/prefs.pl:152
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:154
+msgid "Manage requests"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:157
 msgid "Many users matched your query. Please choose between them"
 msgstr "Varios usuarios corresponden a su búsqueda. Escoja entre ellos"
 
-#: vhffs-panel/mailinglist/prefs.pl:114
+#: vhffs-panel/admin/stats.pl:183
+msgid "Max tags for a group"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:113
 msgid "Members only"
 msgstr "Sólo miembros"
 
-#: vhffs-panel/mailinglist/prefs.pl:115
+#: vhffs-panel/mailinglist/prefs.pl:114
 msgid "Members only and moderated"
 msgstr "Sólo miembros y moderado"
 
-#: vhffs-panel/admin/broadcast.pl:80
+#: vhffs-panel/admin/broadcast.pl:78
 msgid "Message"
 msgstr "Mensaje"
 
@@ -2489,42 +2356,35 @@
 msgstr "Mensaje enviado con éxito"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:336 vhffs-api/src/Vhffs/Listengine.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:336
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:353
 #, perl-format
 msgid "Message with id: %s"
 msgstr "Mensaje con el id: %s"
 
-#: vhffs-panel/mailinglist/prefs.pl:112
+#: vhffs-panel/mailinglist/prefs.pl:111
 msgid "Moderated for everyone"
 msgstr "Moderado para todo el mundo"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:92 vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:95 vhffs-panel/admin/moderation.pl:74
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:92
+#: vhffs-panel/admin/moderation.pl:73 vhffs-api/src/Vhffs/Panel/Menu.pm:96
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:77 vhffs-api/src/Vhffs/Panel/Admin.pm:95
 msgid "Moderation"
 msgstr "Moderación"
 
-#: vhffs-intl/template_strings.pl:85
-msgid "Moderator"
-msgstr "Moderador"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:429
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:429
+#: vhffs-api/src/Vhffs/Panel/Main.pm:419
 msgid "Moderator account"
 msgstr "Cuenta moderador:"
 
-#: vhffs-intl/extra_strings.pl:30 vhffs-api/src/Vhffs/Panel/Object.pm:131
-#: vhffs-panel/admin/object/edit.pl:126
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:131
+#: vhffs-panel/admin/tag/category/create.pl:74
+#: vhffs-panel/admin/tag/category/edit.pl:85
+msgid "Moderators"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:130
 msgid "Modification applied"
 msgstr "Modificación realizada"
 
-#: vhffs-intl/extra_strings.pl:29 vhffs-api/src/Vhffs/Panel/Object.pm:130
-#: vhffs-panel/admin/object/edit.pl:125
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:130
+#: vhffs-panel/admin/object/edit.pl:123
+#: vhffs-api/src/Vhffs/Panel/Object.pm:129
 msgid "Modification error"
 msgstr "Error durante la modificación"
 
@@ -2532,60 +2392,48 @@
 msgid "Modifications applied successfully"
 msgstr "Modificaciones realizadas con éxito"
 
-#: vhffs-panel/git/prefs.pl:152 vhffs-panel/git/prefs.pl:197
-#: vhffs-panel/svn/prefs.pl:163
+#: vhffs-panel/svn/prefs.pl:164 vhffs-panel/git/prefs.pl:172
 msgid ""
 "Modifications applied. Please wait while your repository is being updated"
 msgstr ""
 "Modificaciones aplicadas. Por favor, espere mientras se actualice el "
 "repositorio"
 
-#: vhffs-panel/git/prefs.pl:103 vhffs-panel/dns/prefs.pl:315
-#: vhffs-panel/dns/prefs.pl:327 vhffs-panel/dns/prefs.pl:340
-#: vhffs-panel/dns/prefs.pl:351 vhffs-panel/dns/prefs.pl:378
-#: vhffs-panel/dns/prefs.pl:394 vhffs-panel/pgsql/prefs.pl:97
-#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/mail/list.pl:84
-#: vhffs-panel/admin/git/list.pl:81 vhffs-panel/admin/dns/list.pl:84
-#: vhffs-panel/admin/pgsql/list.pl:85 vhffs-panel/admin/cvs/list.pl:84
-#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mysql/list.pl:92
-#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/mailinglist/list.pl:88
-#: vhffs-panel/admin/user/list.pl:79 vhffs-panel/cvs/prefs.pl:114
-#: vhffs-panel/group/prefs.pl:211 vhffs-panel/group/prefs.pl:229
-#: vhffs-panel/acl/view.pl:105 vhffs-panel/mysql/prefs.pl:109
-#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/web/prefs.pl:101
-#: vhffs-panel/user/prefs.pl:314
+#: vhffs-panel/mysql/prefs.pl:110 vhffs-panel/pgsql/prefs.pl:97
+#: vhffs-panel/admin/mysql/list.pl:92 vhffs-panel/admin/pgsql/list.pl:85
+#: vhffs-panel/admin/mailinglist/list.pl:88 vhffs-panel/admin/cron/list.pl:92
+#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/user/list.pl:79
+#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/dns/list.pl:84
+#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mail/list.pl:84
+#: vhffs-panel/admin/cvs/list.pl:84 vhffs-panel/admin/git/list.pl:81
+#: vhffs-panel/cron/prefs.pl:148 vhffs-panel/user/prefs.pl:331
+#: vhffs-panel/svn/prefs.pl:96 vhffs-panel/dns/prefs.pl:317
+#: vhffs-panel/dns/prefs.pl:329 vhffs-panel/dns/prefs.pl:342
+#: vhffs-panel/dns/prefs.pl:353 vhffs-panel/dns/prefs.pl:380
+#: vhffs-panel/dns/prefs.pl:396 vhffs-panel/group/prefs.pl:224
+#: vhffs-panel/group/prefs.pl:242 vhffs-panel/cvs/prefs.pl:101
+#: vhffs-panel/git/prefs.pl:100 vhffs-panel/acl/view.pl:105
+#: vhffs-panel/web/prefs.pl:98
 msgid "Modify"
 msgstr "Modificar"
 
-#: vhffs-panel/dns/prefs.pl:260
-msgid "Must we redirect the DNS on our servers ?"
-msgstr "Debemos redirigir los DNS a nuestros servidores?"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:436 vhffs-panel/group/index.pl:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:436
+#: vhffs-panel/group/index.pl:54 vhffs-api/src/Vhffs/Panel/Main.pm:426
 msgid "My Projects"
 msgstr "Mis proyectos"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:65 vhffs-api/src/Vhffs/Panel/Menu.pm:114
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:114
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:118
 msgid "MySQL"
 msgstr "MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:223
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:243
 msgid "MySQL Admin"
 msgstr "Admin MySQL "
 
-#: vhffs-panel/mysql/prefs.pl:93
+#: vhffs-panel/mysql/prefs.pl:94
 msgid "MySQL Administration"
 msgstr "Administración MySQL"
 
-#: vhffs-intl/extra_strings.pl:39
-msgid "MySQL DB"
-msgstr "BD MySQL"
-
-#: vhffs-panel/mysql/index.pl:60
+#: vhffs-panel/mysql/index.pl:61
 #, perl-format
 msgid "MySQL DBs for %s"
 msgstr "BD MySQL para %s"
@@ -2602,7 +2450,7 @@
 msgid "MySQL password for this database "
 msgstr "Contraseña para esta base de datos MySQL "
 
-#: vhffs-panel/admin/stats.pl:151
+#: vhffs-panel/admin/stats.pl:150
 msgid "MySQL stats"
 msgstr "Estadísticas MySQL"
 
@@ -2618,77 +2466,82 @@
 msgid "NS TYPE"
 msgstr "NS TYPE"
 
-#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/group/history.pl:79
+#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:80
 msgid "Name"
 msgstr "Nombre"
 
-#: vhffs-panel/dns/prefs.pl:264
+#: vhffs-panel/dns/prefs.pl:263
 msgid "Name for reccord"
 msgstr "Nombre de este registro"
 
-#: vhffs-panel/dns/prefs.pl:307
+#: vhffs-panel/dns/prefs.pl:309
 msgid "Name for record"
 msgstr "Nombre de este registro"
 
-#: vhffs-panel/pgsql/prefs.pl:84 vhffs-panel/mysql/prefs.pl:95
+#: vhffs-panel/mysql/prefs.pl:96 vhffs-panel/pgsql/prefs.pl:84
 msgid "Name of the database"
 msgstr "Nombre de la base de datos"
 
+#: vhffs-panel/dns/prefs.pl:270 vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:294
+msgid "Name of the record"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:271
 msgid "Name of your MX"
 msgstr "Nombre de su MX"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:812
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:812
+#: vhffs-panel/cron/prefs.pl:112 vhffs-panel/cron/prefs.pl:118
+msgid "Never"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Main.pm:811
 msgid "New"
 msgstr "Nuevo"
 
-#: vhffs-intl/template_strings.pl:52 vhffs-intl/template_strings.pl:68
-msgid "New Quota"
-msgstr "Nueva cuota"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:271
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:271
 #, perl-format
 msgid "New language is: %s\n"
 msgstr "Nuevo idioma es: %s\n"
 
-#: vhffs-intl/template_strings.pl:60 vhffs-intl/template_strings.pl:63
-#: vhffs-panel/git/prefs.pl:102 vhffs-panel/dns/prefs.pl:262
-#: vhffs-panel/cvs/prefs.pl:113 vhffs-panel/svn/prefs.pl:94
+#: vhffs-panel/cron/prefs.pl:128
+msgid "Next run is scheduled at"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/dns/prefs.pl:261
+#: vhffs-panel/cvs/prefs.pl:100 vhffs-panel/git/prefs.pl:99
 msgid "No"
 msgstr "No"
 
-#: vhffs-panel/dns/prefs.pl:319
+#: vhffs-panel/dns/prefs.pl:321
 msgid "No A type found"
 msgstr "No se encontró tipo A"
 
-#: vhffs-panel/dns/prefs.pl:331
+#: vhffs-panel/dns/prefs.pl:333
 msgid "No AAAA type found"
 msgstr "No se encontró tipo AAAA"
 
-#: vhffs-panel/dns/prefs.pl:358
+#: vhffs-panel/dns/prefs.pl:360
 msgid "No CNAME available on this domain"
 msgstr "No se encontró registro CNAME para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:345
+#: vhffs-panel/dns/prefs.pl:347
 msgid "No MX reccord for this domain"
 msgstr "No se encontró registro MX para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:371
+#: vhffs-panel/dns/prefs.pl:373
 msgid "No NS available on this domain"
 msgstr "No se encontró registro NS para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:387
+#: vhffs-panel/dns/prefs.pl:389
 msgid "No SRV available on this domain"
 msgstr "No se encontró registro SRV para este dominio"
 
-#: vhffs-panel/dns/prefs.pl:400
+#: vhffs-panel/dns/prefs.pl:402
 msgid "No TXT available on this domain"
 msgstr "No se encontró registro TXT para este dominio"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:345
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:345
+#: vhffs-api/src/Vhffs/Panel/Main.pm:350
 msgid "No cookie found, please accept the cookie and then please login again !"
 msgstr ""
 "No hay cookie, por favor, acepte los cookies y luego conectase otra vez!"
@@ -2697,79 +2550,53 @@
 msgid "No enough rights"
 msgstr "No tiene suficiente derechos"
 
-#: vhffs-panel/group/history.pl:83
+#: vhffs-panel/group/history.pl:84
 msgid "No event about this group"
 msgstr "No hay evento sobre este objeto"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:208
-#: vhffs-panel/admin/object/edit.pl:204 vhffs-panel/history.pl:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:208
+#: vhffs-panel/admin/object/edit.pl:202 vhffs-panel/history.pl:104
+#: vhffs-api/src/Vhffs/Panel/Object.pm:207
 msgid "No event about this object"
 msgstr "No hay evento sobre este objeto"
 
-#: vhffs-intl/template_strings.pl:49
-msgid "No group"
-msgstr "No hay grupos"
-
-#: vhffs-public/groupsearch.pl:74
+#: vhffs-public/groupsearch.pl:78
 msgid "No group found"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:770
+#: vhffs-listengine/src/listengine.pl:773
 msgid "No message to moderate"
 msgstr "No hay mensaje por moderar"
 
-#: vhffs-public/group.pl:79
-msgid "No such group"
-msgstr "El grupo no existe"
-
-#: vhffs-intl/template_strings.pl:13
-msgid "No user"
-msgstr ""
-
-#: vhffs-panel/group/prefs.pl:255
+#: vhffs-panel/group/prefs.pl:268
 msgid "No user for this group"
 msgstr "No hay usuario para este grupo"
 
-#: vhffs-public/usersearch.pl:75
+#: vhffs-public/usersearch.pl:61
 msgid "No user found"
 msgstr ""
 
-#: vhffs-public/websitesearch.pl:74
-msgid "No website found"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:47
-msgid "No websites"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:255 vhffs-panel/web/prefs.pl:112
-#: vhffs-panel/user/prefs.pl:329
+#: vhffs-panel/user/prefs.pl:346 vhffs-panel/dns/prefs.pl:254
+#: vhffs-panel/web/prefs.pl:109
 msgid "No, I'm not sure, I prefer to keep it."
 msgstr "No, no estoy seguro, prefiero conservarlo."
 
-#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/mail/prefs.pl:139
-#: vhffs-panel/git/prefs.pl:108 vhffs-panel/pgsql/prefs.pl:102
-#: vhffs-panel/cvs/prefs.pl:119 vhffs-panel/group/prefs.pl:216
-#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/svn/prefs.pl:100
-#: vhffs-panel/mailinglist/prefs.pl:182
+#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/pgsql/prefs.pl:102
+#: vhffs-panel/mailinglist/prefs.pl:182 vhffs-panel/cron/prefs.pl:153
+#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/svn/prefs.pl:101
+#: vhffs-panel/group/prefs.pl:229 vhffs-panel/mail/prefs.pl:138
+#: vhffs-panel/cvs/prefs.pl:106 vhffs-panel/git/prefs.pl:105
 msgid "No, I'm not sure, I prefer to keep this project."
 msgstr "No, no estoy seguro, prefiero conservar este proyecto."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:813
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:813
+#: vhffs-api/src/Vhffs/Panel/Main.pm:812
 msgid "None"
 msgstr "Ninguno"
 
-#: vhffs-intl/template_strings.pl:84
-msgid "Normal"
-msgstr "Normal"
-
-#: vhffs-panel/git/prefs.pl:120 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/svn/prefs.pl:110 vhffs-panel/git/prefs.pl:114
 msgid "Notify changes on mailing-list :"
 msgstr "Notificar cambio en la lista de correo :"
 
-#: vhffs-panel/admin/object/list.pl:88
+#: vhffs-panel/admin/object/list.pl:86
 msgid "Object ID"
 msgstr "Objeto ID"
 
@@ -2777,8 +2604,7 @@
 msgid "Object deletion"
 msgstr "Destrucción del objeto"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:98 vhffs-panel/admin/object/edit.pl:94
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:98
+#: vhffs-panel/admin/object/edit.pl:92 vhffs-api/src/Vhffs/Panel/Object.pm:97
 msgid "Object id"
 msgstr "Objeto id"
 
@@ -2786,7 +2612,7 @@
 msgid "Object name"
 msgstr "Nombre del objeto"
 
-#: vhffs-panel/admin/object/edit_submit.pl:95
+#: vhffs-panel/admin/object/edit_submit.pl:93
 msgid "Object successfully updated"
 msgstr "Objeto actualizado con éxito"
 
@@ -2798,59 +2624,59 @@
 msgid "Object-ID error"
 msgstr "Error ID objeto"
 
-#: vhffs-panel/mail/prefs.pl:145 vhffs-panel/git/prefs.pl:114
-#: vhffs-panel/dns/prefs.pl:247 vhffs-panel/svn/prefs.pl:106
-#: vhffs-panel/web/prefs.pl:105
+#: vhffs-panel/mysql/prefs.pl:108 vhffs-panel/cron/prefs.pl:146
+#: vhffs-panel/svn/prefs.pl:107 vhffs-panel/dns/prefs.pl:246
+#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:111
+#: vhffs-panel/web/prefs.pl:102
 msgid "Ok, go to ACL admin"
 msgstr "Ok, ir a la gestión de ACL"
 
-#: vhffs-panel/admin/broadcast.pl:81
+#: vhffs-panel/admin/broadcast.pl:79
 msgid "Ok, send it !"
 msgstr "Ok, envialo!"
 
-#: vhffs-panel/repository/prefs.pl:114 vhffs-panel/group/prefs.pl:279
+#: vhffs-panel/repository/prefs.pl:113 vhffs-panel/group/prefs.pl:294
 msgid "Only administrators are allowed to do this"
 msgstr "Sólo los administradores están autorizado a hacer esto"
 
-#: vhffs-panel/user/prefs.pl:463
+#: vhffs-panel/user/prefs.pl:488
 msgid "Only administrators can do this"
 msgstr "Sólo los administradores pueden hacer esto"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:58
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:58
 msgid "Only this list administrators can use the following commands.\n"
 msgstr "Sólo los administradores pueden utilizar los comandos siguientes.\n"
 
-#: vhffs-panel/mailinglist/prefs.pl:111
+#: vhffs-panel/mailinglist/prefs.pl:110
 msgid "Open for everyone"
 msgstr "Abierto a todos"
 
-#: vhffs-panel/mailinglist/prefs.pl:113
+#: vhffs-panel/mailinglist/prefs.pl:112
 msgid "Open for members, moderated for non-members"
 msgstr "Abierto a los miembros, moderado para los no-miembros"
 
-#: vhffs-panel/mailinglist/prefs.pl:108
+#: vhffs-panel/mailinglist/prefs.pl:107
 msgid "Open, approval required"
 msgstr "Abierto, requiere aprobación"
 
-#: vhffs-panel/mailinglist/prefs.pl:107
+#: vhffs-panel/mailinglist/prefs.pl:106
 msgid "Open, no approval required"
 msgstr "Abierto, no requiere aprobación"
 
-#: vhffs-intl/template_strings.pl:71 vhffs-panel/git/prefs.pl:119
-#: vhffs-panel/svn/prefs.pl:108 vhffs-panel/mailinglist/prefs.pl:105
+#: vhffs-panel/mailinglist/prefs.pl:104 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/git/prefs.pl:113
 msgid "Options"
 msgstr "Opciones"
 
-#: vhffs-intl/template_strings.pl:6 vhffs-intl/template_strings.pl:11
-msgid "Owned by"
-msgstr "Pertenece a"
+#: vhffs-panel/subscribe.pl:260
+msgid "Or listen to the code"
+msgstr "O escuchar el código"
 
-#: vhffs-panel/group/create.pl:88
+#: vhffs-panel/group/create.pl:102
 msgid "Owner"
 msgstr "Propietario"
 
-#: vhffs-panel/admin/object/list.pl:90
+#: vhffs-panel/admin/object/list.pl:88
 msgid "Owner group"
 msgstr "Grupo propietario"
 
@@ -2858,61 +2684,56 @@
 msgid "Owner name"
 msgstr "Nombre del propietario"
 
-#: vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/object/list.pl:87
 msgid "Owner user"
 msgstr "Usuario propietario"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:67 vhffs-panel/mail/prefs.pl:116
-#: vhffs-panel/user/prefs.pl:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:67
+#: vhffs-panel/user/prefs.pl:326 vhffs-panel/mail/prefs.pl:115
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:67
 msgid "Password"
 msgstr "Contraseña"
 
-#: vhffs-panel/pgsql/prefs.pl:135 vhffs-panel/mysql/prefs.pl:146
+#: vhffs-panel/mysql/prefs.pl:147 vhffs-panel/pgsql/prefs.pl:135
 msgid "Password change request taken in account, please wait for processing"
 msgstr "Solicitud de cambio de contraseña recibida, por favor espere"
 
-#: vhffs-panel/user/prefs.pl:168
+#: vhffs-panel/user/prefs.pl:170
 msgid "Password changed"
 msgstr "Contraseña modificada"
 
-#: vhffs-panel/pgsql/prefs.pl:90 vhffs-panel/mysql/prefs.pl:101
+#: vhffs-panel/mysql/prefs.pl:102 vhffs-panel/pgsql/prefs.pl:90
 msgid "Password for this database"
 msgstr "Contraseña para esta base de datos"
 
-#: vhffs-panel/lost_ack.pl:82
+#: vhffs-panel/lost_ack.pl:85
 msgid "Password recovery failed!"
 msgstr "¡Fracaso en la recuperación de la contraseña!"
 
-#: vhffs-panel/user/prefs.pl:141
+#: vhffs-panel/user/prefs.pl:143
 msgid "Passwords don't match"
 msgstr "Las contraseñas no corresponden"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:66 vhffs-api/src/Vhffs/Panel/Menu.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:115
+#: vhffs-panel/cron/prefs.pl:92 vhffs-panel/cron/create.pl:107
+msgid "Path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:119
 msgid "PgSQL"
 msgstr "PgSQL"
 
-#: vhffs-intl/extra_strings.pl:40
-msgid "PgSQL DB"
-msgstr "BD MySQL"
-
-#: vhffs-panel/admin/stats.pl:158
+#: vhffs-panel/admin/stats.pl:157
 msgid "PgSQL stats"
 msgstr "Estadísticas PgSQL"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:324
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:324
+#: vhffs-api/src/Vhffs/Panel/Main.pm:326
 msgid "Platform temporary closed."
 msgstr "Plataforma cerrada temporalmente"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:313
+#: vhffs-api/src/Vhffs/Panel/Main.pm:315
 msgid "Platform temporary closed<br/>database error"
 msgstr "Plataforma cerrada<br/>error en la base de datos"
 
-#: vhffs-panel/group/create.pl:92 vhffs-panel/object/resubmit.pl:131
+#: vhffs-panel/object/resubmit.pl:131 vhffs-panel/group/create.pl:106
 #: vhffs-panel/web/create.pl:104
 msgid ""
 "Please consider that this description is going to be displayed in the public "
@@ -2924,66 +2745,65 @@
 "forma impersonal. Debe tener cuidado con la gramática y la ortografía. Tome "
 "su tiempo para colocar el contenido el más adecuado."
 
-#: vhffs-panel/subscribe.pl:159
+#: vhffs-panel/subscribe.pl:161
 msgid "Please enter a correct city"
 msgstr "Escribe una ciudad válida, por favor"
 
-#: vhffs-panel/subscribe.pl:163
+#: vhffs-panel/subscribe.pl:165
 msgid "Please enter a correct country"
 msgstr "Entre un nombre de país válido"
 
-#: vhffs-panel/subscribe.pl:151
+#: vhffs-panel/subscribe.pl:153
 msgid "Please enter a correct firstname"
 msgstr "Escribe un nombre válido"
 
-#: vhffs-panel/subscribe.pl:155
+#: vhffs-panel/subscribe.pl:157
 msgid "Please enter a correct lastname"
 msgstr "Entre un apellido válido"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:64
 msgid "Please enter your username and password"
 msgstr "Escribe su nombre de usuario y su contraseña"
 
-#: vhffs-panel/subscribe.pl:222
+#: vhffs-panel/subscribe.pl:237
 msgid ""
 "Please fill in all fields, a mail containing your password will be sent to "
 "you"
 msgstr "Llena los campos. Recibirá un email con su contraseña"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:299
 msgid "Please read help of listengine\n"
 msgstr "Por favor, lea la ayuda de listengine\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:196
 msgid "Please try again !\n"
 msgstr "Intente otra vez!\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:242
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:242
 msgid "Please try again.\n"
 msgstr "Intente otra vez!\n"
 
-#: vhffs-panel/lost_ack.pl:74
+#: vhffs-panel/lost_ack.pl:77
 #, perl-format
 msgid "Please wait %s, a new password will be sent to you in a few minutes..."
 msgstr "Espere %s, una nueva contraseña os será enviada en algunos minutos..."
 
-#: vhffs-panel/subscribe.pl:189
+#: vhffs-panel/subscribe.pl:191
 msgid ""
 "Please wait while we are creating the account, it will take some minutes"
 msgstr ""
 "Espere mientras se procede a la creación de su cuenta. Esto puede tomar "
 "algunos minutos"
 
-#: vhffs-panel/dns/prefs.pl:296 vhffs-panel/dns/prefs.pl:381
+#: vhffs-panel/admin/stats.pl:185
+msgid "Popular tags"
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
 msgid "Port"
 msgstr "Puerto"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:240
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:260
 msgid "PostgreSQL Admin"
 msgstr "Admin PostgreSQL "
 
@@ -2991,7 +2811,7 @@
 msgid "PostgreSQL Administration"
 msgstr "Administración PostgreSQL"
 
-#: vhffs-panel/pgsql/index.pl:60
+#: vhffs-panel/pgsql/index.pl:61
 #, perl-format
 msgid "PostgreSQL DBs for %s"
 msgstr "BD PostgreSQL para %s"
@@ -3008,26 +2828,23 @@
 msgid "PostgreSQL password for this database "
 msgstr "Contraseña PostgreSQL para esta base de datos "
 
-#: vhffs-panel/mailinglist/prefs.pl:110
+#: vhffs-panel/mailinglist/prefs.pl:109
 msgid "Posting control:"
 msgstr "Control de los envíos:"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:558
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:558
+#: vhffs-api/src/Vhffs/Panel/Main.pm:545
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
 msgid "Prefix already exists"
 msgstr "Este prefijo ya existe"
 
-#: vhffs-panel/mailinglist/prefs.pl:138
+#: vhffs-panel/mailinglist/prefs.pl:137
 msgid "Prefix on subject"
 msgstr "Prefijo colocado delante del título"
 
-#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:299 vhffs-panel/dns/prefs.pl:384
 msgid "Priority"
 msgstr "Prioridad"
 
@@ -3035,87 +2852,85 @@
 msgid "Priority of your MX"
 msgstr "Prioridad de su MX"
 
-#: vhffs-panel/dns/prefs.pl:341
+#: vhffs-panel/dns/prefs.pl:343
 msgid "Priority: "
 msgstr "Prioridad: "
 
-#: vhffs-panel/group/prefs.pl:207
+#: vhffs-panel/group/prefs.pl:220
 msgid "Project Description"
 msgstr "Descripción del proyecto"
 
-#: vhffs-panel/group/history.pl:75
+#: vhffs-panel/group/history.pl:76
 msgid "Project History"
 msgstr "Historial del proyecto"
 
-#: vhffs-panel/group/create.pl:85
+#: vhffs-panel/group/create.pl:99
 msgid "Project Name"
 msgstr "Nombre del proyecto"
 
-#: vhffs-panel/group/prefs.pl:205
+#: vhffs-panel/group/prefs.pl:218
 msgid "Project Owner"
 msgstr "Propietario del objeto"
 
-#: vhffs-panel/group/prefs.pl:201
+#: vhffs-panel/group/prefs.pl:214
 msgid "Project Preferences"
 msgstr "Preferencias del proyecto"
 
-#: vhffs-panel/group/create.pl:76
+#: vhffs-panel/group/create.pl:89
 msgid "Project Successfully created !"
 msgstr "¡Proyecto creado con éxito!"
 
-#: vhffs-panel/group/prefs.pl:226
+#: vhffs-panel/group/prefs.pl:239
 msgid "Project contact"
 msgstr "Contacto del proyecto"
 
-#: vhffs-panel/group/prefs.pl:209 vhffs-panel/group/create.pl:87
+#: vhffs-panel/group/prefs.pl:222 vhffs-panel/group/create.pl:101
 msgid "Project full name"
 msgstr "Nombre completo del proyecto"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:451
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:451
-msgid "Project home"
-msgstr "Portada del proyecto"
-
 #: vhffs-panel/group/index.pl:62
 msgid "Projects you contribute to"
 msgstr "Proyecto a los cuales contribuye"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:809 vhffs-panel/group/index.pl:64
-#: vhffs-panel/object/resubmit.pl:108
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:809
+#: vhffs-panel/object/resubmit.pl:108 vhffs-panel/group/index.pl:64
+#: vhffs-api/src/Vhffs/Panel/Main.pm:808
 msgid "Propose a new description"
 msgstr "Proponer una nueva descripción"
 
-#: vhffs-panel/dns/prefs.pl:293
+#: vhffs-panel/dns/prefs.pl:295
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: vhffs-panel/git/prefs.pl:99 vhffs-panel/svn/prefs.pl:91
+#: vhffs-panel/admin/tag/category/create.pl:73
+#: vhffs-panel/admin/tag/category/edit.pl:84 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/git/prefs.pl:96
 msgid "Public"
 msgstr "Público"
 
-#: vhffs-panel/mailinglist/prefs.pl:136
+#: vhffs-panel/admin/tag/category/create.pl:72
+#: vhffs-panel/admin/tag/category/edit.pl:83
+msgid "Public (available on group creation)"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:135
 msgid "Public archives"
 msgstr "Archivos públicos"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:70
+#: vhffs-api/src/Vhffs/Panel/Main.pm:71
 msgid "Public area is not available on this platform."
 msgstr "No hay zonas públicas en esta plataforma."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:69
+#: vhffs-api/src/Vhffs/Panel/Main.pm:70
 msgid "Public area not available"
 msgstr "No hay zonas públicas"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:550 vhffs-panel/repository/prefs.pl:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:550
+#: vhffs-panel/repository/prefs.pl:84 vhffs-api/src/Vhffs/Panel/Main.pm:537
 #, perl-format
 msgid "Quota (used/total) : %s/%s"
 msgstr "Cuota (usado/total) : %s/%s"
 
+#: vhffs-public/extern/newusersrss.pl:102
 #: vhffs-public/extern/newgroupsrss.pl:103
-#: vhffs-public/extern/newusersrss.pl:102
 msgid "RSS infos are not published"
 msgstr "Las informaciones RSS no serán publicadas"
 
@@ -3127,60 +2942,64 @@
 msgid "Reason of refusal"
 msgstr "Motivo de rechazo"
 
-#: vhffs-panel/subscribe.pl:239
+#: vhffs-panel/user/prefs.pl:467
+msgid "Receive mails from the newsletter"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:258
 msgid "Recopy the code"
 msgstr "Copiar el código"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:161 vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:285 vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:161
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:353
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:209
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:239 vhffs-api/src/Vhffs/Panel/DNS.pm:264
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:289 vhffs-api/src/Vhffs/Panel/DNS.pm:331
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:358
 msgid "Record does not exists"
 msgstr "Registro no existe"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:160
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:160
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:161
 msgid "Record type doesn't exists"
 msgstr "Este tipo de registro no existe"
 
-#: vhffs-panel/admin/moderation.pl:90 vhffs-panel/admin/moderation.pl:117
+#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
 msgid "Refuse"
 msgstr "Rechazar"
 
-#: vhffs-panel/group/prefs.pl:254
+#: vhffs-panel/group/prefs.pl:267
 msgid "Remove"
 msgstr "Quitar"
 
-#: vhffs-panel/mailinglist/prefs.pl:137
+#: vhffs-panel/mailinglist/prefs.pl:136
 msgid "Reply to: on list"
 msgstr "Campo Reply-to: activo"
 
-#: vhffs-panel/repository/create.pl:92 vhffs-panel/git/create.pl:96
-#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/cvs/create.pl:102
-#: vhffs-panel/svn/create.pl:96
+#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/repository/create.pl:92
+#: vhffs-panel/svn/create.pl:96 vhffs-panel/cvs/create.pl:102
+#: vhffs-panel/git/create.pl:96
 msgid "Repository Name"
 msgstr "Nombre del Repositorio "
 
-#: vhffs-intl/template_strings.pl:50
-msgid "Repository Quota"
+#: vhffs-panel/repository/prefs.pl:128
+msgid "Repository updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:133
-msgid "Repository updated, please wait while quota is updated on filesystem"
+#: vhffs-panel/group/prefs.pl:444
+msgid "Request canceled"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:433
+msgid "Request not found"
+msgstr ""
+
 #: vhffs-panel/mailinglist/prefs.pl:263
 #, perl-format
 msgid "Rights for subscriber %s updated"
 msgstr "Derechos del suscriptor %s actualizado"
 
+#: vhffs-panel/cron/prefs.pl:137
+msgid "Running"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:198
 msgid "SRV Record added"
 msgstr "Registro SRV añadido"
@@ -3193,26 +3012,19 @@
 msgid "SRV Record updated"
 msgstr "Registro SRV modificado"
 
-#: vhffs-panel/dns/prefs.pl:290
+#: vhffs-panel/dns/prefs.pl:291
 msgid "SRV TYPE"
 msgstr "SRV TYPE"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:117
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:121
 msgid "SVN"
 msgstr "SVN"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:170
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:190
 msgid "SVN Admin"
 msgstr "Admin SVN"
 
-#: vhffs-intl/extra_strings.pl:42
-msgid "SVN Repository"
-msgstr "Repositorio SVN"
-
-#: vhffs-panel/svn/index.pl:60
+#: vhffs-panel/svn/index.pl:61
 #, perl-format
 msgid "SVN repositories for %s"
 msgstr "Repositorios SVN para %s"
@@ -3225,117 +3037,91 @@
 msgid "SVN root"
 msgstr "Raíz del repositorio SVN"
 
-#: vhffs-panel/admin/stats.pl:127
+#: vhffs-panel/admin/stats.pl:126
 msgid "SVN stats"
 msgstr "Estadísticas SVN"
 
-#: vhffs-panel/mailinglist/prefs.pl:141
+#: vhffs-panel/mailinglist/prefs.pl:140
 msgid "Save options"
 msgstr "Guardar opciones"
 
-#: vhffs-intl/template_strings.pl:25 vhffs-intl/template_strings.pl:32
-#: vhffs-intl/template_strings.pl:38
-msgid "Search"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:29
-msgid "Search a group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:35
-msgid "Search a website"
-msgstr ""
-
-#: vhffs-panel/admin/object/search.pl:77
+#: vhffs-panel/admin/object/search.pl:75
 msgid "Search an object (give object_id)"
 msgstr "Buscar un objeto (dar el object_id)"
 
-#: vhffs-intl/template_strings.pl:21
-msgid "Search an user"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:186 vhffs-panel/admin/cvs/search.pl:78
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:186
+#: vhffs-panel/admin/cvs/search.pl:76 vhffs-api/src/Vhffs/Panel/Admin.pm:206
 msgid "Search for a CVS repository"
 msgstr "Buscar un repositorio CVS"
 
-#: vhffs-panel/admin/repository/search.pl:78
+#: vhffs-panel/admin/repository/search.pl:76
 msgid "Search for a Download repository"
 msgstr "Buscar un repositorio de download"
 
-#: vhffs-panel/admin/git/search.pl:80
+#: vhffs-panel/admin/git/search.pl:78
 msgid "Search for a GIT repository"
 msgstr "Buscar un repositorio GIT"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:204
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:204
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:224
 msgid "Search for a Git repository"
 msgstr "Buscar un repositorio Git"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:221
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:221
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:241
 msgid "Search for a MySQL database"
 msgstr "Buscar una base de datos MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:238
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:258
 msgid "Search for a Pg database"
 msgstr "Buscar una base de datos Pg"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:168 vhffs-panel/admin/svn/search.pl:80
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:168
+#: vhffs-panel/admin/svn/search.pl:78 vhffs-api/src/Vhffs/Panel/Admin.pm:188
 msgid "Search for a SVN repository"
 msgstr "Buscar un repositorio SVN"
 
-#: vhffs-panel/admin/pgsql/search.pl:79 vhffs-panel/admin/mysql/search.pl:79
+#: vhffs-panel/admin/cron/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:346
+msgid "Search for a cron job"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/search.pl:77 vhffs-panel/admin/pgsql/search.pl:77
 msgid "Search for a database"
 msgstr "Buscar una base de datos"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:291 vhffs-panel/admin/dns/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:291
+#: vhffs-panel/admin/dns/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:311
 msgid "Search for a domain name"
 msgstr "Buscar un nombre de dominio"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:309
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:329
 msgid "Search for a download repository"
 msgstr "Buscar un repositorio de download"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:133 vhffs-panel/admin/group/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:133
+#: vhffs-panel/admin/group/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:133
 msgid "Search for a group"
 msgstr "Buscar un grupo"
 
-#: vhffs-panel/admin/mailinglist/search.pl:78
+#: vhffs-panel/admin/mailinglist/search.pl:76
 msgid "Search for a list"
 msgstr "Buscar una lista"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:255 vhffs-panel/admin/mail/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:255
+#: vhffs-panel/admin/mail/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:275
 msgid "Search for a mail domain"
 msgstr "Buscar un dominio mail"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:273
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
 msgid "Search for a mailing list"
 msgstr "Buscar una lista de correo"
 
-#: vhffs-panel/admin/web/search.pl:79
+#: vhffs-panel/admin/web/search.pl:77
 msgid "Search for a web area"
 msgstr "Buscar una zona web"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:151
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:171
 msgid "Search for a webarea"
 msgstr "Buscar una zona web"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:97
 msgid "Search for an object"
 msgstr "Buscar un objeto"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:116 vhffs-panel/admin/user/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:116
+#: vhffs-panel/admin/user/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:116
 msgid "Search for an user"
 msgstr "Buscar un usuario"
 
@@ -3343,12 +3129,12 @@
 msgid "Search result"
 msgstr "Resultado de búsqueda"
 
-#: vhffs-panel/admin/object/list.pl:81
+#: vhffs-panel/admin/object/list.pl:79
 msgid "Search result "
 msgstr "Resultado de búsqueda "
 
-#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/mailinglist/list.pl:72
-#: vhffs-panel/admin/web/list.pl:63 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mailinglist/list.pl:72 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/web/list.pl:63
 msgid "Search result for"
 msgstr "Resultado de búsqueda de"
 
@@ -3356,6 +3142,10 @@
 msgid "Search result for CVS repository"
 msgstr "Resultado de búsqueda de repositorio CVS"
 
+#: vhffs-panel/admin/cron/list.pl:75
+msgid "Search result for Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:68
 msgid "Search result for Download repository"
 msgstr "Resultado de búsqueda de repositorio de download"
@@ -3364,7 +3154,7 @@
 msgid "Search result for Subversion repository"
 msgstr "Resultado de búsqueda de repositorio Subversion"
 
-#: vhffs-panel/admin/pgsql/list.pl:69 vhffs-panel/admin/mysql/list.pl:75
+#: vhffs-panel/admin/mysql/list.pl:75 vhffs-panel/admin/pgsql/list.pl:69
 msgid "Search result for database"
 msgstr "Resultado de búsqueda de base de datos"
 
@@ -3376,32 +3166,36 @@
 msgid "Search result for git repository"
 msgstr "Resultado de búsqueda de repositorio Git"
 
-#: vhffs-panel/mail/prefs.pl:189
-msgid "Selected mailbox doesn't exist for this mail domain"
-msgstr "El buzón seleccionado no existe para este dominio mail"
+#: vhffs-public/groupsearch.pl:87
+msgid "Search results"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:103 vhffs-panel/repository/create.pl:97
-#: vhffs-panel/mail/create.pl:96 vhffs-panel/git/create.pl:102
-#: vhffs-panel/dns/create.pl:78 vhffs-panel/pgsql/create.pl:109
-#: vhffs-panel/admin/object/edit.pl:99 vhffs-panel/admin/broadcast_view.pl:101
-#: vhffs-panel/admin/broadcast_list.pl:100 vhffs-panel/cvs/create.pl:107
-#: vhffs-panel/group/create.pl:90 vhffs-panel/mysql/create.pl:109
-#: vhffs-panel/svn/create.pl:101 vhffs-panel/mailinglist/create.pl:112
-#: vhffs-panel/web/create.pl:102 vhffs-panel/alert.pl:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:103
+#: vhffs-panel/mail/prefs.pl:188
+msgid ""
+"Selected mailbox doesn't exist for this mail domain or is not yet active."
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:109 vhffs-panel/pgsql/create.pl:110
+#: vhffs-panel/admin/broadcast_list.pl:98
+#: vhffs-panel/admin/broadcast_view.pl:99 vhffs-panel/admin/object/edit.pl:97
+#: vhffs-panel/mailinglist/create.pl:112 vhffs-panel/cron/create.pl:117
+#: vhffs-panel/repository/create.pl:97 vhffs-panel/svn/create.pl:101
+#: vhffs-panel/alert.pl:60 vhffs-panel/dns/create.pl:79
+#: vhffs-panel/group/create.pl:104 vhffs-panel/mail/create.pl:97
+#: vhffs-panel/cvs/create.pl:107 vhffs-panel/git/create.pl:102
+#: vhffs-panel/web/create.pl:102 vhffs-api/src/Vhffs/Panel/Object.pm:102
 msgid "Send"
 msgstr "Enviar"
 
-#: vhffs-panel/admin/broadcast.pl:77
+#: vhffs-panel/admin/broadcast.pl:75
 msgid "Send an email to all hosted people"
 msgstr "Enviar un correo a todos los usuarios"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:300
 msgid "Send an email with the subject \"help\" to the following address: \n"
 msgstr "Enviar un correo con el título \"help\" a la siguiente dirección: \n"
 
-#: vhffs-panel/user/prefs.pl:336 vhffs-panel/user/prefs.pl:338
+#: vhffs-panel/user/prefs.pl:353 vhffs-panel/user/prefs.pl:355
 msgid "Send my avatar"
 msgstr "Enviar mi avatar"
 
@@ -3409,52 +3203,53 @@
 msgid "Servername"
 msgstr "Directiva ServerName (nombre del sitio)"
 
-#: vhffs-panel/dns/prefs.pl:294
+#: vhffs-panel/dns/prefs.pl:296
 msgid "Service"
 msgstr "Servicio"
 
-#: vhffs-panel/user/prefs.pl:313
+#: vhffs-panel/user/prefs.pl:330
 msgid "Shell"
 msgstr "Shell"
 
-#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/mail/list.pl:86
-#: vhffs-panel/admin/git/list.pl:83 vhffs-panel/admin/dns/list.pl:86
-#: vhffs-panel/admin/pgsql/list.pl:87 vhffs-panel/admin/cvs/list.pl:86
-#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mysql/list.pl:94
-#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/mailinglist/list.pl:90
-#: vhffs-panel/admin/web/list.pl:82 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/mysql/list.pl:94 vhffs-panel/admin/pgsql/list.pl:87
+#: vhffs-panel/admin/mailinglist/list.pl:90 vhffs-panel/admin/cron/list.pl:94
+#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/dns/list.pl:86
+#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mail/list.pl:86
+#: vhffs-panel/admin/cvs/list.pl:86 vhffs-panel/admin/git/list.pl:83
+#: vhffs-panel/admin/web/list.pl:82
 msgid "Show"
 msgstr "Ver"
 
-#: vhffs-intl/template_strings.pl:73
-msgid "Signature"
-msgstr "Firma"
+#: vhffs-panel/cron/prefs.pl:135
+msgid "Sleeping"
+msgstr ""
 
 #: vhffs-panel/acl/view.pl:92
 msgid "Sorry, can't add or update ACL"
 msgstr "Disculpa, imposible añadir o actualizar ACL"
 
-#: vhffs-panel/mail/prefs.pl:247
+#: vhffs-panel/mail/prefs.pl:246
 msgid "Spam status updated"
 msgstr "Protección spam actualizada"
 
-#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/mail/list.pl:77
-#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/dns/list.pl:77
-#: vhffs-panel/admin/pgsql/list.pl:78 vhffs-panel/admin/cvs/list.pl:78
-#: vhffs-panel/admin/group/list.pl:82 vhffs-panel/admin/mysql/list.pl:84
-#: vhffs-panel/admin/object/list.pl:91 vhffs-panel/admin/svn/list.pl:72
-#: vhffs-panel/admin/mailinglist/list.pl:81 vhffs-panel/admin/web/list.pl:72
-#: vhffs-panel/admin/user/list.pl:72 vhffs-panel/admin/broadcast_view.pl:88
+#: vhffs-panel/admin/mysql/list.pl:84 vhffs-panel/admin/pgsql/list.pl:78
+#: vhffs-panel/admin/mailinglist/list.pl:81
+#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/admin/cron/list.pl:84
+#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/user/list.pl:72
+#: vhffs-panel/admin/svn/list.pl:72 vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/dns/list.pl:77 vhffs-panel/admin/group/list.pl:82
+#: vhffs-panel/admin/mail/list.pl:77 vhffs-panel/admin/cvs/list.pl:78
+#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/web/list.pl:72
+#: vhffs-panel/cron/prefs.pl:131
 msgid "State"
 msgstr "Estado"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:101 vhffs-panel/admin/object/edit.pl:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:101
+#: vhffs-panel/admin/object/edit.pl:95 vhffs-api/src/Vhffs/Panel/Object.pm:100
 msgid "Status"
 msgstr "Estatus"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:664
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:664
+#: vhffs-api/src/Vhffs/Panel/Main.pm:660
 msgid "Stay over an icon to see its description."
 msgstr "Deje el ratón sobre el icono para ver la descripción."
 
@@ -3466,45 +3261,42 @@
 msgid "Subdomain name"
 msgstr "Nombre de subdominio"
 
-#: vhffs-panel/admin/broadcast_view.pl:87 vhffs-panel/admin/broadcast.pl:79
+#: vhffs-panel/admin/broadcast_view.pl:85 vhffs-panel/admin/broadcast.pl:77
 #: vhffs-panel/alert.pl:58
 msgid "Subject"
 msgstr "Título"
 
-#: vhffs-panel/dns/prefs.pl:273 vhffs-panel/dns/prefs.pl:279
-#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/object/resubmit.pl:134
+#: vhffs-panel/object/resubmit.pl:134 vhffs-panel/dns/prefs.pl:273
+#: vhffs-panel/dns/prefs.pl:279 vhffs-panel/dns/prefs.pl:302
 msgid "Submit"
 msgstr "Someter"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:438
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:438
+#: vhffs-api/src/Vhffs/Panel/Main.pm:428
 msgid "Submit a bug"
 msgstr "Someter un bug"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:70 vhffs-panel/subscribe.pl:231
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:70
+#: vhffs-panel/subscribe.pl:246 vhffs-api/src/Vhffs/Panel/Commons.pm:72
 msgid "Subscribe"
 msgstr "Suscribir"
 
-#: vhffs-panel/mailinglist/prefs.pl:106
+#: vhffs-panel/mailinglist/prefs.pl:105
 msgid "Subscribe control:"
 msgstr "Control de las suscripciones:"
 
-#: vhffs-intl/template_strings.pl:77
-msgid "Subscribed"
-msgstr "Inscrito"
+#: vhffs-panel/subscribe.pl:266 vhffs-panel/subscribe.pl:268
+msgid "Subscribe to the newsletter"
+msgstr ""
 
 #: vhffs-panel/mailinglist/prefs.pl:242
 #, perl-format
 msgid "Subscriber %s deleted"
 msgstr "Suscriptor %s borrado"
 
-#: vhffs-panel/subscribe.pl:221
+#: vhffs-panel/subscribe.pl:236
 msgid "Subscription"
 msgstr "Suscripción"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:135
 #, perl-format
 msgid ""
 "Subscription to the following list is forbidden:\n"
@@ -3517,39 +3309,105 @@
 "\n"
 "Que tenga un buen día.\n"
 
-#: vhffs-intl/template_strings.pl:43
-msgid "Subversion Repositories for this group"
-msgstr ""
-
 #: vhffs-panel/object/upavatar.pl:126
 msgid "Successfully created or updated avatar"
 msgstr "Avatar creado o modificado con éxito"
 
-#: vhffs-intl/extra_strings.pl:26 vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-api/src/Vhffs/Panel/Object.pm:128
-#: vhffs-panel/admin/object/edit.pl:122 vhffs-panel/admin/object/edit.pl:123
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:128
+#: vhffs-panel/admin/object/edit.pl:121
+#: vhffs-api/src/Vhffs/Panel/Object.pm:127
 msgid "Suspended"
 msgstr "Suspendido"
 
-#: vhffs-intl/extra_strings.pl:27
-msgid "Suspended before deletion"
-msgstr "Suspendido antes destrucción"
-
-#: vhffs-panel/dns/prefs.pl:203
+#: vhffs-panel/dns/prefs.pl:202
 msgid "TXT Record added"
 msgstr "Registro TXT añadido"
 
-#: vhffs-panel/dns/prefs.pl:214
+#: vhffs-panel/dns/prefs.pl:213
 msgid "TXT Record deleted"
 msgstr "Registro TXT borrado"
 
-#: vhffs-panel/dns/prefs.pl:209
+#: vhffs-panel/dns/prefs.pl:208
 msgid "TXT Record updated"
 msgstr "Registro TXT modificado"
 
-#: vhffs-panel/mail/create.pl:97
+#: vhffs-panel/group/prefs.pl:350
+msgid "Tag added"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/list.pl:69
+msgid "Tag categories"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:57
+msgid "Tag category successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:69
+msgid "Tag category successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:59 vhffs-panel/group/prefs.pl:383
+msgid "Tag deleted"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:409
+msgid "Tag name can't be empty"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:180 vhffs-panel/group/prefs.pl:339
+#: vhffs-panel/group/prefs.pl:372
+msgid "Tag not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:66
+msgid "Tag not found!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:83
+msgid "Tag request accepted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:93
+msgid "Tag request deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:101
+msgid "Tag request details"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:75
+msgid "Tag request not found"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:418
+msgid "Tag request saved, please wait while a moderator approve it"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:57
+msgid "Tag successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:70
+msgid "Tag successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:69
+msgid "Tags"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:156
+msgid "Tags Admin"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:174
+msgid "Tags stats"
+msgstr ""
+
+#: vhffs-panel/admin/tag/index.pl:56
+msgid "Tags' administration"
+msgstr ""
+
+#: vhffs-panel/mail/create.pl:98
 msgid "Tell us for what purpose you want to create this mail domain"
 msgstr "Díganos para qué quiere crear este dominio mail"
 
@@ -3561,13 +3419,11 @@
 msgid "Tell us what the use of this web space will be"
 msgstr "Díganos para qué quiere crear esta zona web"
 
-#: vhffs-panel/dns/prefs.pl:306
+#: vhffs-panel/dns/prefs.pl:308
 msgid "Text"
 msgstr "Texto"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:342 vhffs-api/src/Vhffs/Panel/DNS.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:342
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:354
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:346 vhffs-api/src/Vhffs/Panel/DNS.pm:359
 msgid "Text can't be empty"
 msgstr "Texto no puede quedarse vacío"
 
@@ -3575,7 +3431,11 @@
 msgid "The CVS object was successfully created !"
 msgstr "El objeto CVS ha sido creado con éxito!"
 
-#: vhffs-panel/dns/create.pl:57
+#: vhffs-panel/cron/create.pl:94
+msgid "The Cron job was successfully created !"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:58
 msgid "The DNS object was successfully created !"
 msgstr "El objeto DNS ha sido creado con éxito!"
 
@@ -3595,7 +3455,7 @@
 msgid "The SVN object was successfully created !"
 msgstr "El objeto SVN ha sido creado con éxito!"
 
-#: vhffs-panel/user/prefs.pl:339
+#: vhffs-panel/user/prefs.pl:356
 msgid ""
 "The avatar is a pictures that describes you. You can upload an PNG image and "
 "use it as avatar. This image will then appear in the public section."
@@ -3603,16 +3463,15 @@
 "El avatar es una imagen que lo describe a Ud. Puede subir una imagen PNG y "
 "utilizarla como avatar. Esta imagen aparecerá en la zona publica."
 
-#: vhffs-panel/group/prefs.pl:246
+#: vhffs-panel/group/prefs.pl:259
 msgid "The avatar is an image to describe the group"
 msgstr "El avatar es una imagen que describe el grupo."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:195
 msgid "The confirmation code was wrong\n"
 msgstr "Código de confirmación incorrecto.\n"
 
-#: vhffs-panel/pgsql/create.pl:102 vhffs-panel/mysql/create.pl:102
+#: vhffs-panel/mysql/create.pl:102 vhffs-panel/pgsql/create.pl:102
 #, perl-format
 msgid ""
 "The database name is prefixed by your groupname followed by an underscore (%"
@@ -3622,18 +3481,18 @@
 "prefijo, seguido de un underscore (%s_nombrebd). El usuario correspondiente "
 "es el nombre completo de la base (%s_nombrebd)."
 
-#: vhffs-panel/group/prefs.pl:181
+#: vhffs-panel/cron/prefs.pl:180 vhffs-panel/cron/create.pl:92
+#: vhffs-panel/group/prefs.pl:186
 msgid "The email you entered fails syntax check"
 msgstr "La dirección de correo tiene un error de sintaxis"
 
-#: vhffs-panel/group/prefs.pl:90 vhffs-panel/group/create.pl:72
+#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/create.pl:74
 msgid "The first letter of groupname and full name must be the same"
 msgstr ""
 "La primera letra del nombre del grupo y la primera del nombre completo del "
 "grupo deben ser la misma"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:389
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:389
 #, perl-format
 msgid ""
 "The following address %s is not allowed to execute commands on the list %s\n"
@@ -3642,15 +3501,13 @@
 "lista %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:210
 #, perl-format
 msgid ""
 "The following address %s is not on the following mailing list:\n"
 "  %s\n"
 msgstr "La siguiente dirección %s no está en la lista: %s\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:518
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:518
+#: vhffs-api/src/Vhffs/Panel/Main.pm:506
 msgid ""
 "The following projects have reached or are going to reach the disk quota "
 "limit, please take a look !"
@@ -3659,7 +3516,6 @@
 "cuota de espacio disco, por favor, eche una mirada!"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:270
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:270
 #, perl-format
 msgid ""
 "The listengine language preference was changed for the following address %"
@@ -3672,17 +3528,15 @@
 msgstr "El objeto lista de correo ha sido creado con éxito!"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:320
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:320
 msgid "The message does not exists or was moderated before you.\n"
 msgstr "El mensaje no existe o ha sido moderado antes Ud.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:317
 #, perl-format
 msgid "The message with the following id %s"
 msgstr "Mensaje con el siguiente id: %s"
 
-#: vhffs-panel/object/resubmit.pl:95 vhffs-panel/object/resubmit.pl:98
+#: vhffs-panel/object/resubmit.pl:94 vhffs-panel/object/resubmit.pl:98
 msgid "The new description has been submitted"
 msgstr "La nueva descripción a sido enviada"
 
@@ -3691,7 +3545,6 @@
 msgstr "El repositorio ha sido creado con éxito!"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:122
 msgid ""
 "The state of you subscription was not changed, you are still subscribed\n"
 msgstr "El estado de su suscripción no ha cambiado, sigue inscrito\n"
@@ -3700,11 +3553,11 @@
 msgid "The webarea was successfully created !"
 msgstr "La zona web ha sido creada con éxito!"
 
-#: vhffs-panel/user/prefs.pl:312
+#: vhffs-panel/user/prefs.pl:329
 msgid "Theme"
 msgstr "Tema"
 
-#: vhffs-panel/user/prefs.pl:261
+#: vhffs-panel/user/prefs.pl:267
 msgid ""
 "There is a problem with the address you filled in your profile, unable to "
 "add forwarding"
@@ -3720,40 +3573,35 @@
 "No hay dominio mail por defecto en esta plataforma. Tiene que crear un "
 "dominio mail primero antes de crear una lista de correo"
 
-#: vhffs-panel/admin/moderation.pl:79
+#: vhffs-panel/admin/moderation.pl:78
 msgid "There is nothing to moderate"
 msgstr "No hay nada por moderar"
 
-#: vhffs-panel/user/prefs.pl:412
+#: vhffs-panel/user/prefs.pl:429
 msgid "There is two possible usages :"
 msgstr "Hay dos usos posibles:"
 
-#: vhffs-panel/cvs/delete.pl:86
+#: vhffs-panel/cvs/delete.pl:85
 msgid "This CVS repository will NOT be deleted"
 msgstr "Este repositorio CVS NO será destruido"
 
-#: vhffs-panel/cvs/delete.pl:97
+#: vhffs-panel/cvs/delete.pl:96
 msgid "This CVS will be deleted"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:73
+#: vhffs-panel/pgsql/delete.pl:72
 msgid "This DB doesn't exist in VHFFS database"
 msgstr "Esta base de datos no existe en la base de datos de VHFFS"
 
-#: vhffs-panel/repository/delete.pl:86
+#: vhffs-panel/repository/delete.pl:85
 msgid "This Download repository will NOT be deleted"
 msgstr "Este repositorio de download NO será destruido"
 
-#: vhffs-panel/repository/delete.pl:99
+#: vhffs-panel/repository/delete.pl:98
 msgid "This Download repository will be deleted"
 msgstr "Este repositorio de download será destruido"
 
-#: vhffs-panel/repository/prefs.pl:89 vhffs-panel/mail/prefs.pl:136
-#: vhffs-panel/git/prefs.pl:105 vhffs-panel/dns/prefs.pl:252
-#: vhffs-panel/pgsql/prefs.pl:99 vhffs-panel/cvs/prefs.pl:116
-#: vhffs-panel/group/prefs.pl:213 vhffs-panel/mysql/prefs.pl:111
-#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/mailinglist/prefs.pl:179
-#: vhffs-panel/web/prefs.pl:109
+#: vhffs-panel/group/prefs.pl:226
 msgid ""
 "This action is non-reversible. All services associated to this project will "
 "be DESTROYED."
@@ -3761,61 +3609,118 @@
 "Esta acción no es reversible. Todos los servicios asociados con este "
 "proyecto serán DESTRUIDOS."
 
-#: vhffs-panel/user/prefs.pl:326
-msgid "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
-msgstr "Esta acción no es reversible. Cuando la destruirá, no podrá cancelar."
+#: vhffs-panel/cron/prefs.pl:150
+msgid "This action is non-reversible. This Cron job will be DESTROYED."
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:214
+#: vhffs-panel/mysql/prefs.pl:112
+msgid "This action is non-reversible. This MySQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/pgsql/prefs.pl:99
 msgid ""
+"This action is non-reversible. This PostgreSQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/cvs/prefs.pl:103
+msgid "This action is non-reversible. This cvs repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:251
+msgid "This action is non-reversible. This domain name will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/repository/prefs.pl:88
+msgid ""
+"This action is non-reversible. This download repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:102
+msgid "This action is non-reversible. This git repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:135
+msgid "This action is non-reversible. This mail area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:179
+msgid "This action is non-reversible. This mailing list will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:98
+msgid ""
+"This action is non-reversible. This subversion repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/web/prefs.pl:106
+msgid "This action is non-reversible. This web area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:343
+msgid "This action is non-reversible. Your user will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:213
+msgid ""
 "This box already exists for this domain or parameters are not valid. Check "
 "your domain."
 msgstr ""
 "Esto buzón ya existe para este dominio o los parámetros son inválidos. "
 "Verificar dominio"
 
-#: vhffs-panel/pgsql/delete.pl:93
+#: vhffs-panel/cron/delete.pl:70
+msgid "This cron job doesn't exist in VHFFS database"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:82
+msgid "This cron job will NOT be deleted"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:93
+msgid "This cron job will be deleted"
+msgstr ""
+
+#: vhffs-panel/pgsql/delete.pl:92
 msgid "This database cannot be deleted"
 msgstr "Esta base de datos no puede ser borrada"
 
-#: vhffs-panel/mysql/delete.pl:71
+#: vhffs-panel/mysql/delete.pl:70
 msgid "This database doesn't exist in VHFFS database"
 msgstr "Esta base de datos no existe en la base de datos de VHFFS"
 
-#: vhffs-panel/mysql/delete.pl:83
+#: vhffs-panel/mysql/delete.pl:82
 msgid "This database will NOT be deleted"
 msgstr "Esta base de datos NO será destruida"
 
-#: vhffs-panel/dns/delete.pl:105
+#: vhffs-panel/dns/delete.pl:97
 msgid "This domain will NOT be DELETED from Vhffs platform"
 msgstr "Este dominio NO será borrado de la plataforma Vhffs"
 
-#: vhffs-panel/dns/delete.pl:100
+#: vhffs-panel/dns/delete.pl:92
 msgid "This domain will be DELETED from Vhffs platform"
 msgstr "Este dominio será BORRADO de la plataforma Vhffs"
 
-#: vhffs-panel/git/delete.pl:90
+#: vhffs-panel/git/delete.pl:89
 msgid "This git repository will NOT be deleted"
 msgstr "Este repositorio git NO será destruido"
 
-#: vhffs-panel/group/delete.pl:85
+#: vhffs-panel/group/delete.pl:84
 msgid "This group will be deleted"
 msgstr "Este grupo será destruido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:315
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:315
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:320
 msgid "This host is already registered for this service"
 msgstr "Este host ya está registrada para este servicio."
 
-#: vhffs-panel/mail/delete.pl:103
+#: vhffs-panel/mail/delete.pl:101
 msgid "This mail domain WILL BE DELETED"
 msgstr "Este dominio mail SERÁ DESTRUIDO"
 
-#: vhffs-panel/mail/delete.pl:91
+#: vhffs-panel/mail/delete.pl:89
 msgid "This mail domain will NOT be DELETED"
 msgstr "Este dominio mail NO SERÁ DESTRUIDO"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:104
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:104
 #, perl-format
 msgid ""
 "This mail must contains the following subject : \"confirm unsubscribe %s\"\n"
@@ -3823,7 +3728,6 @@
 "Este mensaje debe tener el siguiente título: \"confirm unsubscribe %s\"\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:86
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:86
 #, perl-format
 msgid ""
 "This mail must have the following subject : \"confirm subscribe %s\"\n"
@@ -3833,7 +3737,6 @@
 "En la mayoria de los clientes mail, puede simplemente utilizar Responder\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:405
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:405
 #, perl-format
 msgid ""
 "This mail was sent by %s with the following subject:\n"
@@ -3844,39 +3747,39 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/object/resubmit.pl:68 vhffs-panel/object/quickdelete.pl:68
+#: vhffs-panel/object/quickdelete.pl:67 vhffs-panel/object/resubmit.pl:67
 msgid "This object does not exist"
 msgstr "Este objeto no existe"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:105
+#: vhffs-panel/admin/object/delete_avatar.pl:103
 msgid "This object does not have an avatar"
 msgstr "Este objeto no tiene avatar"
 
-#: vhffs-panel/object/quickdelete.pl:86 vhffs-panel/object/quickdelete.pl:89
+#: vhffs-panel/object/quickdelete.pl:85 vhffs-panel/object/quickdelete.pl:89
 msgid "This object has been deleted"
 msgstr "Este objeto ha sido borrado"
 
-#: vhffs-panel/group/history.pl:68
+#: vhffs-panel/group/history.pl:69
 msgid "This object is not functional yet. Please wait creation or moderation."
 msgstr ""
 "Este objeto ya no está en actividad. Espere la creación o la moderación."
 
-#: vhffs-panel/mail/delete.pl:83 vhffs-panel/git/delete.pl:86
-#: vhffs-panel/group/delete.pl:72 vhffs-panel/mailinglist/delete.pl:87
-#: vhffs-panel/web/prefs.pl:80
+#: vhffs-panel/mailinglist/delete.pl:85 vhffs-panel/group/delete.pl:71
+#: vhffs-panel/mail/delete.pl:81 vhffs-panel/git/delete.pl:85
+#: vhffs-panel/web/prefs.pl:77
 msgid "This object is not functionnal yet. Please wait creation or moderation."
 msgstr ""
 "Este objeto ya no está en actividad. Espere la creación o la moderación."
 
-#: vhffs-panel/object/resubmit.pl:72 vhffs-panel/object/quickdelete.pl:72
+#: vhffs-panel/object/quickdelete.pl:71 vhffs-panel/object/resubmit.pl:71
 msgid "This object is not in refused state"
 msgstr "Este objeto no está en estado de rechazo."
 
-#: vhffs-panel/web/delete.pl:96
+#: vhffs-panel/web/delete.pl:94
 msgid "This object will BE DELETED"
 msgstr "Este objeto SERÁ DESTRUIDO"
 
-#: vhffs-panel/group/delete.pl:76 vhffs-panel/web/delete.pl:101
+#: vhffs-panel/group/delete.pl:75 vhffs-panel/web/delete.pl:99
 msgid "This object will NOT be DELETED"
 msgstr "Este objeto NO SERÁ DESTRUIDO"
 
@@ -3884,12 +3787,11 @@
 msgid "This platform does not provide avatar support"
 msgstr "Esta plataforma no tiene soporte para los avatar"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:74
+#: vhffs-panel/admin/object/delete_avatar.pl:72
 msgid "This platform does not support avatar"
 msgstr "Esta plataforma no tiene soporte para los avatar"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:314
+#: vhffs-api/src/Vhffs/Panel/Main.pm:316
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks or system has database errors. Please come back in a few "
@@ -3899,8 +3801,7 @@
 "trabajos de mantenimiento o el sistema tiene error de base de datos. Intenta "
 "dentro de unos minutos."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:325
+#: vhffs-api/src/Vhffs/Panel/Main.pm:327
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks. Please come back in a few minutes to log in."
@@ -3908,41 +3809,39 @@
 "Plataforma cerrada temporalmente. Los administradores están haciendo "
 "trabajos de mantenimiento. Intenta dentro de unos minutos."
 
-#: vhffs-panel/git/delete.pl:103 vhffs-panel/svn/delete.pl:98
+#: vhffs-panel/svn/delete.pl:97 vhffs-panel/git/delete.pl:102
 msgid "This repository will be deleted"
 msgstr "Este repositorio será destruido"
 
-#: vhffs-panel/svn/delete.pl:85
+#: vhffs-panel/svn/delete.pl:84
 msgid "This subversion repository will NOT be deleted"
 msgstr "Este repositorio subversion NO será destruido"
 
-#: vhffs-panel/user/delete.pl:76
+#: vhffs-panel/user/delete.pl:74
 msgid "This user is always in a group"
 msgstr "Este usuario todavía es miembro de un grupo"
 
-#: vhffs-panel/user/delete.pl:87
+#: vhffs-panel/user/delete.pl:85
 msgid "This user will BE DELETED"
 msgstr "Este usuario SERÁ DESTRUIDO"
 
-#: vhffs-panel/user/delete.pl:93
+#: vhffs-panel/user/delete.pl:91
 msgid "This user will NOT be DELETED"
 msgstr "Esto usuario NO será destruido"
 
-#: vhffs-panel/group/prefs.pl:112
+#: vhffs-panel/group/prefs.pl:117
 msgid "This user will be removed from this group as soon as possible"
 msgstr "Este usuario será removido de este grupo tan pronto como sea posible."
 
-#: vhffs-panel/web/delete.pl:79
+#: vhffs-panel/web/delete.pl:77
 msgid "This web area doesn't exist in VHFFS database"
 msgstr "Esta zona web no existe en la base de datos de VHFFS"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:424
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:424
 msgid "To accept this subscriber, send a message to\n"
 msgstr "Para aceptar el suscriptor, envíe un mensaje a\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:406
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:406
 #, perl-format
 msgid ""
 "To put this post on the list, send a message to:\n"
@@ -3952,7 +3851,6 @@
 "  %s-request@%s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:427
 msgid "To refuse this subscriber, send a message to\n"
 msgstr "Para rechazar el suscriptor, envie un mensaje a:\n"
 
@@ -3960,116 +3858,127 @@
 msgid "Topic not found"
 msgstr "Tema no encontrado"
 
-#: vhffs-panel/admin/stats.pl:94
+#: vhffs-panel/admin/stats.pl:93
 msgid "Total Admin Users in VHFFS database"
 msgstr "Total de usuarios admin en la base de datos de VHFFS."
 
-#: vhffs-panel/admin/stats.pl:121
+#: vhffs-panel/admin/stats.pl:120
 msgid "Total CVS in moderation"
 msgstr "Total de CVS en moderación"
 
-#: vhffs-panel/admin/stats.pl:113
+#: vhffs-panel/admin/stats.pl:112
 msgid "Total DNS in moderation"
 msgstr "Total de DNS en moderación"
 
-#: vhffs-panel/admin/stats.pl:134
+#: vhffs-panel/admin/stats.pl:133
 msgid "Total GIT in moderation"
 msgstr "Total de GIT en moderación"
 
-#: vhffs-panel/admin/stats.pl:140
+#: vhffs-panel/admin/stats.pl:139
 msgid "Total Mail domains in moderation"
 msgstr "Total de dominio mail en moderación"
 
-#: vhffs-panel/admin/stats.pl:96
+#: vhffs-panel/admin/stats.pl:95
 msgid "Total Moderator Users in VHFFS database"
 msgstr "Total de usuarios moderadores en la base de datos de VHFFS."
 
-#: vhffs-panel/admin/stats.pl:152
+#: vhffs-panel/admin/stats.pl:151
 msgid "Total MySQL in moderation"
 msgstr "Total de MySQL en moderación"
 
-#: vhffs-panel/admin/stats.pl:159
+#: vhffs-panel/admin/stats.pl:158
 msgid "Total PostgreSQL in moderation"
 msgstr "Total de PostgreSQL en moderación"
 
-#: vhffs-panel/admin/stats.pl:128
+#: vhffs-panel/admin/stats.pl:127
 msgid "Total SVN in moderation"
 msgstr "Total de SVN en moderación"
 
-#: vhffs-panel/admin/stats.pl:92
+#: vhffs-panel/admin/stats.pl:91
 msgid "Total Users in VHFFS database"
 msgstr "Total de usuarios en la base de datos de VHFFS."
 
-#: vhffs-panel/admin/stats.pl:106
+#: vhffs-panel/admin/stats.pl:105
 msgid "Total Web Areas in moderation"
 msgstr "Total de zonas web en moderación"
 
-#: vhffs-panel/admin/stats.pl:123
+#: vhffs-panel/admin/stats.pl:122
 msgid "Total activated CVS"
 msgstr "Total CVS activados"
 
-#: vhffs-panel/admin/stats.pl:115
+#: vhffs-panel/admin/stats.pl:114
 msgid "Total activated DNS"
 msgstr "Total DNS activados"
 
-#: vhffs-panel/admin/stats.pl:136
+#: vhffs-panel/admin/stats.pl:135
 msgid "Total activated GIT"
 msgstr "Total GIT activados"
 
-#: vhffs-panel/admin/stats.pl:142
+#: vhffs-panel/admin/stats.pl:141
 msgid "Total activated Mail domains"
 msgstr "Total dominios mail activados"
 
-#: vhffs-panel/admin/stats.pl:154
+#: vhffs-panel/admin/stats.pl:153
 msgid "Total activated MySQL"
 msgstr "Total MySQL activadas"
 
-#: vhffs-panel/admin/stats.pl:161
+#: vhffs-panel/admin/stats.pl:160
 msgid "Total activated PostgreSQL"
 msgstr "Total PostgreSQL activadas"
 
-#: vhffs-panel/admin/stats.pl:130
+#: vhffs-panel/admin/stats.pl:129
 msgid "Total activated SVN"
 msgstr "Total SVN activados"
 
-#: vhffs-panel/admin/stats.pl:108
+#: vhffs-panel/admin/stats.pl:107
 msgid "Total activated Web Areas"
 msgstr "Total zonas web activadas"
 
-#: vhffs-panel/admin/stats.pl:102
+#: vhffs-panel/admin/stats.pl:101
 msgid "Total activated groups"
 msgstr "Total grupos activados"
 
-#: vhffs-panel/admin/stats.pl:169
+#: vhffs-panel/admin/stats.pl:168
 msgid "Total activated lists"
 msgstr "Total listas activadas"
 
-#: vhffs-panel/admin/stats.pl:100
+#: vhffs-panel/admin/stats.pl:175
+msgid "Total categories"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:99
 msgid "Total groups in database"
 msgstr "Total grupos en la base de datos"
 
-#: vhffs-panel/admin/stats.pl:146
+#: vhffs-panel/admin/stats.pl:145
 msgid "Total hosted boxes"
 msgstr "Total buzones de correo"
 
-#: vhffs-panel/admin/stats.pl:144
+#: vhffs-panel/admin/stats.pl:143
 msgid "Total hosted forwards"
 msgstr "Total redirecciones"
 
-#: vhffs-panel/admin/stats.pl:167
+#: vhffs-panel/admin/stats.pl:166
 msgid "Total lists in moderation"
 msgstr "Total de listas en moderación"
 
-#: vhffs-panel/admin/stats.pl:171
+#: vhffs-panel/admin/stats.pl:170
 msgid "Total subscribtion for lists"
 msgstr "Total suscripciones a listas"
 
-#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:78
+#: vhffs-panel/admin/stats.pl:181
+msgid "Total tagged groups"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:177
+msgid "Total tags used"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:83 vhffs-panel/group/history.pl:79
 msgid "Type"
 msgstr "Tipo"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:99 vhffs-panel/admin/object/edit.pl:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:99
+#: vhffs-panel/admin/object/edit.pl:93 vhffs-api/src/Vhffs/Panel/Object.pm:98
 msgid "UID of owner"
 msgstr "UID del propietario"
 
@@ -4103,17 +4012,21 @@
 msgid "Unable to add SRV record: %s"
 msgstr "Imposible añadir registro SRV: %s"
 
-#: vhffs-panel/dns/prefs.pl:202
+#: vhffs-panel/dns/prefs.pl:201
 #, perl-format
 msgid "Unable to add TXT record: %s"
 msgstr "Imposible añadir registro TXT: %s"
 
-#: vhffs-panel/mail/prefs.pl:286
+#: vhffs-panel/mail/prefs.pl:285
 #, perl-format
 msgid "Unable to add forward %s"
 msgstr "Imposible añadir redirección %s"
 
-#: vhffs-panel/group/prefs.pl:137 vhffs-panel/group/prefs.pl:171
+#: vhffs-panel/group/prefs.pl:352
+msgid "Unable to add tag, check it was not already added to your project"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:142 vhffs-panel/group/prefs.pl:176
 msgid ""
 "Unable to add user, he might already be in the group (waiting for addition "
 "or deletion)"
@@ -4121,16 +4034,16 @@
 "Imposible añadir usuario, puede ser que ya este incluido en este grupo "
 "(pendiente por supresión o por añadir)"
 
-#: vhffs-panel/pgsql/prefs.pl:131 vhffs-panel/mysql/prefs.pl:142
+#: vhffs-panel/mysql/prefs.pl:143 vhffs-panel/pgsql/prefs.pl:131
+#: vhffs-panel/cron/prefs.pl:186
 msgid "Unable to apply changes"
 msgstr "Imposible aplicar cambios"
 
-#: vhffs-panel/git/prefs.pl:149 vhffs-panel/git/prefs.pl:194
-#: vhffs-panel/web/prefs.pl:141
+#: vhffs-panel/git/prefs.pl:169 vhffs-panel/web/prefs.pl:138
 msgid "Unable to apply modifications"
 msgstr "Imposible aplicar las modificaciones"
 
-#: vhffs-panel/repository/prefs.pl:131 vhffs-panel/group/prefs.pl:291
+#: vhffs-panel/repository/prefs.pl:126 vhffs-panel/group/prefs.pl:301
 msgid "Unable to apply modifications, please try again later"
 msgstr "Imposible de aplicar las modificaciones, por favor intente más tarde"
 
@@ -4139,6 +4052,17 @@
 msgid "Unable to change rights for subscriber %s"
 msgstr "No se pudo modificar los derechos para el suscriptor %s"
 
+#: vhffs-panel/admin/tag/category/create.pl:100
+#: vhffs-panel/admin/tag/request/details.pl:161
+msgid "Unable to create category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:112
+#: vhffs-panel/admin/tag/request/details.pl:166
+#: vhffs-panel/admin/tag/request/details.pl:192
+msgid "Unable to create tag"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:112
 #, perl-format
 msgid "Unable to delete A record: %s"
@@ -4169,76 +4093,86 @@
 msgid "Unable to delete SRV record: %s"
 msgstr "Imposible borrar registro SRV: %s"
 
-#: vhffs-panel/dns/prefs.pl:213
+#: vhffs-panel/dns/prefs.pl:212
 #, perl-format
 msgid "Unable to delete TXT record: %s"
 msgstr "Imposible borrar registro TXT: %s"
 
-#: vhffs-panel/mail/prefs.pl:270
+#: vhffs-panel/mail/prefs.pl:269
 #, perl-format
 msgid "Unable to delete box %s"
 msgstr "Imposible borrar buzón %s"
 
-#: vhffs-panel/mail/prefs.pl:317
+#: vhffs-panel/admin/tag/category/list.pl:61
+msgid "Unable to delete category"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:316
 #, perl-format
 msgid "Unable to delete forward %s"
 msgstr "Imposible borrar redirección %s"
 
-#: vhffs-panel/mail/delete.pl:99
+#: vhffs-panel/admin/tag/list.pl:61 vhffs-panel/group/prefs.pl:385
+msgid "Unable to delete tag"
+msgstr ""
+
+#: vhffs-panel/mail/delete.pl:97
 msgid "Unable to delete this domain"
 msgstr "Imposible borrar este dominio"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:226
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:227
 msgid ""
 "Unable to find default redirection address, please contact administrators"
 msgstr ""
 "Imposible conseguir la redirección por defecto, por favor contacte los "
 "administradores"
 
-#: vhffs-panel/cvs/index.pl:63
+#: vhffs-panel/cvs/index.pl:64
 msgid "Unable to get CVS repositories"
 msgstr "Imposible conseguir los repositorios CVS"
 
-#: vhffs-panel/dns/index.pl:63
+#: vhffs-panel/dns/index.pl:64
 msgid "Unable to get DNS"
 msgstr "Imposible conseguir los DNS"
 
-#: vhffs-panel/git/index.pl:64
+#: vhffs-panel/git/index.pl:65
 msgid "Unable to get GIT repositories"
 msgstr "Imposible conseguir los repositorios GIT"
 
-#: vhffs-panel/mysql/index.pl:63
+#: vhffs-panel/mysql/index.pl:64
 msgid "Unable to get MySQL databases."
 msgstr "Imposible conseguir las bases MySQL"
 
-#: vhffs-panel/pgsql/index.pl:63
+#: vhffs-panel/pgsql/index.pl:64
 msgid "Unable to get PgSQL databases"
 msgstr "Imposible conseguir las bases PgSQL"
 
-#: vhffs-panel/svn/index.pl:63
+#: vhffs-panel/svn/index.pl:64
 msgid "Unable to get SVN repositories"
 msgstr "Imposible conseguir los repositorios SVN"
 
-#: vhffs-panel/mail/prefs.pl:74 vhffs-panel/mail/delete.pl:79
+#: vhffs-panel/cron/index.pl:64
+msgid "Unable to get cron jobs"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:73 vhffs-panel/mail/delete.pl:77
 #, perl-format
 msgid "Unable to get information on mail domain %s"
 msgstr "Imposible conseguir información sobre el dominio mail %s"
 
-#: vhffs-panel/mail/index.pl:63
+#: vhffs-panel/mail/index.pl:64
 msgid "Unable to get mail domains"
 msgstr "Imposible conseguir los dominios mail"
 
-#: vhffs-panel/mailinglist/index.pl:63
+#: vhffs-panel/mailinglist/index.pl:64
 msgid "Unable to get mailing lists"
 msgstr "Imposible conseguir las listas de correo"
 
-#: vhffs-panel/repository/index.pl:63
+#: vhffs-panel/repository/index.pl:64
 msgid "Unable to get repositories"
 msgstr "Imposible conseguir los repositorios"
 
-#: vhffs-panel/web/index.pl:63
+#: vhffs-panel/web/index.pl:64
 msgid "Unable to get webareas"
 msgstr "Imposible conseguir las zonas web"
 
@@ -4267,17 +4201,17 @@
 msgid "Unable to modify SRV record: %s"
 msgstr "Imposible modificar registro SRV: %s"
 
-#: vhffs-panel/dns/prefs.pl:208
+#: vhffs-panel/dns/prefs.pl:207
 #, perl-format
 msgid "Unable to modify TXT record: %s"
 msgstr "Imposible modificar registro TXT: %s"
 
-#: vhffs-panel/mail/prefs.pl:302
+#: vhffs-panel/mail/prefs.pl:301
 #, perl-format
 msgid "Unable to modify forward %s"
 msgstr "Imposible modificar redirección %s"
 
-#: vhffs-panel/group/prefs.pl:114
+#: vhffs-panel/group/prefs.pl:119
 msgid "Unable to remove user from group"
 msgstr "Imposible remover el usuario del grupo"
 
@@ -4285,16 +4219,23 @@
 msgid "Unable to save object"
 msgstr "Imposible guardar el objeto"
 
-#: vhffs-panel/svn/prefs.pl:168
+#: vhffs-panel/admin/tag/category/edit.pl:71
+msgid "Unable to update category"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:169
 msgid "Unable to update repository"
 msgstr "Imposible actualizar el repositorio"
 
-#: vhffs-panel/user/prefs.pl:475
+#: vhffs-panel/admin/tag/edit.pl:72
+msgid "Unable to update tag"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:500
 msgid "Unable to update user, please try again later"
 msgstr "Imposible actualizar el usuario, por favor intente más tarde"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:298
 msgid ""
 "Unknow command\n"
 "\n"
@@ -4302,64 +4243,47 @@
 "Comando desconocido\n"
 "\n"
 
-#: vhffs-api/src/Vhffs/Functions.pm:452 vhffs-api/src/Vhffs/Functions.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:452
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:457
+#: vhffs-api/src/Vhffs/Functions.pm:510 vhffs-api/src/Vhffs/Functions.pm:515
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:163 vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:211 vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:241 vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:265 vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:317 vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:344 vhffs-api/src/Vhffs/Panel/DNS.pm:356
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:265
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:288
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:344
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:356
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:164 vhffs-api/src/Vhffs/Panel/DNS.pm:200
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:212 vhffs-api/src/Vhffs/Panel/DNS.pm:230
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:242 vhffs-api/src/Vhffs/Panel/DNS.pm:255
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:267 vhffs-api/src/Vhffs/Panel/DNS.pm:280
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:292 vhffs-api/src/Vhffs/Panel/DNS.pm:305
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:322 vhffs-api/src/Vhffs/Panel/DNS.pm:337
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:349 vhffs-api/src/Vhffs/Panel/DNS.pm:361
 msgid "Unknown error"
 msgstr "Error desconocido"
 
-#: vhffs-panel/admin/broadcast_view.pl:105
-#: vhffs-panel/admin/broadcast_list.pl:104
+#: vhffs-panel/admin/broadcast_list.pl:102
+#: vhffs-panel/admin/broadcast_view.pl:103
 msgid "Unknown status"
 msgstr "Estatus desconocido"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:240
 #, perl-format
 msgid "Unsubscribe for the list %s was not complete.\n"
 msgstr "El proceso de desinscripción de la lista %s no ha sido terminado.\n"
 
-#: vhffs-intl/template_strings.pl:64 vhffs-panel/group/prefs.pl:244
+#: vhffs-panel/admin/tag/category/edit.pl:88 vhffs-panel/group/prefs.pl:257
 msgid "Update"
 msgstr "Actualizar"
 
-#: vhffs-intl/template_strings.pl:87
-msgid "Update Permissions"
-msgstr "Actualizar permisos"
+#: vhffs-panel/admin/tag/edit.pl:78
+msgid "Update Tag"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:54 vhffs-intl/template_strings.pl:70
-msgid "Update Quota"
-msgstr "Actualizar cuota"
+#: vhffs-panel/admin/tag/category/edit.pl:77
+msgid "Update Tag Category"
+msgstr ""
 
-#: vhffs-panel/group/prefs.pl:248
+#: vhffs-panel/group/prefs.pl:261
 msgid "Update avatar"
 msgstr "Actualizar avatar"
 
-#: vhffs-panel/mailinglist/prefs.pl:144
+#: vhffs-panel/mailinglist/prefs.pl:143
 msgid "Update signature"
 msgstr "Actualizar firma"
 
@@ -4367,12 +4291,12 @@
 msgid "Uploaded file is too big. The maximum size is 20 Kbytes."
 msgstr "Archivo a subir demasiado pesado Tamaño maximum Kbytes."
 
-#: vhffs-panel/dns/prefs.pl:240
+#: vhffs-panel/dns/prefs.pl:239
 #, perl-format
 msgid "Use @ for origin (%s)"
 msgstr "Usar @ para la raíz de (%s)"
 
-#: vhffs-panel/user/prefs.pl:413
+#: vhffs-panel/user/prefs.pl:430
 #, perl-format
 msgid ""
 "Use VHFFS servers to manage this mail,<br/>you should use use the host pop.%"
@@ -4381,20 +4305,19 @@
 "Utilizar los servidores VHFFS para administrar estos mails,<br/>deberá "
 "utilizar el host pop.%s o imap.%s para recuperar sus mensajes"
 
-#: vhffs-panel/user/prefs.pl:424
+#: vhffs-panel/user/prefs.pl:441
 msgid "Use anti-spam protection"
 msgstr "Utilizar el anti-spam"
 
-#: vhffs-panel/user/prefs.pl:432
+#: vhffs-panel/user/prefs.pl:449
 msgid "Use anti-virus protection"
 msgstr "Utilizar el anti-virus"
 
-#: vhffs-intl/template_strings.pl:51 vhffs-intl/template_strings.pl:67
-msgid "Used Quota"
-msgstr "Cuota usada"
+#: vhffs-panel/dns/prefs.pl:259
+msgid "Use our servers as destination IP for this A record?"
+msgstr ""
 
-#: vhffs-intl/extra_strings.pl:35 vhffs-panel/admin/moderation.pl:86
-#: vhffs-panel/acl/view.pl:103
+#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/acl/view.pl:103
 msgid "User"
 msgstr "Usuario"
 
@@ -4404,26 +4327,22 @@
 msgstr "El usuario %s no existe"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:118
 msgid "User Admin"
 msgstr "Administración de usuarios"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:435 vhffs-panel/user/prefs.pl:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:435
+#: vhffs-panel/user/prefs.pl:314 vhffs-api/src/Vhffs/Panel/Main.pm:425
 msgid "User Preferences"
 msgstr "Preferencias de usuario"
 
-#: vhffs-panel/subscribe.pl:188
+#: vhffs-panel/subscribe.pl:190
 msgid "User Successfully created"
 msgstr "Usuario creado con éxito"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:432
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:432
+#: vhffs-api/src/Vhffs/Panel/Main.pm:422
 msgid "User account"
 msgstr "Cuenta de usuario"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:368
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:368
+#: vhffs-api/src/Vhffs/Panel/Main.pm:373
 msgid "User does not exist"
 msgstr "El usuario no existe"
 
@@ -4431,47 +4350,34 @@
 msgid "User is not active yet"
 msgstr "Usuario no está activo todavía"
 
-#: vhffs-panel/group/prefs.pl:144
+#: vhffs-panel/group/prefs.pl:149
 msgid "User not found"
 msgstr "Usuario no encontrado"
 
-#: vhffs-panel/user/prefs.pl:477
+#: vhffs-panel/user/prefs.pl:502
 msgid "User successfully updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:134 vhffs-panel/group/prefs.pl:168
+#: vhffs-panel/group/prefs.pl:139 vhffs-panel/group/prefs.pl:173
 msgid "User will be added as soon as possible"
 msgstr "El usuario será añadido tan pronto como sea posible."
 
-#: vhffs-intl/template_strings.pl:82
-msgid "User's Permissions"
-msgstr "Permisos de usuario"
-
-#: vhffs-intl/template_strings.pl:83
-msgid "User's permissions"
-msgstr "Permisos de usuario"
-
-#: vhffs-intl/template_strings.pl:7 vhffs-intl/template_strings.pl:22
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:65 vhffs-panel/admin/user/list.pl:70
-#: vhffs-panel/admin/su.pl:73 vhffs-panel/group/prefs.pl:238
-#: vhffs-panel/user/prefs.pl:301 vhffs-panel/lost.pl:57
-#: vhffs-panel/subscribe.pl:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:65
+#: vhffs-panel/admin/user/list.pl:70 vhffs-panel/admin/su.pl:73
+#: vhffs-panel/user/prefs.pl:318 vhffs-panel/group/prefs.pl:251
+#: vhffs-panel/subscribe.pl:238 vhffs-panel/lost.pl:57
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:65
 msgid "Username"
 msgstr "Nombre de usuario"
 
-#: vhffs-panel/pgsql/prefs.pl:87 vhffs-panel/mysql/prefs.pl:98
+#: vhffs-panel/mysql/prefs.pl:99 vhffs-panel/pgsql/prefs.pl:87
 msgid "Username for this database"
 msgstr "Nombre de usuario para esta base de datos"
 
-#: vhffs-intl/template_strings.pl:2 vhffs-intl/template_strings.pl:12
-#: vhffs-intl/template_strings.pl:19 vhffs-api/src/Vhffs/Panel/Menu.pm:111
-#: vhffs-panel/group/prefs.pl:256
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:111
+#: vhffs-panel/group/prefs.pl:269 vhffs-api/src/Vhffs/Panel/Menu.pm:115
 msgid "Users"
 msgstr "Usuarios"
 
-#: vhffs-panel/admin/stats.pl:91
+#: vhffs-panel/admin/stats.pl:90
 msgid "Users stats"
 msgstr "Estadísticas usuarios"
 
@@ -4479,64 +4385,57 @@
 msgid "Users' administration"
 msgstr "Administración de usuarios"
 
-#: vhffs-intl/extra_strings.pl:21 vhffs-api/src/Vhffs/Panel/Object.pm:122
-#: vhffs-panel/admin/object/edit.pl:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:122
+#: vhffs-panel/admin/object/edit.pl:115
+#: vhffs-api/src/Vhffs/Panel/Object.pm:121
 msgid "Validation refused"
 msgstr "Validación rechazada"
 
-#: vhffs-panel/admin/stats.pl:89
+#: vhffs-panel/admin/stats.pl:88
 msgid "Vhffs Statistics"
 msgstr "Estadísticas Vhffs"
 
-#: vhffs-intl/template_strings.pl:10
-msgid "View Archives"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_view.pl:85
+#: vhffs-panel/admin/broadcast_view.pl:83
 msgid "View mailing"
 msgstr "Ver correos"
 
-#: vhffs-panel/admin/broadcast_list.pl:90
+#: vhffs-panel/admin/broadcast_list.pl:88
 msgid "View this mailing"
 msgstr "Ver este correo"
 
-#: vhffs-panel/mail/prefs.pl:254
+#: vhffs-panel/mail/prefs.pl:253
 msgid "Virus status updated"
 msgstr "Estatus de virus actualizado"
 
-#: vhffs-panel/admin/stats.pl:105
+#: vhffs-panel/admin/tag/category/create.pl:70
+#: vhffs-panel/admin/tag/category/edit.pl:81
+msgid "Visibility"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:104
 msgid "WEB stats"
 msgstr "Estadísticas web"
 
-#: vhffs-intl/template_strings.pl:75
-msgid "Waiting for confirmation"
-msgstr "Confirmación pendiente"
-
-#: vhffs-intl/extra_strings.pl:22 vhffs-api/src/Vhffs/Panel/Object.pm:123
-#: vhffs-panel/admin/object/edit.pl:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:123
+#: vhffs-panel/admin/object/edit.pl:116
+#: vhffs-api/src/Vhffs/Panel/Object.pm:122
 msgid "Waiting for creation"
 msgstr "Creación pendiente"
 
-#: vhffs-intl/template_strings.pl:78
-msgid "Waiting for deletion"
-msgstr "Destrucción pendiente"
-
-#: vhffs-intl/extra_strings.pl:28 vhffs-api/src/Vhffs/Panel/Object.pm:129
-#: vhffs-panel/admin/object/edit.pl:124
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:129
+#: vhffs-panel/admin/object/edit.pl:122
+#: vhffs-api/src/Vhffs/Panel/Object.pm:128
 msgid "Waiting for modification"
 msgstr "Modificación pendiente"
 
-#: vhffs-intl/extra_strings.pl:20 vhffs-intl/template_strings.pl:76
-#: vhffs-api/src/Vhffs/Panel/Object.pm:121
-#: vhffs-panel/admin/object/edit.pl:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:121
+#: vhffs-panel/admin/object/edit.pl:120
+#: vhffs-api/src/Vhffs/Panel/Object.pm:126
+msgid "Waiting for suspension"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:114
+#: vhffs-api/src/Vhffs/Panel/Object.pm:120
 msgid "Waiting for validation"
 msgstr "Validación pendiente"
 
-#: vhffs-panel/user/prefs.pl:149
+#: vhffs-panel/user/prefs.pl:151
 msgid "Wanted shell is not in the shell list"
 msgstr "El shell deseado no está en la lista"
 
@@ -4544,16 +4443,7 @@
 msgid "Warn the admin team"
 msgstr "Alertar el equipo de administración"
 
-#: vhffs-intl/template_strings.pl:65 vhffs-intl/template_strings.pl:72
-msgid ""
-"Warning, password change isn't immediate, you've to check periodically to "
-"see if it's done"
-msgstr ""
-"Advertencia, el cambio de contraseña no es inmediato, tiene que verificar "
-"con regularidad si se hizo efectivo"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:481
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:481
 #, perl-format
 msgid ""
 "We confirm that you REFUSED the subscription of:\n"
@@ -4571,7 +4461,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:457
 #, perl-format
 msgid ""
 "We confirm that you accepted the subscription of:\n"
@@ -4588,40 +4477,33 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/group/prefs.pl:227
+#: vhffs-panel/group/prefs.pl:240
 #, perl-format
 msgid "We offer you the possibility to forward emails from %s@%s."
 msgstr "Le ofrecemos la posibilidad de redirigir los correos desde  %s@%s."
 
-#: vhffs-panel/user/prefs.pl:443
+#: vhffs-panel/user/prefs.pl:460
 #, perl-format
 msgid "We offer you the possibility to have one email box on the domain %s"
 msgstr "Le ofrecemos la posibilidad de tener un buzón en el dominio %s"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:64 vhffs-api/src/Vhffs/Panel/Menu.pm:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:113
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:117
 msgid "Web"
 msgstr "Web"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:153
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:173
 msgid "Web Admin"
 msgstr "Admin web"
 
-#: vhffs-panel/web/prefs.pl:93
+#: vhffs-panel/web/prefs.pl:90
 msgid "Web Area Administration"
 msgstr "Administración zona web"
 
-#: vhffs-panel/web/prefs.pl:143
+#: vhffs-panel/web/prefs.pl:140
 msgid "Web area successfully modified"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:37
-msgid "Webarea"
-msgstr "Zona web"
-
-#: vhffs-panel/web/index.pl:60
+#: vhffs-panel/web/index.pl:61
 #, perl-format
 msgid "Webareas for %s"
 msgstr "Zona web para %s"
@@ -4630,65 +4512,45 @@
 msgid "Webareas' administration"
 msgstr "Administración zonas web"
 
-#: vhffs-intl/template_strings.pl:37
-msgid "Website description"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:36
-msgid "Website name"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:33
-msgid "Websites"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:41 vhffs-public/group.pl:99
-msgid "Websites for this group"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
+#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/dns/prefs.pl:385
 msgid "Weight"
 msgstr "Peso"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:62
 #, perl-format
 msgid "Welcome on %s"
 msgstr "Bienvenido a %s"
 
-#: vhffs-panel/mailinglist/delete.pl:107
+#: vhffs-panel/mailinglist/delete.pl:105
 msgid "Will be DELETED in a few minutes"
 msgstr "Será DESTRUIDO en algunos minutos"
 
-#: vhffs-intl/extra_strings.pl:31 vhffs-api/src/Vhffs/Panel/Object.pm:132
-#: vhffs-panel/admin/object/edit.pl:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:132
+#: vhffs-panel/admin/object/edit.pl:125
+#: vhffs-api/src/Vhffs/Panel/Object.pm:131
 msgid "Will be deleted"
 msgstr "Será destruido"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:81
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:81
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:84
 #, perl-format
 msgid "Woah, %s users and %s groups already trust %s"
 msgstr "Woah, %s usuarios y %s grupos confían en %s"
 
-#: vhffs-intl/template_strings.pl:59 vhffs-intl/template_strings.pl:62
-#: vhffs-panel/git/prefs.pl:101 vhffs-panel/dns/prefs.pl:261
-#: vhffs-panel/cvs/prefs.pl:112 vhffs-panel/svn/prefs.pl:93
+#: vhffs-panel/svn/prefs.pl:94 vhffs-panel/dns/prefs.pl:260
+#: vhffs-panel/cvs/prefs.pl:99 vhffs-panel/git/prefs.pl:98
 msgid "Yes"
 msgstr "Si"
 
-#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/mail/prefs.pl:138
-#: vhffs-panel/git/prefs.pl:107 vhffs-panel/dns/prefs.pl:254
-#: vhffs-panel/pgsql/prefs.pl:101 vhffs-panel/cvs/prefs.pl:118
-#: vhffs-panel/group/prefs.pl:215 vhffs-panel/mysql/prefs.pl:113
-#: vhffs-panel/svn/prefs.pl:99 vhffs-panel/mailinglist/prefs.pl:181
-#: vhffs-panel/web/prefs.pl:111 vhffs-panel/user/prefs.pl:328
+#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/pgsql/prefs.pl:101
+#: vhffs-panel/mailinglist/prefs.pl:181 vhffs-panel/cron/prefs.pl:152
+#: vhffs-panel/repository/prefs.pl:90 vhffs-panel/user/prefs.pl:345
+#: vhffs-panel/svn/prefs.pl:100 vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/group/prefs.pl:228 vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/cvs/prefs.pl:105 vhffs-panel/git/prefs.pl:104
+#: vhffs-panel/web/prefs.pl:108
 msgid "Yes I'm sure of what I do"
 msgstr "Si, estoy seguro(a) de lo que hago"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:227
 msgid "You are not a subscriber on this list.\n"
 msgstr "Ud. no es suscriptor de esta lista.\n"
 
@@ -4696,7 +4558,7 @@
 msgid "You are not allowed to add members (ACL rights)"
 msgstr "No está autorizado a añadir miembros (Derechos ACL)"
 
-#: vhffs-panel/object/resubmit.pl:77 vhffs-panel/object/quickdelete.pl:77
+#: vhffs-panel/object/quickdelete.pl:76 vhffs-panel/object/resubmit.pl:76
 msgid "You are not allowed to do it, you don't own this object"
 msgstr "No está autorizado a hacer esto, no es propietario de este objeto."
 
@@ -4704,48 +4566,45 @@
 msgid "You are not allowed to manager subscribers' rights (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:177 vhffs-panel/mail/prefs.pl:207
-#: vhffs-panel/mail/prefs.pl:225 vhffs-panel/mail/prefs.pl:265
-#: vhffs-panel/mail/prefs.pl:279 vhffs-panel/mail/prefs.pl:295
-#: vhffs-panel/mail/prefs.pl:311
+#: vhffs-panel/mail/prefs.pl:176 vhffs-panel/mail/prefs.pl:206
+#: vhffs-panel/mail/prefs.pl:224 vhffs-panel/mail/prefs.pl:264
+#: vhffs-panel/mail/prefs.pl:278 vhffs-panel/mail/prefs.pl:294
+#: vhffs-panel/mail/prefs.pl:310
 msgid "You are not allowed to modify this object"
 msgstr "No está autorizado a modificar este objeto"
 
-#: vhffs-panel/web/prefs.pl:125
+#: vhffs-panel/web/prefs.pl:122
 msgid "You are not allowed to modify this web area"
 msgstr "No está autorizado a modificar esta zona web"
 
-#: vhffs-panel/admin/repository/search.pl:71
-#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/mail/search.pl:72
-#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/git/search.pl:73
-#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/dns/search.pl:72
-#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/pgsql/search.pl:72
-#: vhffs-panel/admin/pgsql/list.pl:60 vhffs-panel/admin/cvs/search.pl:71
-#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/group/search.pl:72
-#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mysql/search.pl:72
-#: vhffs-panel/admin/mysql/list.pl:66 vhffs-panel/admin/object/edit.pl:74
-#: vhffs-panel/admin/object/search.pl:71
-#: vhffs-panel/admin/object/edit_submit.pl:74
-#: vhffs-panel/admin/object/list.pl:72
-#: vhffs-panel/admin/object/delete_avatar.pl:78
-#: vhffs-panel/admin/svn/search.pl:73 vhffs-panel/admin/svn/list.pl:55
-#: vhffs-panel/admin/mailinglist/search.pl:71
-#: vhffs-panel/admin/mailinglist/list.pl:63 vhffs-panel/admin/web/search.pl:72
-#: vhffs-panel/admin/web/list.pl:54 vhffs-panel/admin/user/search.pl:72
-#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast_view.pl:73
-#: vhffs-panel/admin/broadcast_list.pl:71 vhffs-panel/admin/stats.pl:82
-#: vhffs-panel/admin/broadcast.pl:70
+#: vhffs-panel/admin/mysql/search.pl:70 vhffs-panel/admin/mysql/list.pl:66
+#: vhffs-panel/admin/pgsql/search.pl:70 vhffs-panel/admin/pgsql/list.pl:60
+#: vhffs-panel/admin/stats.pl:81 vhffs-panel/admin/broadcast_list.pl:69
+#: vhffs-panel/admin/mailinglist/search.pl:69
+#: vhffs-panel/admin/mailinglist/list.pl:63
+#: vhffs-panel/admin/broadcast_view.pl:71 vhffs-panel/admin/cron/search.pl:70
+#: vhffs-panel/admin/cron/list.pl:66 vhffs-panel/admin/repository/search.pl:69
+#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/user/search.pl:70
+#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast.pl:68
+#: vhffs-panel/admin/svn/search.pl:71 vhffs-panel/admin/svn/list.pl:55
+#: vhffs-panel/admin/object/delete_avatar.pl:76
+#: vhffs-panel/admin/object/edit_submit.pl:72
+#: vhffs-panel/admin/object/edit.pl:72 vhffs-panel/admin/object/search.pl:69
+#: vhffs-panel/admin/object/list.pl:70 vhffs-panel/admin/dns/search.pl:70
+#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/group/search.pl:70
+#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mail/search.pl:70
+#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/cvs/search.pl:69
+#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/git/search.pl:71
+#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/web/search.pl:70
+#: vhffs-panel/admin/web/list.pl:54
 msgid "You are not allowed to see it"
 msgstr "No está autorizado a verlo"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:186
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:207
+#: vhffs-api/src/Vhffs/Panel/Main.pm:187 vhffs-api/src/Vhffs/Panel/Main.pm:208
 msgid "You are not granted to access this page"
 msgstr "No está autorizado a acceder a esta página"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:119
 #, perl-format
 msgid ""
 "You asked to be subscribed to the following list:\n"
@@ -4758,9 +4617,10 @@
 "%s\n"
 "\n"
 
-#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:113
-#: vhffs-panel/dns/prefs.pl:246 vhffs-panel/svn/prefs.pl:105
-#: vhffs-panel/web/prefs.pl:104
+#: vhffs-panel/mysql/prefs.pl:107 vhffs-panel/cron/prefs.pl:145
+#: vhffs-panel/svn/prefs.pl:106 vhffs-panel/dns/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:101
 msgid ""
 "You can Manage rights on this service for each user in the VHFFS database. "
 "Please read help before manage it."
@@ -4769,26 +4629,35 @@
 "Por favor, lea la ayuda antes de administrarlo."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:49
 msgid "You can also send a command list in the mail body.\n"
 msgstr "También puede enviar una lista de comando en el cuerpo del mensaje.\n"
 
-#: vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:438
+msgid "You can only delete requests attached to your group"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:273
+msgid "You cannot add NS records on origin"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:157
+msgid "You cannot delete NS records on origin"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:115
 msgid "You cannot remove the owner of the group"
 msgstr "No puede remover el propietario del grupo"
 
-#: vhffs-panel/subscribe.pl:89
+#: vhffs-panel/subscribe.pl:77
 msgid "You cannot subscribe to VHFFS"
 msgstr "No puede suscribir a VHFFS"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:226
 #, perl-format
 msgid "You cannot unsubscribe from the list %s\n"
 msgstr "No puede desinscribirse de la lista %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:211
 msgid "You demand was refused\n"
 msgstr "Su solicitud fue rechazada\n"
 
@@ -4796,8 +4665,15 @@
 msgid "You do not own this domain !"
 msgstr "Ud. no es dueño de este dominio!"
 
+#: vhffs-panel/group/prefs.pl:345
+msgid "You don't have enough privileges to add this tag"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:378
+msgid "You don't have enough privileges to delete this tag"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:182
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:182
 #, perl-format
 msgid ""
 "You have been successfully removed from the following list:\n"
@@ -4807,14 +4683,11 @@
 "  %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:255
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:255
 #, perl-format
 msgid "You have been successfully removed from the list %s.\n"
 msgstr "Ud. ha sido removido con éxito de la lista %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:147 vhffs-api/src/Vhffs/Listengine.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:147
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:163
 #, perl-format
 msgid ""
 "You have been successfully subscribed to the following mailing list:\n"
@@ -4823,19 +4696,37 @@
 "Ud. ha sido suscrito con éxito a la lista de correo siguiente:\n"
 "  %s\n"
 
-#: vhffs-panel/web/prefs.pl:135
+#: vhffs-panel/admin/tag/category/edit.pl:115
+#: vhffs-panel/admin/tag/create.pl:100 vhffs-panel/admin/tag/edit.pl:107
+#: vhffs-panel/web/prefs.pl:132
 msgid "You have to enter a description"
 msgstr "Tiene que ingresar una descripción"
 
-#: vhffs-panel/repository/prefs.pl:125 vhffs-panel/group/prefs.pl:284
-msgid "You have to enter a quota greater than the current used quota"
-msgstr "Tiene que ingresar una cuota mayor a la cuota actualmente en uso"
+#: vhffs-panel/admin/tag/category/edit.pl:111
+#: vhffs-panel/admin/tag/create.pl:95 vhffs-panel/admin/tag/edit.pl:103
+msgid "You have to enter a label"
+msgstr ""
 
-#: vhffs-panel/repository/index.pl:54 vhffs-panel/mail/index.pl:54
-#: vhffs-panel/git/index.pl:55 vhffs-panel/dns/index.pl:54
-#: vhffs-panel/pgsql/index.pl:54 vhffs-panel/cvs/index.pl:54
-#: vhffs-panel/mysql/index.pl:54 vhffs-panel/svn/index.pl:54
-#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/web/index.pl:54
+#: vhffs-panel/admin/tag/category/create.pl:95
+#: vhffs-panel/admin/tag/request/details.pl:151
+msgid "You have to enter a label and a description for the category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:156
+#: vhffs-panel/admin/tag/request/details.pl:185
+msgid "You have to enter a label and a description for the tag"
+msgstr ""
+
+#: vhffs-public/usersearch.pl:52
+msgid "You have to enter an username"
+msgstr ""
+
+#: vhffs-panel/mysql/index.pl:55 vhffs-panel/pgsql/index.pl:55
+#: vhffs-panel/mailinglist/index.pl:55 vhffs-panel/cron/index.pl:55
+#: vhffs-panel/repository/index.pl:55 vhffs-panel/svn/index.pl:55
+#: vhffs-panel/dns/index.pl:55 vhffs-panel/mail/index.pl:55
+#: vhffs-panel/cvs/index.pl:55 vhffs-panel/git/index.pl:56
+#: vhffs-panel/web/index.pl:55
 msgid "You have to select a group first"
 msgstr "Debe seleccionar un grupo primero"
 
@@ -4849,73 +4740,68 @@
 
 #: vhffs-api/src/Vhffs/Listengine.pm:149 vhffs-api/src/Vhffs/Listengine.pm:168
 #: vhffs-api/src/Vhffs/Listengine.pm:443
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:149
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:168
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:443
 msgid "You may get some help on listengine by sending an email to\n"
 msgstr "Puede recibir ayuda sobre el listengine enviando un mensaje a\n"
 
-#: vhffs-panel/user/prefs.pl:204
+#: vhffs-panel/user/prefs.pl:210
 msgid "You must choose a method for your mail"
 msgstr "Debe escoger un método para su correo"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:85 vhffs-api/src/Vhffs/Listengine.pm:103
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:103
 msgid "You must confirm your request by sending a confirmation email\n"
 msgstr "Debe confirmar su solicitud enviando un mensaje de confirmación\n"
 
-#: vhffs-panel/subscribe.pl:143
+#: vhffs-panel/subscribe.pl:145
 msgid "You must declare a valid mail address"
 msgstr "Debe ingresar una dirección de correo válida"
 
-#: vhffs-panel/subscribe.pl:123
+#: vhffs-panel/subscribe.pl:125
 msgid "You must declare your city"
 msgstr "Debe ingresar el nombre de su ciudad"
 
-#: vhffs-panel/subscribe.pl:119
+#: vhffs-panel/subscribe.pl:121
 msgid "You must declare your country"
 msgstr "Debe ingresar el nombre de su país"
 
-#: vhffs-panel/subscribe.pl:131
+#: vhffs-panel/subscribe.pl:133
 msgid "You must declare your firstname"
 msgstr "Debe ingresar su nombre"
 
-#: vhffs-panel/subscribe.pl:135
+#: vhffs-panel/subscribe.pl:137
 msgid "You must declare your lastname"
 msgstr "Debe ingresar su apellido"
 
-#: vhffs-panel/subscribe.pl:139
+#: vhffs-panel/subscribe.pl:141
 msgid "You must declare your mail address"
 msgstr "Debe ingresar su dirección de correo"
 
-#: vhffs-panel/subscribe.pl:111
+#: vhffs-panel/subscribe.pl:113
 msgid "You must declare your username"
 msgstr "Debe ingresar un nombre de usuario"
 
-#: vhffs-panel/subscribe.pl:127
+#: vhffs-panel/subscribe.pl:129
 msgid "You must declare your zipcode"
 msgstr "Debe ingresar el código de la localidad"
 
-#: vhffs-panel/repository/create.pl:79 vhffs-panel/mail/create.pl:78
-#: vhffs-panel/git/create.pl:83 vhffs-panel/dns/create.pl:53
-#: vhffs-panel/pgsql/create.pl:84 vhffs-panel/cvs/create.pl:84
-#: vhffs-panel/group/prefs.pl:86 vhffs-panel/group/create.pl:68
-#: vhffs-panel/mysql/create.pl:84 vhffs-panel/object/resubmit.pl:90
-#: vhffs-panel/svn/create.pl:83 vhffs-panel/mailinglist/create.pl:83
-#: vhffs-panel/web/create.pl:81
+#: vhffs-panel/mysql/create.pl:84 vhffs-panel/pgsql/create.pl:84
+#: vhffs-panel/mailinglist/create.pl:83 vhffs-panel/cron/create.pl:86
+#: vhffs-panel/repository/create.pl:79 vhffs-panel/svn/create.pl:83
+#: vhffs-panel/object/resubmit.pl:89 vhffs-panel/dns/create.pl:54
+#: vhffs-panel/group/prefs.pl:91 vhffs-panel/group/create.pl:70
+#: vhffs-panel/mail/create.pl:79 vhffs-panel/cvs/create.pl:84
+#: vhffs-panel/git/create.pl:83 vhffs-panel/web/create.pl:81
 msgid "You must enter a description"
 msgstr "Debe ingresar una descripción"
 
-#: vhffs-panel/group/prefs.pl:88 vhffs-panel/group/create.pl:70
+#: vhffs-panel/group/prefs.pl:93 vhffs-panel/group/create.pl:72
 msgid "You must enter a full name"
 msgstr "Debe ingresar un un nombre completo"
 
-#: vhffs-panel/group/prefs.pl:126
+#: vhffs-panel/group/prefs.pl:131
 msgid "You must enter an username"
 msgstr "Debe ingresar un nombre de usuario"
 
-#: vhffs-panel/group/view.pl:55
+#: vhffs-panel/group/view.pl:57
 msgid "You must specify a project name"
 msgstr "Debe especificar el nombre del proyecto"
 
@@ -4924,46 +4810,48 @@
 msgstr "Debe ingresar por lo menos un nuevo miembro"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:166
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:166
 msgid "You will receive an email with the decision of administrators.\n"
 msgstr "Recibirá un correo con la decisión de los administradores.\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:375
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:375
+#: vhffs-api/src/Vhffs/Panel/Main.pm:380
 msgid "You're are not allowed to browse panel"
 msgstr "No está autorizado a navegar por el panel"
 
-#: vhffs-panel/repository/create.pl:64 vhffs-panel/mail/create.pl:60
-#: vhffs-panel/git/create.pl:64 vhffs-panel/dns/create.pl:34
-#: vhffs-panel/pgsql/create.pl:63 vhffs-panel/admin/moderation_submit.pl:67
-#: vhffs-panel/admin/broadcast_delete.pl:79
-#: vhffs-panel/admin/broadcast_submit.pl:79 vhffs-panel/admin/moderation.pl:70
-#: vhffs-panel/cvs/create.pl:64 vhffs-panel/group/prefs.pl:78
-#: vhffs-panel/group/prefs.pl:108 vhffs-panel/group/prefs.pl:119
-#: vhffs-panel/group/prefs.pl:160 vhffs-panel/group/prefs.pl:177
-#: vhffs-panel/group/history.pl:71 vhffs-panel/group/delete.pl:68
-#: vhffs-panel/mysql/create.pl:63 vhffs-panel/svn/create.pl:63
-#: vhffs-panel/mailinglist/create.pl:62 vhffs-panel/web/prefs.pl:84
-#: vhffs-panel/web/create.pl:63
+#: vhffs-panel/mysql/create.pl:63 vhffs-panel/pgsql/create.pl:63
+#: vhffs-panel/admin/broadcast_submit.pl:75
+#: vhffs-panel/admin/broadcast_delete.pl:75
+#: vhffs-panel/admin/moderation_submit.pl:67
+#: vhffs-panel/admin/moderation.pl:69 vhffs-panel/mailinglist/create.pl:62
+#: vhffs-panel/cron/create.pl:65 vhffs-panel/repository/create.pl:64
+#: vhffs-panel/svn/create.pl:63 vhffs-panel/dns/create.pl:35
+#: vhffs-panel/group/history.pl:72 vhffs-panel/group/prefs.pl:83
+#: vhffs-panel/group/prefs.pl:113 vhffs-panel/group/prefs.pl:124
+#: vhffs-panel/group/prefs.pl:165 vhffs-panel/group/prefs.pl:182
+#: vhffs-panel/group/prefs.pl:325 vhffs-panel/group/prefs.pl:358
+#: vhffs-panel/group/prefs.pl:391 vhffs-panel/group/prefs.pl:424
+#: vhffs-panel/group/delete.pl:67 vhffs-panel/mail/create.pl:61
+#: vhffs-panel/cvs/create.pl:64 vhffs-panel/git/create.pl:64
+#: vhffs-panel/web/prefs.pl:81 vhffs-panel/web/create.pl:63
 msgid "You're not allowed to do this (ACL rights)"
 msgstr "No está autorizado a hacer esto (Derechos ACL)"
 
-#: vhffs-panel/repository/prefs.pl:74 vhffs-panel/repository/delete.pl:82
-#: vhffs-panel/mail/prefs.pl:77 vhffs-panel/mail/delete.pl:87
-#: vhffs-panel/git/prefs.pl:80 vhffs-panel/git/prefs.pl:142
-#: vhffs-panel/git/prefs.pl:164 vhffs-panel/git/delete.pl:82
+#: vhffs-panel/mysql/prefs.pl:81 vhffs-panel/mysql/prefs.pl:127
+#: vhffs-panel/mysql/delete.pl:78 vhffs-panel/pgsql/prefs.pl:71
+#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:76
+#: vhffs-panel/mailinglist/prefs.pl:83 vhffs-panel/mailinglist/prefs.pl:205
+#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:89
+#: vhffs-panel/cron/prefs.pl:80 vhffs-panel/cron/prefs.pl:167
+#: vhffs-panel/cron/delete.pl:78 vhffs-panel/repository/prefs.pl:73
+#: vhffs-panel/repository/delete.pl:81 vhffs-panel/user/prefs.pl:79
+#: vhffs-panel/user/prefs.pl:85 vhffs-panel/svn/prefs.pl:77
+#: vhffs-panel/svn/prefs.pl:135 vhffs-panel/svn/delete.pl:80
 #: vhffs-panel/dns/prefs.pl:86 vhffs-panel/dns/prefs.pl:95
-#: vhffs-panel/dns/delete.pl:87 vhffs-panel/pgsql/prefs.pl:71
-#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:77
+#: vhffs-panel/dns/delete.pl:79 vhffs-panel/group/prefs.pl:74
+#: vhffs-panel/mail/prefs.pl:76 vhffs-panel/mail/delete.pl:85
 #: vhffs-panel/cvs/prefs.pl:73 vhffs-panel/cvs/prefs.pl:78
-#: vhffs-panel/cvs/prefs.pl:94 vhffs-panel/cvs/delete.pl:82
-#: vhffs-panel/group/prefs.pl:70 vhffs-panel/mysql/prefs.pl:80
-#: vhffs-panel/mysql/delete.pl:79 vhffs-panel/svn/prefs.pl:76
-#: vhffs-panel/svn/prefs.pl:134 vhffs-panel/svn/delete.pl:81
-#: vhffs-panel/mailinglist/prefs.pl:84 vhffs-panel/mailinglist/prefs.pl:205
-#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:91
-#: vhffs-panel/web/delete.pl:83 vhffs-panel/user/prefs.pl:78
-#: vhffs-panel/user/prefs.pl:84
+#: vhffs-panel/cvs/delete.pl:81 vhffs-panel/git/prefs.pl:81
+#: vhffs-panel/git/prefs.pl:139 vhffs-panel/git/delete.pl:81
+#: vhffs-panel/web/delete.pl:81
 msgid ""
 "You're not allowed to do this, object is not in active state or you don't "
 "have enough ACL rights"
@@ -4973,7 +4861,7 @@
 msgid "You're not allowed to manage this object's ACL"
 msgstr "No está autorizado a administrar este objeto ACL"
 
-#: vhffs-panel/acl/view.pl:76 vhffs-panel/history.pl:94
+#: vhffs-panel/history.pl:92 vhffs-panel/acl/view.pl:76
 msgid "You're not allowed to view this object's ACL"
 msgstr "No está autorizado a ver este objeto ACL"
 
@@ -4981,14 +4869,12 @@
 msgid "You're not an administrator"
 msgstr "No es administrador"
 
-#: vhffs-api/src/Vhffs/Object.pm:512
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:512
+#: vhffs-api/src/Vhffs/Object.pm:527
 #, perl-format
 msgid "Your %s (%s) on %s has been deleted due to lack of updates"
 msgstr "Su %s (%s) en %s ha sido borrado por falta de actualización"
 
-#: vhffs-api/src/Vhffs/User.pm:333
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:333
+#: vhffs-api/src/Vhffs/User.pm:344
 #, perl-format
 msgid ""
 "Your account (%s) on %s has been deleted because it was unused for a long "
@@ -4996,7 +4882,7 @@
 msgstr ""
 "Su cuenta (%s) en %s ha sido borrado por falta de uso durante mucho tiempo"
 
-#: vhffs-panel/subscribe.pl:243
+#: vhffs-panel/subscribe.pl:277
 msgid ""
 "Your email address. It will be used to contact you when needed and as a "
 "destination address if you use our email forwarding service"
@@ -5012,20 +4898,17 @@
 msgid "Your projects"
 msgstr "Sus proyectos"
 
-#: vhffs-api/src/Vhffs/Object.pm:416
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:416
+#: vhffs-api/src/Vhffs/Object.pm:431
 #, perl-format
 msgid "Your request for a %s (%s) on %s was accepted"
 msgstr "Su solicitud de %s (%s) en %s ha sido aceptada"
 
-#: vhffs-api/src/Vhffs/Object.pm:466
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:466
+#: vhffs-api/src/Vhffs/Object.pm:481
 #, perl-format
 msgid "Your request for a %s (%s) on %s was refused"
 msgstr "Su solicitud de %s (%s) en %s ha sido rechazad"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:441
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:441
 #, perl-format
 msgid ""
 "Your subscription was accepted to the following mailing list:\n"
@@ -5035,7 +4918,6 @@
 "  %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:469
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:469
 #, perl-format
 msgid ""
 "Your subscription was refused to the following mailing list:\n"
@@ -5048,7 +4930,7 @@
 "\n"
 "Que tenga un buen día.\n"
 
-#: vhffs-panel/subscribe.pl:242
+#: vhffs-panel/subscribe.pl:276
 msgid ""
 "Your username. It must contains only alphanumeric characters in lowercase, "
 "its length must be between 3 and 12 chars"
@@ -5056,132 +4938,97 @@
 "Su nombre de usuario debe tener entre 3 y 12 caracteres alfanuméricos en "
 "minúsculas"
 
-#: vhffs-panel/subscribe.pl:147
+#: vhffs-panel/subscribe.pl:149
 msgid "Your zipcode is not correct! Please enter a correct zipcode"
 msgstr ""
 "¡Su código de área no es correcto! Escribe un código de área válido, por "
 "favor"
 
-#: vhffs-panel/user/prefs.pl:305 vhffs-panel/subscribe.pl:227
+#: vhffs-panel/user/prefs.pl:322 vhffs-panel/subscribe.pl:242
 msgid "Zipcode"
 msgstr "Código de área"
 
-#: vhffs-panel/user/prefs.pl:132
+#: vhffs-panel/user/prefs.pl:134
 msgid "Zipcode is not correct !"
 msgstr "¡El código de área no es correcto!"
 
-#: vhffs-panel/mailinglist/prefs.pl:301
+#: vhffs-panel/mailinglist/prefs.pl:303
 #, perl-format
 msgid "[%s] You've been added to the list %s"
 msgstr "[%s] Ha sido añadido a la lista %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:355
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:355
 msgid "cannot be removed from the list\n"
 msgstr "no puede ser removido de la lista\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:319
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:319
 msgid "cannot be removed.\n"
 msgstr "no puede ser removido.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:53
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:53
 msgid "help\t\t - show this help\n"
 msgstr "help\t\t - mostrar ayuda\n"
 
-#: vhffs-intl/extra_strings.pl:17
-msgid "help_user_admin"
-msgstr "help_user_admin"
-
-#: vhffs-intl/extra_strings.pl:13
-msgid "help_user_bug"
-msgstr "help_user_bug"
-
-#: vhffs-intl/extra_strings.pl:12
-msgid "help_user_help"
-msgstr "help_user_help"
-
-#: vhffs-intl/extra_strings.pl:14
-msgid "help_user_logout"
-msgstr "help_user_logout"
-
-#: vhffs-intl/extra_strings.pl:11
-msgid "help_user_preferences"
-msgstr "help_user_preferences"
-
-#: vhffs-intl/extra_strings.pl:16
-msgid "help_user_project"
-msgstr "help_user_project"
-
-#: vhffs-intl/extra_strings.pl:15
-msgid "help_user_projects"
-msgstr ""
-"<h2>Mis proyectos</h2><p>Administrar mis proyectos o crear nuevos proyectos."
-"</p>"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:372
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:372
 #, perl-format
 msgid "in the moderation queue of the list %s"
 msgstr "en la cola de moderación de la lista %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:56
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:56
 msgid "lang [fr|us|es]\t - set listengine language\n"
 msgstr "lang [fr|us|es]\t - definir idioma del listengine\n"
 
-#: vhffs-listengine/src/listengine.pl:960
+#: vhffs-listengine/src/listengine.pl:964
 #, perl-format
 msgid "listengine - list of messages to moderate for %s"
 msgstr "listengine - lista de mensajes pendientes por moderación para %s"
 
-#: vhffs-listengine/src/listengine.pl:843
-#: vhffs-listengine/src/listengine.pl:865
-#: vhffs-listengine/src/listengine.pl:876
+#: vhffs-listengine/src/listengine.pl:847
+#: vhffs-listengine/src/listengine.pl:869
+#: vhffs-listengine/src/listengine.pl:880
 msgid "listengine help"
 msgstr "Ayuda listengine"
 
-#: vhffs-listengine/src/listengine.pl:908
-#: vhffs-listengine/src/listengine.pl:919
-#: vhffs-listengine/src/listengine.pl:935
-#: vhffs-listengine/src/listengine.pl:947
-#: vhffs-listengine/src/listengine.pl:974
-#: vhffs-listengine/src/listengine.pl:985
+#: vhffs-listengine/src/listengine.pl:912
+#: vhffs-listengine/src/listengine.pl:923
+#: vhffs-listengine/src/listengine.pl:939
+#: vhffs-listengine/src/listengine.pl:951
+#: vhffs-listengine/src/listengine.pl:978
+#: vhffs-listengine/src/listengine.pl:989
 msgid "listengine moderation"
 msgstr "Moderación listengine"
 
-#: vhffs-listengine/src/listengine.pl:893
+#: vhffs-listengine/src/listengine.pl:897
 msgid "listengine result command"
 msgstr "Resultado del comando listengine"
 
-#: vhffs-listengine/src/listengine.pl:1026
+#: vhffs-listengine/src/listengine.pl:1030
 msgid "listengine: unknown command"
 msgstr "listengine: comando desconocido"
 
-#: vhffs-panel/user/prefs.pl:302 vhffs-panel/subscribe.pl:224
+#: vhffs-panel/user/prefs.pl:319 vhffs-panel/subscribe.pl:239
 msgid "mail"
 msgstr "Dirección de correo"
 
+#: vhffs-panel/cron/prefs.pl:97
+msgid "minutes"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:61
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:61
 msgid "moderate XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr "moderate XXXXX\t\t\t - aceptar mensaje con el message-id XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:62
 msgid ""
 "moderate accept XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 "moderate accept XXXXX\t\t\t - aceptar mensaje con el message-id XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:64
 msgid "moderate list\t\t\t - give the message list for moderation\n"
 msgstr "moderate list\t\t\t - dar la lista de mensajes para moderación\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:63
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:63
 msgid ""
 "moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n"
 msgstr ""
@@ -5191,61 +5038,50 @@
 msgid "new site"
 msgstr "<nuevo sitio>."
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:118
-#: vhffs-panel/admin/object/edit.pl:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:118
+#: vhffs-panel/admin/object/edit.pl:111
+#: vhffs-api/src/Vhffs/Panel/Object.pm:117
 msgid "no date"
 msgstr "ninguna fecha"
 
 #: vhffs-api/src/Vhffs/Object.pm:380
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:380
 msgid "no reason given"
 msgstr "no se comunicó razones"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:318 vhffs-api/src/Vhffs/Listengine.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:318
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:354
 #, perl-format
 msgid "present in the moderation queue for the list %s"
 msgstr "presente en la cola de moderación de la lista %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:54
 msgid "subscribe\t - subscribe the shipper to the list\n"
 msgstr "subscribe\t - suscribir el remitente a la lista\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:59
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:59
 msgid ""
 "subscription accept XXXXX\t\t - accept the subscription with key XXXXX\n"
 msgstr ""
 "subscription accept XXXXX\t\t - aceptar la suscripción con la clave XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:60
 msgid ""
 "subscription refuse XXXXX\t\t - refuse the subscription with key XXXXX\n"
 msgstr ""
 "subscription refuse XXXXX\t\t - rechazar la suscripción con la clave XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:55
 msgid "unsubscribe\t - unsubscribe from this list\n"
 msgstr "unsubscribe\t - desinscribirse de la lista\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:69
 msgid "user info user@xxxxxxxxxx\t\t - show user information\n"
 msgstr "user info user@xxxxxxxxxx\t\t - mostrar información usuario\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:67
 msgid "user right RIGHT user@xxxxxxxxxx\t - change right for this user\n"
 msgstr ""
 "user right RIGHT user@xxxxxxxxxx\t - cambiar derechos de este usuario\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:66
 msgid ""
 "user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on "
 "the list\n"
@@ -5254,7 +5090,6 @@
 "la lista\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:65
 msgid ""
 "user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n"
 msgstr ""
@@ -5262,28 +5097,21 @@
 "lista\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:337
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:337
 #, perl-format
 msgid "was removed from the moderation queue from the list %s"
 msgstr "ha sido borrado de la cola de moderación de la lista %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:373
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:373
 msgid "was sent on the list.\n"
 msgstr "ha sido enviado a la lista.\n"
 
-#: vhffs-intl/template_strings.pl:46
-msgid "website(s)"
-msgstr ""
-
-#: vhffs-panel/group/create.pl:86
+#: vhffs-panel/group/create.pl:100
 msgid ""
 "with only lowercase alphanumerical letters, no space, from 3 to 12 characters"
 msgstr ""
 "sólo con letra alfanumérica en minúscula, sin espacio, de 3 a 12 caracteres"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:407
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:407
 #, perl-format
 msgid ""
 "with the following subject :\n"
@@ -5292,6 +5120,325 @@
 "con el título siguiente :\n"
 "  \"moderate %s\" \n"
 
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#~ msgid "Administrator"
+#~ msgstr "Administrador"
+
+#~ msgid "All"
+#~ msgstr "Todos"
+
+#~ msgid "CVS Repository"
+#~ msgstr "Repositorio CVS"
+
+#~ msgid "Change Forward"
+#~ msgstr "Cambiar la redirección"
+
+#~ msgid "Change Password"
+#~ msgstr "Cambiar contraseña"
+
+#~ msgid "Change rights"
+#~ msgstr "Cambiar derechos"
+
+#~ msgid "Creation error"
+#~ msgstr "Error en la creación"
+
+#~ msgid "Delete from list"
+#~ msgstr "Eliminar de la lista"
+
+#~ msgid "Delete this forward"
+#~ msgstr "Destruir esta redirección"
+
+#~ msgid "Download Repository"
+#~ msgstr "Repositorio de download"
+
+#~ msgid "Enable anti-spam"
+#~ msgstr "Activar el anti-spam"
+
+#~ msgid "Enable anti-virus"
+#~ msgstr "Activar el anti-virus"
+
+#~ msgid "Fill with project's members emails"
+#~ msgstr "Llene con los correos de los miembros del proyecto"
+
+#~ msgid "Group Quota"
+#~ msgstr "Cuota de grupo"
+
+#~ msgid "Last users"
+#~ msgstr "Últimos usuarios"
+
+#~ msgid "MB"
+#~ msgstr "MB"
+
+#~ msgid "Mail Domain"
+#~ msgstr "Dominio mail"
+
+#~ msgid "Moderator"
+#~ msgstr "Moderador"
+
+#~ msgid "MySQL DB"
+#~ msgstr "BD MySQL"
+
+#~ msgid "New Quota"
+#~ msgstr "Nueva cuota"
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "PgSQL DB"
+#~ msgstr "BD MySQL"
+
+#~ msgid "SVN Repository"
+#~ msgstr "Repositorio SVN"
+
+#~ msgid "Signature"
+#~ msgstr "Firma"
+
+#~ msgid "Subscribed"
+#~ msgstr "Inscrito"
+
+#~ msgid "Suspended before deletion"
+#~ msgstr "Suspendido antes destrucción"
+
+#~ msgid "Update Permissions"
+#~ msgstr "Actualizar permisos"
+
+#~ msgid "Update Quota"
+#~ msgstr "Actualizar cuota"
+
+#~ msgid "Used Quota"
+#~ msgstr "Cuota usada"
+
+#~ msgid "User's Permissions"
+#~ msgstr "Permisos de usuario"
+
+#~ msgid "User's permissions"
+#~ msgstr "Permisos de usuario"
+
+#~ msgid "Waiting for confirmation"
+#~ msgstr "Confirmación pendiente"
+
+#~ msgid "Waiting for deletion"
+#~ msgstr "Destrucción pendiente"
+
+#~ msgid ""
+#~ "Warning, password change isn't immediate, you've to check periodically to "
+#~ "see if it's done"
+#~ msgstr ""
+#~ "Advertencia, el cambio de contraseña no es inmediato, tiene que verificar "
+#~ "con regularidad si se hizo efectivo"
+
+#~ msgid "Webarea"
+#~ msgstr "Zona web"
+
+#~ msgid "help_user_admin"
+#~ msgstr "help_user_admin"
+
+#~ msgid "help_user_bug"
+#~ msgstr "help_user_bug"
+
+#~ msgid "help_user_help"
+#~ msgstr "help_user_help"
+
+#~ msgid "help_user_logout"
+#~ msgstr "help_user_logout"
+
+#~ msgid "help_user_preferences"
+#~ msgstr "help_user_preferences"
+
+#~ msgid "help_user_project"
+#~ msgstr "help_user_project"
+
+#~ msgid "help_user_projects"
+#~ msgstr ""
+#~ "<h2>Mis proyectos</h2><p>Administrar mis proyectos o crear nuevos "
+#~ "proyectos.</p>"
+
+#~ msgid "%s public area"
+#~ msgstr "Zona pública %s"
+
+#~ msgid "All groups on %s"
+#~ msgstr "Todas los grupos en %s"
+
+#~ msgid "All websites on %s"
+#~ msgstr "Todos los sitios web en %s"
+
+#~ msgid "Are you SURE you want DELETE this  subversion repository ?"
+#~ msgstr "¿Está SEGURO(A) que quiere DESTRUIR este repositorio subversion?"
+
+#~ msgid "Current group:"
+#~ msgstr "Grupo actual:"
+
+#~ msgid "Fix permissions in this repository"
+#~ msgstr "Fijar permisos en el repositorio"
+
+#~ msgid "Fix them !"
+#~ msgstr "Fijarlas!"
+
+#~ msgid ""
+#~ "Fixing permissions on a repository solve permission access on the "
+#~ "repository. Can be helpful if you encounter problems"
+#~ msgstr ""
+#~ "Fijar permisos en el repositorio permite solucionar los problemas de "
+#~ "accesos al repositorio. Puede ser de ayuda cuando encuentre un problema"
+
+#~ msgid ""
+#~ "Greetings,\n"
+#~ "\n"
+#~ "You've been added to the list %s on platform %s.\n"
+#~ "\n"
+#~ "You may get some help on listengine by sending an email to %s-request@%s "
+#~ "with subject help.\n"
+#~ "\n"
+#~ "Cheers."
+#~ msgstr ""
+#~ "Bienvenido,\n"
+#~ "\n"
+#~ "Acaba de ser añadido a la lista %s en la plataforma  %s.\n"
+#~ "\n"
+#~ "Puede recibir ayuda sobre el motor de lista enviando un correo a  %s-"
+#~ "request@%s con el título help.\n"
+#~ "\n"
+#~ "Atentamente."
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your %s (%s) on %s has been deleted.\n"
+#~ "\n"
+#~ "This is because it have been refused a long time ago and you didn't\n"
+#~ "submit an update since.\n"
+#~ "\n"
+#~ "For reminder, the reason of refusal was:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "Don't be upset, submit it again if you forgot to update it in time.\n"
+#~ "If you need further information, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your %s (%s) on %s has been deleted.\n"
+#~ "\n"
+#~ "This is because it have been refused a long time ago and you didn't\n"
+#~ "submit an update since.\n"
+#~ "\n"
+#~ "For reminder, the reason of refusal was:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "Don't be upset, submit it again if you forgot to update it in time.\n"
+#~ "If you need further information, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was accepted.\n"
+#~ "Please wait while we are creating your object.\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was accepted.\n"
+#~ "Please wait while we are creating your object.\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was refused.\n"
+#~ "\n"
+#~ "The reason of refusal given by moderators is:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "You can change the description and submit it again for moderation on the\n"
+#~ "panel. You can delete this object on the panel if you have made\n"
+#~ "a mistake. Don't be upset, if you don't understand why your request has\n"
+#~ "been refused, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was refused.\n"
+#~ "\n"
+#~ "The reason of refusal given by moderators is:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "You can change the description and submit it again for moderation on the\n"
+#~ "panel. Puede borrar este objeto de su panel si cometió \n"
+#~ "un error . Don't be upset, if you don't understand why your request has\n"
+#~ "been refused, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid "Homepage of public area"
+#~ msgstr "Portada de la zona pública"
+
+#~ msgid "Last users on %s"
+#~ msgstr "Últimos usuarios en %s"
+
+#~ msgid "Must we redirect the DNS on our servers ?"
+#~ msgstr "Debemos redirigir los DNS a nuestros servidores?"
+
+#~ msgid "No group"
+#~ msgstr "No hay grupos"
+
+#~ msgid "No such group"
+#~ msgstr "El grupo no existe"
+
+#~ msgid "Owned by"
+#~ msgstr "Pertenece a"
+
+#~ msgid "Project home"
+#~ msgstr "Portada del proyecto"
+
+#~ msgid "Selected mailbox doesn't exist for this mail domain"
+#~ msgstr "El buzón seleccionado no existe para este dominio mail"
+
+#~ msgid ""
+#~ "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#~ msgstr ""
+#~ "Esta acción no es reversible. Cuando la destruirá, no podrá cancelar."
+
+#~ msgid "You have to enter a quota greater than the current used quota"
+#~ msgstr "Tiene que ingresar una cuota mayor a la cuota actualmente en uso"
+
 #~ msgid "Alert on Vhffs platform"
 #~ msgstr "Alarma en la plataforma Vhffs"
 
@@ -5312,15 +5459,6 @@
 #~ msgid "CGI ERROR!"
 #~ msgstr "Error CGI"
 
-#~ msgid "CGI Error"
-#~ msgstr "Error CGI"
-
-#~ msgid "CGI Error!"
-#~ msgstr "Error CGI!"
-
-#~ msgid "CGI error"
-#~ msgstr "Error CGI"
-
 #~ msgid "CGI problem"
 #~ msgstr "Problema CGI"
 
@@ -6211,9 +6349,6 @@
 #~ msgid "CVS repository"
 #~ msgstr "CVS repository"
 
-#~ msgid "Create"
-#~ msgstr "Create"
-
 #~ msgid "DB Search"
 #~ msgstr "DB Search"
 
@@ -6743,9 +6878,6 @@
 #~ msgid "February"
 #~ msgstr "Febrero"
 
-#~ msgid "Group not found"
-#~ msgstr "Grupo no encontrado"
-
 #~ msgid "Groupname:"
 #~ msgstr "Nombre del grupo"
 

Modified: branches/vhffs-design/vhffs-intl/fr_FR.po
===================================================================
--- branches/vhffs-design/vhffs-intl/fr_FR.po	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/fr_FR.po	2010-03-14 17:55:02 UTC (rev 1557)
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: fr_FR\n"
 "Report-Msgid-Bugs-To: vhffs-dev@xxxxxxxxx\n"
-"POT-Creation-Date: 2008-02-04 10:57+0100\n"
+"POT-Creation-Date: 2009-07-09 13:32+0200\n"
 "PO-Revision-Date: 2008-01-26 21:35+0100\n"
 "Last-Translator: Sylvain Rochet <gradator@xxxxxxxxxxxx>\n"
 "Language-Team: Français <vhffs-dev@xxxxxxxxx>\n"
@@ -24,21 +24,15 @@
 "Plural-Forms:  nplurals=2; plural=(n > 1);\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:68
 msgid "\t\t\t\t   RIGHT can be subscriber or admin\n"
 msgstr "\t\t\t\t    RIGHT peut être inscrit ou admin\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:148 vhffs-api/src/Vhffs/Listengine.pm:164
 #: vhffs-api/src/Vhffs/Listengine.pm:167 vhffs-api/src/Vhffs/Listengine.pm:442
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:148
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:164
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:442
 msgid "\n"
 msgstr "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:425
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:425
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -50,7 +44,6 @@
 "  \"Inscription acceptée %s %s\" \n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:428
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:428
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -61,68 +54,43 @@
 "Avec le sujet suivant :\n"
 "  \"Inscription refusée %s %s\" \n"
 
-#: vhffs-public/groupsearch.pl:79
+#: vhffs-panel/mailinglist/prefs.pl:297
 #, perl-format
-msgid "%d group(s) found"
-msgstr "%d groupe(s) trouvé"
-
-#: vhffs-public/usersearch.pl:80
-#, perl-format
-msgid "%d user(s) found"
-msgstr "%d utilisateur(s) trouvé"
-
-#: vhffs-public/websitesearch.pl:78
-#, perl-format
-msgid "%d websites(s) found"
-msgstr "%d site(s) web(s) trouvé"
-
-#: vhffs-panel/mailinglist/prefs.pl:296
-#, perl-format
 msgid "%s has been added"
 msgstr "%s a été ajouté"
 
-#: vhffs-panel/mailinglist/prefs.pl:294
+#: vhffs-panel/mailinglist/prefs.pl:295
 #, perl-format
 msgid "%s is already a member of this list"
 msgstr "%s est déjà un membre de la liste"
 
-#: vhffs-panel/mail/prefs.pl:195
+#: vhffs-panel/mail/prefs.pl:194
 #, perl-format
 msgid "%s is not a correct mail address"
 msgstr "%s n'est pas une adresse email correcte"
 
-#: vhffs-panel/mailinglist/prefs.pl:292
+#: vhffs-panel/mailinglist/prefs.pl:293
 #, perl-format
 msgid "%s is not a valid mail"
 msgstr "%s n'est pas une adresse email valide"
 
-#: vhffs-public/index.pl:65
+#: vhffs-api/src/Vhffs/Panel/Main.pm:706
 #, perl-format
-msgid "%s public area"
-msgstr "Zone publique de %s"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:710
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:710
-#, perl-format
 msgid "%s's Panel"
 msgstr "Panel de %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:150 vhffs-api/src/Vhffs/Listengine.pm:169
 #: vhffs-api/src/Vhffs/Listengine.pm:444
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:169
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:444
 #, perl-format
 msgid "%s-request@%s with subject \"help\"\n"
 msgstr "%s-request@%s Avec pour sujet \"help\"\n"
 
-#: vhffs-panel/dns/prefs.pl:312
+#: vhffs-panel/dns/prefs.pl:314
 #, perl-format
 msgid "@ represents the origin (%s)"
 msgstr "@ représente l'origine (%s)"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:299
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:303
 msgid ""
 "A CNAME, A or AAAA record with the same name already exists for this domain"
 msgstr ""
@@ -137,8 +105,11 @@
 msgid "A Record updated"
 msgstr "Enregistrement A mis à jour"
 
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:347
+msgid "A TXT record with the same name already exists for this domain"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:404
 #, perl-format
 msgid ""
 "A mail to moderate is on the following mailing list:\n"
@@ -150,7 +121,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:421
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:421
 #, perl-format
 msgid ""
 "A new person wants to subscribe to the following mailing list:\n"
@@ -193,41 +163,41 @@
 msgid "ACL updated"
 msgstr "ACL mise à jour"
 
-#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
+#: vhffs-panel/cron/create.pl:108
+msgid "Absolute path of the command to run"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:88 vhffs-panel/admin/moderation.pl:115
 msgid "Accept"
 msgstr "Accepter"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:185 vhffs-api/src/Vhffs/Panel/Main.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:206
+#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
 msgid "Access denied"
 msgstr "Accès refusé"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:68
 msgid "Access to panel"
 msgstr "Accéder au panel"
 
-#: vhffs-panel/mail/prefs.pl:111
+#: vhffs-panel/mail/prefs.pl:110
 msgid "Accounts"
 msgstr "Comptes"
 
-#: vhffs-panel/user/prefs.pl:411
+#: vhffs-panel/user/prefs.pl:428
 #, perl-format
 msgid "Activate %s@%s email"
 msgstr "Activer l'adresse email %s@%s"
 
-#: vhffs-intl/extra_strings.pl:25 vhffs-api/src/Vhffs/Panel/Object.pm:125
-#: vhffs-panel/admin/object/edit.pl:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:125
+#: vhffs-panel/admin/object/edit.pl:118
+#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 msgid "Activated"
 msgstr "Activé"
 
-#: vhffs-panel/group/prefs.pl:150 vhffs-panel/group/prefs.pl:240
+#: vhffs-panel/group/prefs.pl:155 vhffs-panel/group/prefs.pl:253
 msgid "Add"
 msgstr "Ajouter"
 
-#: vhffs-panel/dns/prefs.pl:265
+#: vhffs-panel/dns/prefs.pl:264
 msgid "Add !"
 msgstr "Ajouter !"
 
@@ -235,7 +205,7 @@
 msgid "Add a CNAME field to your domain"
 msgstr "Ajouter un champ CNAME à votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:270
+#: vhffs-panel/dns/prefs.pl:269
 msgid "Add a MX field to your domain"
 msgstr "Ajouter un champ MX à votre domaine"
 
@@ -243,47 +213,47 @@
 msgid "Add a NS field to your domain"
 msgstr "Ajouter un champ NS à votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:292
+#: vhffs-panel/dns/prefs.pl:293
 msgid "Add a SRV record to your domain"
 msgstr "Ajouter un enregistrement SRV à votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:304
+#: vhffs-panel/dns/prefs.pl:306
 msgid "Add a TXT record"
 msgstr "Ajouter un enregistrement TXT"
 
-#: vhffs-panel/mail/prefs.pl:122 vhffs-panel/mail/prefs.pl:132
+#: vhffs-panel/mail/prefs.pl:121 vhffs-panel/mail/prefs.pl:131
 msgid "Add a forward on this domain"
 msgstr "Ajouter une redirection sur ce domaine"
 
-#: vhffs-panel/mail/prefs.pl:131
+#: vhffs-panel/mail/prefs.pl:130
 msgid "Add a popbox to this domain"
 msgstr "Ajouter une boîte mail sur ce domaine"
 
-#: vhffs-panel/group/prefs.pl:239
+#: vhffs-panel/group/prefs.pl:252
 msgid "Add a user in this group"
 msgstr "Ajouter un utilisateur dans ce groupe"
 
-#: vhffs-panel/dns/prefs.pl:238
+#: vhffs-panel/dns/prefs.pl:237
 msgid "Add an A record"
 msgstr "Ajouter un enregistrement de type A"
 
-#: vhffs-panel/dns/prefs.pl:239
+#: vhffs-panel/dns/prefs.pl:238
 msgid "Add an AAAA record"
 msgstr "Ajouter un enregistrement de type AAAA"
 
-#: vhffs-panel/mail/prefs.pl:113
+#: vhffs-panel/mail/prefs.pl:112
 msgid "Add an account"
 msgstr "Ajouter un compte"
 
-#: vhffs-panel/mailinglist/prefs.pl:148
+#: vhffs-panel/mailinglist/prefs.pl:147
 msgid "Add members"
 msgstr "Ajouter les membres"
 
-#: vhffs-panel/mailinglist/prefs.pl:150
+#: vhffs-panel/mailinglist/prefs.pl:149
 msgid "Add them !"
 msgstr "Ajoutez les !"
 
-#: vhffs-panel/user/prefs.pl:307 vhffs-panel/subscribe.pl:230
+#: vhffs-panel/user/prefs.pl:324 vhffs-panel/subscribe.pl:245
 msgid "Address"
 msgstr "Adresse"
 
@@ -291,83 +261,73 @@
 msgid "Address (ServerName directive)"
 msgstr "Adresse (Nom de domaine)"
 
-#: vhffs-panel/web/prefs.pl:95
+#: vhffs-panel/web/prefs.pl:92
 msgid "Address (Servername)"
 msgstr "Adresse (directive ServerName)"
 
-#: vhffs-panel/user/prefs.pl:138
+#: vhffs-panel/user/prefs.pl:140
 msgid "Address is not correct !"
 msgstr "L'adresse est invalide !"
 
-#: vhffs-panel/mailinglist/prefs.pl:149
+#: vhffs-panel/mailinglist/prefs.pl:148
 msgid "Addresses (one per line)"
 msgstr "Adresses (une par ligne)"
 
-#: vhffs-intl/template_strings.pl:79
-msgid "Admin"
-msgstr "Administration"
-
-#: vhffs-panel/cvs/prefs.pl:107
+#: vhffs-panel/cvs/prefs.pl:94
 msgid "Admin CVS Repository"
 msgstr "Administration des dépôts CVS"
 
-#: vhffs-panel/repository/prefs.pl:81
+#: vhffs-panel/repository/prefs.pl:80
 msgid "Admin Download repository"
 msgstr "Administration des espaces de téléchargement"
 
-#: vhffs-panel/git/prefs.pl:96
+#: vhffs-panel/git/prefs.pl:93
 msgid "Admin Git Repository"
 msgstr "Administration des dépôts Git"
 
-#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:112
-#: vhffs-panel/dns/prefs.pl:245 vhffs-panel/svn/prefs.pl:104
-#: vhffs-panel/web/prefs.pl:103
+#: vhffs-panel/mysql/prefs.pl:106 vhffs-panel/cron/prefs.pl:144
+#: vhffs-panel/svn/prefs.pl:105 vhffs-panel/dns/prefs.pl:244
+#: vhffs-panel/mail/prefs.pl:142 vhffs-panel/git/prefs.pl:109
+#: vhffs-panel/web/prefs.pl:100
 msgid "Admin Rights on this object (ACL)"
 msgstr "Droits d'admin sur cet objet (ACL)"
 
-#: vhffs-panel/svn/prefs.pl:87
+#: vhffs-panel/svn/prefs.pl:88
 msgid "Admin Subversion Repository"
 msgstr "Administration des dépôts Subversion"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:426
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:426
+#: vhffs-api/src/Vhffs/Panel/Main.pm:416
 msgid "Admin account"
 msgstr "Compte administrateur"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:96
+#: vhffs-api/src/Vhffs/Panel/Object.pm:95
 msgid "Admin part"
 msgstr "Partie admin"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:430
-#: vhffs-panel/admin/index.pl:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:430
+#: vhffs-panel/admin/index.pl:55 vhffs-api/src/Vhffs/Panel/Main.pm:417
+#: vhffs-api/src/Vhffs/Panel/Main.pm:420
 msgid "Administration"
 msgstr "Administration"
 
-#: vhffs-panel/mailinglist/prefs.pl:99
+#: vhffs-panel/mailinglist/prefs.pl:98
 #, perl-format
 msgid "Administration for list %s"
 msgstr "Administration de la liste %s"
 
-#: vhffs-intl/template_strings.pl:86
-msgid "Administrator"
-msgstr "Administrateur"
+#: vhffs-panel/admin/tag/category/create.pl:75
+#: vhffs-panel/admin/tag/category/edit.pl:86
+msgid "Administrators"
+msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:116
+#: vhffs-panel/mailinglist/prefs.pl:115
 msgid "Admins only"
 msgstr "Aministrateurs seuls"
 
-#: vhffs-public/allgroups.pl:74 vhffs-public/allwebsites.pl:74
-msgid "All"
-msgstr "Tous"
-
-#: vhffs-panel/dns/prefs.pl:232
+#: vhffs-panel/dns/prefs.pl:231
 msgid "All A TYPE for your domain name"
 msgstr "Enregistrements A pour votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:233
+#: vhffs-panel/dns/prefs.pl:232
 msgid "All AAAA TYPE for your domain name"
 msgstr "Enregistrement AAAA pour votre domaine"
 
@@ -375,15 +335,11 @@
 msgid "All CNAME TYPE for your domain name"
 msgstr "Enregistrements CNAME pour votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:235
+#: vhffs-panel/dns/prefs.pl:234
 msgid "All CNAME for your domain name"
 msgstr "Enregistrements CNAME pour votre domaine"
 
-#: vhffs-intl/template_strings.pl:28
-msgid "All Groups"
-msgstr "Tous les groupes"
-
-#: vhffs-panel/dns/prefs.pl:234 vhffs-panel/dns/prefs.pl:269
+#: vhffs-panel/dns/prefs.pl:233 vhffs-panel/dns/prefs.pl:268
 msgid "All MX TYPE for your domain name"
 msgstr "Tous les champs MX pour votre domaine"
 
@@ -391,7 +347,7 @@
 msgid "All NS TYPE for your domain name"
 msgstr "Tous les enregistrements NS pour votre domaine"
 
-#: vhffs-panel/dns/prefs.pl:291
+#: vhffs-panel/dns/prefs.pl:292
 msgid "All SRV records for your domain name"
 msgstr "Enregistrements SRV pour votre domaine"
 
@@ -399,16 +355,11 @@
 msgid "All Subversion repositories lists"
 msgstr "Liste de tous les dépôts Subversion"
 
-#: vhffs-panel/dns/prefs.pl:305
+#: vhffs-panel/dns/prefs.pl:307
 msgid "All TXT records for your domain name"
 msgstr "Enregistrements TXT pour votre domaine"
 
-#: vhffs-intl/template_strings.pl:34
-msgid "All Websites"
-msgstr "Tous les sites webs"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:48
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:48
 msgid "All commands can be sent as mail subject.\n"
 msgstr "Toutes les commandes peuvent être envoyées en sujet d'un mail.\n"
 
@@ -416,52 +367,38 @@
 msgid "All git repositories lists"
 msgstr "Tout les dépôts"
 
-#: vhffs-public/allgroups.pl:72
-#, perl-format
-msgid "All groups on %s"
-msgstr "Tous les groupes sur %s"
-
-#: vhffs-panel/admin/broadcast_list.pl:77
+#: vhffs-panel/admin/broadcast_list.pl:75
 msgid "All mailings sent to hosted"
 msgstr "Tous les mailings envoyés aux hébergés"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:50
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:50
 msgid ""
 "All mails with commands must be sent on YOURLIST-request@xxxxxxxxxx list.\n"
 msgstr ""
 "Tous les mails contenant des commandes doivent être envoyés à l'adresse "
 "VOTRELISTE-request@xxxxxxxxxx.\n"
 
-#: vhffs-panel/admin/object/list.pl:85
+#: vhffs-panel/admin/object/list.pl:83
 msgid "All objects List"
 msgstr "Liste de tous les objets"
 
-#: vhffs-panel/group/prefs.pl:257
+#: vhffs-panel/group/prefs.pl:270
 msgid "All users in this group"
 msgstr "Utilisateurs dans ce groupe"
 
-#: vhffs-public/allwebsites.pl:72
-#, perl-format
-msgid "All websites on %s"
-msgstr "Sites web sur %s"
-
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:251
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:251
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:252
 msgid "An MX record with the same name already exists for this domain"
 msgstr "Un enregistrement MX avec le même nom existe déjà pour ce domaine."
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:274
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:274
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:277
 msgid "An NS record with the same name already exists for this domain"
 msgstr "Un enregistrement NS avec le même nom existe déjà pour ce domaine."
 
-#: vhffs-panel/cvs/prefs.pl:87 vhffs-panel/cvs/prefs.pl:100
+#: vhffs-panel/cvs/prefs.pl:87
 msgid "An error occured during CVS repository update"
 msgstr "Une erreur est survenue lors de la mise à jour du CVS"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:493
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:493
 #, perl-format
 msgid ""
 "An error occured during your approval of subscription of:\n"
@@ -477,7 +414,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:194
 #, perl-format
 msgid ""
 "An error occured during your subscription to the following list:\n"
@@ -489,29 +425,29 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/user/prefs.pl:217
+#: vhffs-panel/user/prefs.pl:223
 msgid "An error occured while adding the box"
 msgstr "Une erreur est survenue lors de l'ajout de la boîte"
 
-#: vhffs-panel/user/prefs.pl:219
+#: vhffs-panel/user/prefs.pl:225
 msgid "An error occured while adding the box (anti-spam adding)"
 msgstr "Une erreur est survenue lors de l'ajout de la protection anti-spam"
 
-#: vhffs-panel/user/prefs.pl:221
+#: vhffs-panel/user/prefs.pl:227
 msgid "An error occured while adding the box (anti-virus adding)"
 msgstr "Une erreur est survenue lors de l'ajout de l'anti-virus"
 
-#: vhffs-panel/user/prefs.pl:266
+#: vhffs-panel/user/prefs.pl:272
 msgid "An error occured while adding the forwarding"
 msgstr "Une erreur est survenue lors de l'ajout de la redirection"
 
-#: vhffs-panel/user/delete.pl:83
+#: vhffs-panel/user/delete.pl:81
 msgid "An error occured while applying changes. This user will NOT be deleted"
 msgstr ""
 "Une erreur est survenue lors de l'enregistrement des modifications."
 "L'utilisateur NE sera PAS supprimé."
 
-#: vhffs-panel/web/delete.pl:92
+#: vhffs-panel/web/delete.pl:90
 msgid ""
 "An error occured while applying changes. This web area will NOT be deleted"
 msgstr ""
@@ -522,7 +458,7 @@
 msgid "An error occured while creating the git repository"
 msgstr "Une erreur est survenue lors de la mise a jour du dépôt Git"
 
-#: vhffs-panel/mail/create.pl:83
+#: vhffs-panel/mail/create.pl:84
 msgid "An error occured while creating the mail area"
 msgstr "Une erreur est survenue lors de la création du domaine mail"
 
@@ -534,7 +470,7 @@
 "Une erreur est survenue lors de la création de cet objet. Veuillez verifier "
 "que ce groupe n'a pas déjà un dépôt de téléchargements"
 
-#: vhffs-panel/dns/create.pl:60
+#: vhffs-panel/dns/create.pl:61
 msgid ""
 "An error occured while creating the object. The domain is not correct or "
 "aleady exists in Vhffs database"
@@ -542,7 +478,7 @@
 "Une erreur est survenue lors de la création de l'objet. Le domaine est "
 "incorrect ou existe déjà sur cette plate-forme"
 
-#: vhffs-panel/cvs/create.pl:92 vhffs-panel/mailinglist/create.pl:92
+#: vhffs-panel/mailinglist/create.pl:92 vhffs-panel/cvs/create.pl:92
 msgid "An error occured while creating the object.It probably already exists"
 msgstr ""
 "Une erreur est survenue lors de la création de cet objet. Il existe "
@@ -552,24 +488,24 @@
 msgid "An error occured while creating the svn repository"
 msgstr "Une erreur est survenue lors de la création du dépôt SVN"
 
-#: vhffs-panel/cvs/delete.pl:93
+#: vhffs-panel/cvs/delete.pl:92
 msgid "An error occured while deleting the CVS repository"
 msgstr "Une erreur est survenue lors de la suppression du dépôt CVS"
 
-#: vhffs-panel/repository/delete.pl:95
+#: vhffs-panel/repository/delete.pl:94
 msgid "An error occured while deleting the Download repository"
 msgstr ""
 "Une erreur est survenue lors de la suppression de l'espace de téléchargement"
 
-#: vhffs-panel/svn/delete.pl:94
+#: vhffs-panel/svn/delete.pl:93
 msgid "An error occured while deleting the Subversion repository"
 msgstr "Une erreur est survenue lors de la suppression du dépôt Subversion"
 
-#: vhffs-panel/git/delete.pl:99
+#: vhffs-panel/git/delete.pl:98
 msgid "An error occured while deleting the git repository"
 msgstr "Une erreur est survenue lors de la suppression du dépôt Git"
 
-#: vhffs-panel/admin/broadcast_delete.pl:96
+#: vhffs-panel/admin/broadcast_delete.pl:92
 msgid "An error occured while deleting this mailing"
 msgstr "Une erreur est survenue lors de la suppression du mailing"
 
@@ -577,12 +513,15 @@
 msgid "An error occured while deleting this object."
 msgstr "Une erreur est survenue lors de la suppression de cet objet"
 
-#: vhffs-panel/user/prefs.pl:275
+#: vhffs-panel/group/prefs.pl:414
+msgid "An error occured while saving your request"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:281
 msgid "An error occured while the forwarding"
 msgstr "Une erreur est survenue lors de l'ajout de la redirection"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:285
 #, perl-format
 msgid ""
 "An error occured while updating language for the following address: %s.\n"
@@ -590,19 +529,19 @@
 "Une erreur est survenue lors de la mise à jour de la langue pour l'adresse "
 "suivante : %s.\n"
 
-#: vhffs-panel/mail/prefs.pl:197
+#: vhffs-panel/mail/prefs.pl:196
 msgid "An error occured while updating the mail domain"
 msgstr "Une erreur est survenue lors de la mise à jour du domaine mail"
 
-#: vhffs-panel/admin/object/edit_submit.pl:91
+#: vhffs-panel/admin/object/edit_submit.pl:89
 msgid "An error occured while updating the object"
 msgstr "Une erreur est survenue lors de la mise à jour de l'objet"
 
-#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/delete.pl:83
+#: vhffs-panel/group/prefs.pl:100 vhffs-panel/group/delete.pl:82
 msgid "An error occured while updating the project"
 msgstr "Une erreur est survenue lors de la mise à jour du projet"
 
-#: vhffs-panel/user/prefs.pl:188
+#: vhffs-panel/user/prefs.pl:194
 msgid "An error occured while updating the user account"
 msgstr "Une erreur est survenue lors de la mise à jour du compte utilisateur"
 
@@ -610,15 +549,15 @@
 msgid "An error occured while updating this object."
 msgstr "Une erreur est survenue lors de la mise à jour de cet objet"
 
-#: vhffs-panel/svn/prefs.pl:98
-msgid "Are you SURE you want DELETE this  subversion repository ?"
-msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce dépôt Subversion ?"
+#: vhffs-panel/cron/prefs.pl:151
+msgid "Are you SURE you want DELETE this Cron job ?"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/mail/prefs.pl:136
 msgid "Are you SURE you want DELETE this Mail Area ?"
 msgstr "Êtes-vous CERTAIN de vouloir DÉTRUIRE ce domaine mail ?"
 
-#: vhffs-panel/mysql/prefs.pl:112
+#: vhffs-panel/mysql/prefs.pl:113
 msgid "Are you SURE you want DELETE this MySQL database ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER cette base de données MySQL ?"
 
@@ -627,23 +566,23 @@
 msgstr ""
 "Êtes-vous CERTAIN de vouloir SUPPRIMER cette base de données PostgreSQL ?"
 
-#: vhffs-panel/web/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:107
 msgid "Are you SURE you want DELETE this Web Area ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce site web ?"
 
-#: vhffs-panel/cvs/prefs.pl:117
+#: vhffs-panel/cvs/prefs.pl:104
 msgid "Are you SURE you want DELETE this cvs repository ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce dépôt CVS ?"
 
-#: vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/dns/prefs.pl:252
 msgid "Are you SURE you want DELETE this domain ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce domaine ?"
 
-#: vhffs-panel/repository/prefs.pl:90
+#: vhffs-panel/repository/prefs.pl:89
 msgid "Are you SURE you want DELETE this download repository ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER cet espace de téléchargement ?"
 
-#: vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/git/prefs.pl:103
 msgid "Are you SURE you want DELETE this git repository?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce dépôt Git ?"
 
@@ -651,42 +590,49 @@
 msgid "Are you SURE you want DELETE this mailing list ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER cette liste de diffusion ?"
 
-#: vhffs-panel/group/prefs.pl:214
+#: vhffs-panel/group/prefs.pl:227
 msgid "Are you SURE you want DELETE this project ?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce projet ?"
 
-#: vhffs-panel/user/prefs.pl:327
+#: vhffs-panel/svn/prefs.pl:99
+msgid "Are you SURE you want DELETE this subversion repository ?"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:344
 msgid "Are you SURE you want DELETE this user?"
 msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER cet utilisateur ?"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:100
+#: vhffs-panel/cron/prefs.pl:126
+msgid "As soon as possible"
+msgstr ""
+
+#: vhffs-panel/admin/object/delete_avatar.pl:98
 msgid "Avatar deleted"
 msgstr "Avatar supprimé"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:199
-#: vhffs-panel/admin/object/edit.pl:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:199
+#: vhffs-panel/admin/object/edit.pl:193
+#: vhffs-api/src/Vhffs/Panel/Object.pm:198
 msgid "Avatar management"
 msgstr "Gestion des avatars"
 
-#: vhffs-panel/admin/broadcast_view.pl:97
-#: vhffs-panel/admin/broadcast_list.pl:96
+#: vhffs-panel/admin/broadcast_list.pl:94
+#: vhffs-panel/admin/broadcast_view.pl:95
 msgid "Awaiting sending"
 msgstr "En attente d'envoi"
 
-#: vhffs-panel/subscribe.pl:191 vhffs-panel/subscribe.pl:232
+#: vhffs-panel/subscribe.pl:193 vhffs-panel/subscribe.pl:247
 msgid "Back to Login"
 msgstr "Retour à la page d'authentification"
 
-#: vhffs-intl/template_strings.pl:14 vhffs-panel/lost.pl:59
+#: vhffs-panel/lost.pl:59
 msgid "Back to login page"
 msgstr "Retour à la page d'authentification"
 
-#: vhffs-panel/pgsql/prefs.pl:126 vhffs-panel/mysql/prefs.pl:137
+#: vhffs-panel/mysql/prefs.pl:138 vhffs-panel/pgsql/prefs.pl:126
 msgid "Bad password, should be at least 3 chars"
 msgstr "Mauvais mot de passe, il doit contenir au moins 3 charactères"
 
-#: vhffs-panel/dns/create.pl:73
+#: vhffs-panel/dns/create.pl:74
 msgid ""
 "Be careful ! You must give the reason why you want to host this domain on "
 "our servers."
@@ -704,20 +650,20 @@
 "un espace web sous la forme domaine.tld. VHFFS redirige www.domain.tld vers "
 "domain.tld"
 
-#: vhffs-panel/admin/broadcast_view.pl:89
+#: vhffs-panel/admin/broadcast_view.pl:87
 msgid "Body"
 msgstr "Corps du message"
 
-#: vhffs-panel/mail/prefs.pl:272
+#: vhffs-panel/mail/prefs.pl:271
 #, perl-format
 msgid "Box %s deleted"
 msgstr "La boite %s a été supprimée"
 
-#: vhffs-panel/mail/prefs.pl:239
+#: vhffs-panel/mail/prefs.pl:238
 msgid "Box password updated"
 msgstr "La boite a été mise a jour"
 
-#: vhffs-panel/mail/prefs.pl:216
+#: vhffs-panel/mail/prefs.pl:215
 msgid "Box successfully added"
 msgstr "La boite a été ajoutée"
 
@@ -726,52 +672,70 @@
 "But fortunately we're smart, so just type your login here<br/>and a new "
 "password will be sent to you by email!"
 msgstr ""
-"Mais nous sommes gentils : tapez votre identifiant (« login ») ici<br/> et "
-"un nouveau mot de passe vous sera envoyé par mail"
+"Mais nous sommes gentils : tapez votre identifiant (« login ») ici<br/> et un "
+"nouveau mot de passe vous sera envoyé par mail"
 
-#: vhffs-public/group.pl:72 vhffs-public/user.pl:60 vhffs-public/user.pl:64
-#: vhffs-panel/repository/prefs.pl:68 vhffs-panel/repository/create.pl:77
-#: vhffs-panel/mail/prefs.pl:185 vhffs-panel/mail/prefs.pl:212
-#: vhffs-panel/mail/prefs.pl:233 vhffs-panel/mail/prefs.pl:268
-#: vhffs-panel/mail/prefs.pl:284 vhffs-panel/mail/prefs.pl:300
-#: vhffs-panel/mail/prefs.pl:315 vhffs-panel/mail/delete.pl:75
-#: vhffs-panel/mail/create.pl:74 vhffs-panel/git/prefs.pl:70
-#: vhffs-panel/git/delete.pl:74 vhffs-panel/git/create.pl:79
-#: vhffs-panel/dns/prefs.pl:76 vhffs-panel/dns/delete.pl:79
-#: vhffs-panel/dns/create.pl:49 vhffs-panel/pgsql/prefs.pl:121
-#: vhffs-panel/pgsql/delete.pl:81 vhffs-panel/pgsql/create.pl:82
-#: vhffs-panel/admin/object/edit.pl:80
-#: vhffs-panel/admin/object/edit_submit.pl:78
-#: vhffs-panel/admin/object/delete_avatar.pl:82
+#: vhffs-panel/admin/tag/request/details.pl:68
+#: vhffs-panel/admin/tag/request/details.pl:137 vhffs-public/group.pl:53
+msgid "CGI Error"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:71 vhffs-panel/mysql/prefs.pl:133
+#: vhffs-panel/mysql/create.pl:82 vhffs-panel/mysql/delete.pl:74
+#: vhffs-panel/pgsql/prefs.pl:121 vhffs-panel/pgsql/create.pl:82
+#: vhffs-panel/pgsql/delete.pl:80 vhffs-panel/admin/broadcast_view.pl:77
+#: vhffs-panel/admin/broadcast_submit.pl:80
+#: vhffs-panel/admin/broadcast_delete.pl:80
 #: vhffs-panel/admin/moderation_submit.pl:77
-#: vhffs-panel/admin/broadcast_delete.pl:84
-#: vhffs-panel/admin/broadcast_submit.pl:84
-#: vhffs-panel/admin/broadcast_view.pl:79 vhffs-panel/cvs/prefs.pl:67
-#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/delete.pl:74
-#: vhffs-panel/cvs/create.pl:80 vhffs-panel/group/prefs.pl:84
-#: vhffs-panel/group/prefs.pl:105 vhffs-panel/group/prefs.pl:123
-#: vhffs-panel/group/prefs.pl:164 vhffs-panel/acl/view.pl:85
-#: vhffs-panel/mysql/prefs.pl:70 vhffs-panel/mysql/prefs.pl:132
-#: vhffs-panel/mysql/delete.pl:75 vhffs-panel/mysql/create.pl:82
-#: vhffs-panel/object/resubmit.pl:63 vhffs-panel/object/resubmit.pl:87
-#: vhffs-panel/object/quickdelete.pl:63 vhffs-panel/svn/prefs.pl:66
-#: vhffs-panel/svn/prefs.pl:139 vhffs-panel/svn/delete.pl:73
-#: vhffs-panel/svn/create.pl:79 vhffs-panel/mailinglist/prefs.pl:210
-#: vhffs-panel/mailinglist/prefs.pl:235 vhffs-panel/mailinglist/prefs.pl:256
-#: vhffs-panel/mailinglist/prefs.pl:276 vhffs-panel/mailinglist/delete.pl:79
-#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/web/prefs.pl:130
-#: vhffs-panel/web/create.pl:77 vhffs-panel/user/prefs.pl:114
-#: vhffs-panel/user/prefs.pl:469 vhffs-panel/history.pl:84
+#: vhffs-panel/admin/object/delete_avatar.pl:80
+#: vhffs-panel/admin/object/edit_submit.pl:76
+#: vhffs-panel/admin/object/edit.pl:78 vhffs-panel/history.pl:82
+#: vhffs-panel/mailinglist/prefs.pl:210 vhffs-panel/mailinglist/prefs.pl:235
+#: vhffs-panel/mailinglist/prefs.pl:256 vhffs-panel/mailinglist/prefs.pl:276
+#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/mailinglist/delete.pl:77
+#: vhffs-panel/cron/prefs.pl:70 vhffs-panel/cron/prefs.pl:174
+#: vhffs-panel/cron/create.pl:84 vhffs-panel/cron/delete.pl:74
+#: vhffs-panel/repository/prefs.pl:67 vhffs-panel/repository/create.pl:77
+#: vhffs-panel/user/prefs.pl:116 vhffs-panel/user/prefs.pl:494
+#: vhffs-panel/svn/prefs.pl:67 vhffs-panel/svn/prefs.pl:140
+#: vhffs-panel/svn/create.pl:79 vhffs-panel/svn/delete.pl:72
+#: vhffs-panel/object/quickdelete.pl:62 vhffs-panel/object/resubmit.pl:62
+#: vhffs-panel/object/resubmit.pl:86 vhffs-panel/dns/prefs.pl:76
+#: vhffs-panel/dns/create.pl:50 vhffs-panel/dns/delete.pl:71
+#: vhffs-panel/group/prefs.pl:89 vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:128 vhffs-panel/group/prefs.pl:169
+#: vhffs-panel/mail/prefs.pl:184 vhffs-panel/mail/prefs.pl:211
+#: vhffs-panel/mail/prefs.pl:232 vhffs-panel/mail/prefs.pl:267
+#: vhffs-panel/mail/prefs.pl:283 vhffs-panel/mail/prefs.pl:299
+#: vhffs-panel/mail/prefs.pl:314 vhffs-panel/mail/create.pl:75
+#: vhffs-panel/mail/delete.pl:73 vhffs-panel/cvs/prefs.pl:67
+#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/create.pl:80
+#: vhffs-panel/cvs/delete.pl:73 vhffs-panel/git/prefs.pl:71
+#: vhffs-panel/git/create.pl:79 vhffs-panel/git/delete.pl:73
+#: vhffs-panel/acl/view.pl:85 vhffs-panel/web/prefs.pl:127
+#: vhffs-panel/web/create.pl:77
 #, perl-format
 msgid "CGI Error !"
 msgstr "Erreur CGI !"
 
-#: vhffs-panel/repository/delete.pl:74
+#: vhffs-panel/repository/delete.pl:73
 #, perl-format
 msgid "CGI Error ! %s"
 msgstr "Erreur CGI %s"
 
-#: vhffs-panel/git/prefs.pl:169
+#: vhffs-panel/admin/tag/category/edit.pl:62
+#: vhffs-panel/admin/tag/create.pl:85 vhffs-panel/admin/tag/edit.pl:63
+msgid "CGI Error!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:90
+#: vhffs-panel/admin/tag/category/edit.pl:106 vhffs-panel/admin/tag/edit.pl:98
+#: vhffs-panel/group/prefs.pl:332 vhffs-panel/group/prefs.pl:365
+#: vhffs-panel/group/prefs.pl:399
+msgid "CGI error"
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:144
 msgid "CGI error !"
 msgstr "Erreur CGI !"
 
@@ -787,30 +751,19 @@
 msgid "CNAME Record updated"
 msgstr "Enregistrement CNAME mis à jour"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:116
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:120
 msgid "CVS"
 msgstr "CVS"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:188
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:188
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:208
 msgid "CVS Admin"
 msgstr "Administration des dépôts CVS"
 
-#: vhffs-intl/template_strings.pl:42
-msgid "CVS Repositories for this group"
-msgstr "Dépôts CVS sur ce groupe"
-
-#: vhffs-intl/extra_strings.pl:41
-msgid "CVS Repository"
-msgstr "Dépôt CVS"
-
 #: vhffs-panel/admin/cvs/list.pl:76
 msgid "CVS Root"
 msgstr "Répertoire racine"
 
-#: vhffs-panel/cvs/index.pl:60
+#: vhffs-panel/cvs/index.pl:61
 #, perl-format
 msgid "CVS repositories for %s"
 msgstr "Dépôts CVS pour %s"
@@ -819,11 +772,11 @@
 msgid "CVS repositories' administration"
 msgstr "Administration des dépôts CVS"
 
-#: vhffs-panel/cvs/prefs.pl:85 vhffs-panel/cvs/prefs.pl:98
+#: vhffs-panel/cvs/prefs.pl:85
 msgid "CVS repository updated"
 msgstr "Dépôt CVS mis à jour"
 
-#: vhffs-panel/admin/stats.pl:120
+#: vhffs-panel/admin/stats.pl:119
 msgid "CVS stats"
 msgstr "Statistiques CVS"
 
@@ -847,7 +800,11 @@
 msgid "Can't access"
 msgstr "Ne peut pas accéder"
 
-#: vhffs-panel/subscribe.pl:184
+#: vhffs-panel/cron/delete.pl:89
+msgid "Cannot apply changes"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:186
 msgid "Cannot apply changes to the user"
 msgstr "Impossible d'appliquer les modifications à cet utilisateur"
 
@@ -855,12 +812,11 @@
 msgid "Cannot apply modifications"
 msgstr "Impossible d'appliquer les modifications"
 
-#: vhffs-panel/mailinglist/delete.pl:103
+#: vhffs-panel/mailinglist/delete.pl:101
 msgid "Cannot commit changes on this object, will NOT be deleted"
 msgstr "Ne peut mettre à jour l'objet, il NE sera PAS détruit"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:352
+#: vhffs-api/src/Vhffs/Panel/Main.pm:357
 msgid ""
 "Cannot create or fetch session file, please check that /tmp is readable and "
 "writeable"
@@ -868,19 +824,19 @@
 "Ne peut créer ou récupérer le fichier de session, merci de vérifier que /tmp "
 "est accessible en lecture et en écriture"
 
-#: vhffs-panel/subscribe.pl:174
+#: vhffs-panel/subscribe.pl:176
 msgid "Cannot create user, the username you entered already exists"
 msgstr ""
 "Impossible de créer l'utilisateur. Le nom d'utilisateur que vous avez entré "
 "est déjà pris"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:96
+#: vhffs-panel/admin/object/delete_avatar.pl:94
 msgid "Cannot delete this avatar"
 msgstr "Impossible de supprimer cet avatar"
 
-#: vhffs-panel/admin/object/edit.pl:85
-#: vhffs-panel/admin/object/edit_submit.pl:82
-#: vhffs-panel/admin/object/delete_avatar.pl:86
+#: vhffs-panel/admin/object/delete_avatar.pl:84
+#: vhffs-panel/admin/object/edit_submit.pl:80
+#: vhffs-panel/admin/object/edit.pl:83
 msgid "Cannot fetch object"
 msgstr "Impossible de lire l'objet"
 
@@ -888,7 +844,7 @@
 msgid "Cannot find object"
 msgstr "Ne peut pas trouver l'objet"
 
-#: vhffs-panel/history.pl:89
+#: vhffs-panel/history.pl:87
 msgid "Cannot get information on this object"
 msgstr "Impossible d'obtenir des informations sur cet objet"
 
@@ -897,28 +853,28 @@
 msgid "Cannot get informations on object #%d"
 msgstr "Impossible d'obtenir des informations sur l'objet #%d"
 
-#: vhffs-panel/repository/prefs.pl:71 vhffs-panel/git/prefs.pl:75
-#: vhffs-panel/dns/prefs.pl:81 vhffs-panel/dns/delete.pl:83
-#: vhffs-panel/pgsql/prefs.pl:68 vhffs-panel/cvs/prefs.pl:70
-#: vhffs-panel/mysql/prefs.pl:75 vhffs-panel/svn/prefs.pl:71
-#: vhffs-panel/mailinglist/delete.pl:83 vhffs-panel/web/prefs.pl:74
-#: vhffs-panel/user/prefs.pl:73
+#: vhffs-panel/mysql/prefs.pl:76 vhffs-panel/pgsql/prefs.pl:68
+#: vhffs-panel/mailinglist/delete.pl:81 vhffs-panel/cron/prefs.pl:75
+#: vhffs-panel/repository/prefs.pl:70 vhffs-panel/user/prefs.pl:74
+#: vhffs-panel/svn/prefs.pl:72 vhffs-panel/dns/prefs.pl:81
+#: vhffs-panel/dns/delete.pl:75 vhffs-panel/cvs/prefs.pl:70
+#: vhffs-panel/git/prefs.pl:76 vhffs-panel/web/prefs.pl:71
 msgid "Cannot get informations on this object"
 msgstr "Impossible d'obtenir des informations sur cet objet"
 
-#: vhffs-panel/admin/stats.pl:74
+#: vhffs-panel/admin/stats.pl:73
 msgid "Cannot get statistics"
 msgstr "Impossible d'obtenir les statistiques"
 
-#: vhffs-panel/cvs/delete.pl:78
+#: vhffs-panel/cvs/delete.pl:77
 msgid "Cannot retrieve informations about this CVS repository"
 msgstr "Impossible d'obtenir des informations à propos de ce dépôt CVS"
 
-#: vhffs-panel/repository/delete.pl:78
+#: vhffs-panel/repository/delete.pl:77
 msgid "Cannot retrieve informations about this Download repository"
 msgstr "Impossible d'obtenir des informations sur cet espace de téléchargement"
 
-#: vhffs-panel/git/delete.pl:78 vhffs-panel/svn/delete.pl:77
+#: vhffs-panel/svn/delete.pl:76 vhffs-panel/git/delete.pl:77
 msgid "Cannot retrieve informations about this repository"
 msgstr "Impossible de consulter ce dépôt"
 
@@ -926,117 +882,144 @@
 msgid "Cannot send message, CGI error..."
 msgstr "Impossible d'envoyer le message, erreur CGI..."
 
-#: vhffs-panel/mail/prefs.pl:105
+#: vhffs-panel/mail/prefs.pl:104
 msgid "Catchall address"
 msgstr "Adresse de type catchall"
 
-#: vhffs-panel/mail/prefs.pl:199
+#: vhffs-panel/mail/prefs.pl:198
 msgid "Catchall address successfully changed"
 msgstr "Adresse de type catchall modifiée avec succès"
 
-#: vhffs-panel/mail/prefs.pl:180
+#: vhffs-panel/mail/prefs.pl:179
 msgid "Catchall isn't enabled on this platform"
 msgstr "Le catchall n'est pas activé sur ce service"
 
-#: vhffs-panel/mail/prefs.pl:108
+#: vhffs-panel/mail/prefs.pl:107
 msgid "Catchall mail"
 msgstr "Catchall mail"
 
-#: vhffs-intl/template_strings.pl:55
-msgid "Change Forward"
-msgstr "Modifier la redirection"
+#: vhffs-panel/admin/tag/create.pl:68
+msgid "Category"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:57
-msgid "Change Password"
-msgstr "Modifier le mot de passe"
+#: vhffs-panel/group/prefs.pl:404
+msgid "Category can't be empty"
+msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:130
+#: vhffs-panel/admin/tag/category/list.pl:59
+msgid "Category deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:107
+msgid "Category does not exists"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:173
+msgid "Category not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:65
+msgid "Category not found!"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:129
 msgid "Change catchall forward"
 msgstr "Changer la redirection catchall"
 
-#: vhffs-intl/template_strings.pl:80
-msgid "Change rights"
-msgstr "Changer les droits"
-
-#: vhffs-panel/user/prefs.pl:237
+#: vhffs-panel/user/prefs.pl:243
 msgid "Change spam protection status for your account\n"
 msgstr "Activer/désactiver la protection anti-spam pour ce compte\n"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:94 vhffs-panel/admin/su.pl:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:94
+#: vhffs-panel/admin/su.pl:72 vhffs-api/src/Vhffs/Panel/Admin.pm:94
 msgid "Change user-id"
 msgstr "Changer d'identifiant utilisateur"
 
-#: vhffs-panel/user/prefs.pl:248
+#: vhffs-panel/user/prefs.pl:254
 msgid "Changed anti-virus status for your account\n"
 msgstr "Paramètres anti-virus mis à jour\n"
 
-#: vhffs-panel/user/prefs.pl:306 vhffs-panel/subscribe.pl:228
+#: vhffs-panel/user/prefs.pl:323 vhffs-panel/subscribe.pl:243
 msgid "City"
 msgstr "Ville"
 
-#: vhffs-panel/user/prefs.pl:126
+#: vhffs-panel/user/prefs.pl:128
 msgid "City is not correct !"
 msgstr "Ville incorrecte !"
 
-#: vhffs-panel/mailinglist/prefs.pl:109
+#: vhffs-panel/mailinglist/prefs.pl:108
 msgid "Closed"
 msgstr "Fermées"
 
-#: vhffs-panel/subscribe.pl:238
+#: vhffs-panel/subscribe.pl:257
 msgid "Code confirmation"
 msgstr "Code de confirmation"
 
-#: vhffs-panel/subscribe.pl:251
-msgid "Or listen to the code"
-msgstr "Ou écoutez le code"
-
 #: vhffs-panel/subscribe.pl:107
 msgid "Codes do not match"
 msgstr "Les codes ne correspondent pas"
 
-#: vhffs-panel/user/prefs.pl:310
+#: vhffs-panel/cron/prefs.pl:139
+msgid "Collided, something went wrong, recovering"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:327
 msgid "Confirm Password"
 msgstr "Confirmation du mot de passe"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:241
 msgid "Confirmation code was wrong.\n"
 msgstr "Le code de confirmation était faux.\n"
 
-#: vhffs-panel/subscribe.pl:240
+#: vhffs-panel/subscribe.pl:259
 msgid "Confirmation code, contact administrator team if you can't read it"
 msgstr ""
 "Code de validation, contactez l'équipe d'administration si vous ne pouvez "
 "pas le lire."
 
-#: vhffs-panel/mail/prefs.pl:237
+#: vhffs-panel/mail/prefs.pl:236
 msgid "Could not change box password"
 msgstr "Impossible de changer le mot de passe de la boite"
 
-#: vhffs-panel/mail/prefs.pl:252
+#: vhffs-panel/mail/prefs.pl:251
 #, perl-format
 msgid "Could not update antivirus status for box %s"
 msgstr "Impossible de changer la protection antivirus de la boite %s"
 
-#: vhffs-panel/mail/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:244
 #, perl-format
 msgid "Could not update spam status for box %s"
 msgstr "Impossible de changer la protection spam de cette boite %s"
 
-#: vhffs-panel/user/prefs.pl:308 vhffs-panel/subscribe.pl:229
+#: vhffs-panel/user/prefs.pl:325 vhffs-panel/subscribe.pl:244
 msgid "Country"
 msgstr "Pays"
 
-#: vhffs-panel/user/prefs.pl:135
+#: vhffs-panel/user/prefs.pl:137
 msgid "Country is not correct !"
 msgstr "Le pays est incorrect !"
 
+#: vhffs-panel/admin/tag/category/create.pl:77
+#: vhffs-panel/admin/tag/create.pl:72
+msgid "Create"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:66
+msgid "Create Tag"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:66
+msgid "Create Tag Category"
+msgstr ""
+
 #: vhffs-panel/cvs/create.pl:100
 msgid "Create a CVS Repository"
 msgstr "Créer un dépôt CVS"
 
-#: vhffs-panel/dns/create.pl:68
+#: vhffs-panel/cron/create.pl:104
+msgid "Create a Cron job"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:69
 msgid "Create a DNS"
 msgstr "Créer un DNS"
 
@@ -1052,7 +1035,7 @@
 msgid "Create a PostgreSQL database"
 msgstr "Créer un base de données PostgreSQL"
 
-#: vhffs-panel/group/create.pl:84
+#: vhffs-panel/group/create.pl:98
 msgid "Create a Project"
 msgstr "Créer un groupe/projet"
 
@@ -1064,7 +1047,7 @@
 msgid "Create a git Repository"
 msgstr "Créer un dépôt Git"
 
-#: vhffs-panel/mail/create.pl:90
+#: vhffs-panel/mail/create.pl:91
 msgid "Create a mail space"
 msgstr "Créer un espace mail"
 
@@ -1076,54 +1059,79 @@
 msgid "Create a web space"
 msgstr "Créer un site web"
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:152
+msgid "Create new category"
+msgstr ""
+
 #: vhffs-panel/group/index.pl:63
 msgid "Create new project"
 msgstr "Créer un nouveau projet"
 
-#: vhffs-intl/extra_strings.pl:24 vhffs-api/src/Vhffs/Panel/Object.pm:126
-#: vhffs-panel/admin/object/edit.pl:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:126
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
+msgid "Create new tag"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:119
+#: vhffs-api/src/Vhffs/Panel/Object.pm:125
 msgid "Created"
 msgstr "Créé"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:124
-#: vhffs-panel/admin/object/edit.pl:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:124
+#: vhffs-panel/admin/object/edit.pl:117
+#: vhffs-api/src/Vhffs/Panel/Object.pm:123
 msgid "Creating error"
 msgstr "Erreur de création"
 
-#: vhffs-intl/extra_strings.pl:23
-msgid "Creation error"
-msgstr "Erreur lors de la création"
+#: vhffs-panel/cron/prefs.pl:90
+msgid "Cron job Administration"
+msgstr ""
 
-#: vhffs-panel/group/prefs.pl:247 vhffs-panel/user/prefs.pl:337
+#: vhffs-panel/cron/prefs.pl:189
+msgid "Cron job successfully updated"
+msgstr ""
+
+#: vhffs-panel/cron/index.pl:61
+#, perl-format
+msgid "Cron jobs for %s"
+msgstr ""
+
+#: vhffs-panel/admin/cron/index.pl:56
+msgid "Cron jobs' administration"
+msgstr ""
+
+#: vhffs-panel/admin/cron/list.pl:82
+msgid "Cron path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:77 vhffs-api/src/Vhffs/Panel/Menu.pm:127
+msgid "Crons"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:348
+msgid "Crons Admin"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:354 vhffs-panel/group/prefs.pl:260
 msgid "Current avatar"
 msgstr "Avatar utilisé"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:450
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:450
-msgid "Current group:"
-msgstr "Groupe actuel :"
-
-#: vhffs-panel/admin/pgsql/list.pl:76 vhffs-panel/admin/mysql/list.pl:82
+#: vhffs-panel/admin/mysql/list.pl:82 vhffs-panel/admin/pgsql/list.pl:76
 msgid "DB Name"
 msgstr "Nom de la base"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:293
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:313
 msgid "DNS Admin"
 msgstr "Administration DNS"
 
-#: vhffs-panel/dns/prefs.pl:227
+#: vhffs-panel/dns/prefs.pl:226
 #, perl-format
 msgid "DNS Administration - %s"
 msgstr "Administration DNS - %s"
 
-#: vhffs-panel/dns/create.pl:74
+#: vhffs-panel/dns/create.pl:75
 msgid "DNS servers:"
 msgstr "Serveurs DNS :"
 
-#: vhffs-panel/admin/stats.pl:112
+#: vhffs-panel/admin/stats.pl:111
 msgid "DNS stats"
 msgstr "Statistiques DNS"
 
@@ -1131,45 +1139,30 @@
 msgid "DNS' administration"
 msgstr "Administration DNS"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:210 vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:240 vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:264 vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:287 vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:343 vhffs-api/src/Vhffs/Panel/DNS.pm:355
-#: vhffs-panel/ajax/help.pl:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:162
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:264
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:287
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:316
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:343
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:355
+#: vhffs-panel/ajax/help.pl:49 vhffs-api/src/Vhffs/Panel/DNS.pm:163
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:199 vhffs-api/src/Vhffs/Panel/DNS.pm:211
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:229 vhffs-api/src/Vhffs/Panel/DNS.pm:241
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:253 vhffs-api/src/Vhffs/Panel/DNS.pm:266
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:278 vhffs-api/src/Vhffs/Panel/DNS.pm:291
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:304 vhffs-api/src/Vhffs/Panel/DNS.pm:321
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:336 vhffs-api/src/Vhffs/Panel/DNS.pm:348
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:360
 msgid "Database error"
 msgstr "Erreur de base de données"
 
-#: vhffs-panel/pgsql/delete.pl:85
+#: vhffs-panel/pgsql/delete.pl:84
 msgid "Database will NOT be deleted !"
 msgstr "La base de données NE sera PAS supprimée"
 
-#: vhffs-panel/pgsql/delete.pl:97
+#: vhffs-panel/pgsql/delete.pl:96
 msgid "Database will be DELETE"
 msgstr "La base de données sera supprimée"
 
-#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/group/history.pl:77
+#: vhffs-panel/admin/broadcast_view.pl:84 vhffs-panel/group/history.pl:78
 msgid "Date"
 msgstr "Date"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:100 vhffs-panel/admin/object/edit.pl:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:100
+#: vhffs-panel/admin/object/edit.pl:94 vhffs-api/src/Vhffs/Panel/Object.pm:99
 msgid "Date of creation"
 msgstr "Date de création"
 
@@ -1177,93 +1170,83 @@
 msgid "Default"
 msgstr "Défaut"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:810 vhffs-panel/repository/prefs.pl:93
-#: vhffs-panel/mail/prefs.pl:140 vhffs-panel/git/prefs.pl:109
-#: vhffs-panel/dns/prefs.pl:256 vhffs-panel/dns/prefs.pl:313
-#: vhffs-panel/dns/prefs.pl:325 vhffs-panel/dns/prefs.pl:338
-#: vhffs-panel/dns/prefs.pl:350 vhffs-panel/dns/prefs.pl:366
-#: vhffs-panel/dns/prefs.pl:377 vhffs-panel/dns/prefs.pl:393
-#: vhffs-panel/pgsql/prefs.pl:103 vhffs-panel/cvs/prefs.pl:120
-#: vhffs-panel/group/index.pl:65 vhffs-panel/group/prefs.pl:217
-#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/svn/prefs.pl:101
-#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/web/prefs.pl:113
-#: vhffs-panel/user/prefs.pl:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:810
+#: vhffs-panel/mysql/prefs.pl:116 vhffs-panel/pgsql/prefs.pl:103
+#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/cron/prefs.pl:154
+#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/user/prefs.pl:347
+#: vhffs-panel/svn/prefs.pl:102 vhffs-panel/dns/prefs.pl:255
+#: vhffs-panel/dns/prefs.pl:315 vhffs-panel/dns/prefs.pl:327
+#: vhffs-panel/dns/prefs.pl:340 vhffs-panel/dns/prefs.pl:352
+#: vhffs-panel/dns/prefs.pl:368 vhffs-panel/dns/prefs.pl:379
+#: vhffs-panel/dns/prefs.pl:395 vhffs-panel/group/prefs.pl:230
+#: vhffs-panel/group/index.pl:65 vhffs-panel/mail/prefs.pl:139
+#: vhffs-panel/cvs/prefs.pl:107 vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/web/prefs.pl:110 vhffs-api/src/Vhffs/Panel/Main.pm:809
 msgid "Delete"
 msgstr "Supprimer"
 
-#: vhffs-panel/user/prefs.pl:325
+#: vhffs-panel/user/prefs.pl:342
 msgid "Delete YOUR user"
 msgstr "Supprimer votre compte utilisateur"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:200
-#: vhffs-panel/admin/object/edit.pl:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:200
+#: vhffs-panel/admin/object/edit.pl:194
+#: vhffs-api/src/Vhffs/Panel/Object.pm:199
 msgid "Delete avatar for this object"
 msgstr "Supprimer l'avatar de cet objet"
 
-#: vhffs-intl/template_strings.pl:81
-msgid "Delete from list"
-msgstr "Supprimer de la liste"
-
 #: vhffs-panel/pgsql/prefs.pl:98
 msgid "Delete this PostgreSQL database"
 msgstr "Supprimer cette base de données PostgreSQL"
 
-#: vhffs-panel/mysql/prefs.pl:110
+#: vhffs-panel/cron/prefs.pl:149
+msgid "Delete this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:111
 msgid "Delete this database"
 msgstr "Supprimer cette base de données"
 
-#: vhffs-panel/dns/prefs.pl:251
+#: vhffs-panel/dns/prefs.pl:250
 msgid "Delete this domain name from the VHFFS platform"
 msgstr "Supprimer ce nom de domaine"
 
-#: vhffs-intl/template_strings.pl:56
-msgid "Delete this forward"
-msgstr "Supprimer cette redirection"
-
 #: vhffs-panel/mailinglist/prefs.pl:178
 msgid "Delete this list"
 msgstr "Supprimer cette liste"
 
-#: vhffs-panel/mail/prefs.pl:135
+#: vhffs-panel/mail/prefs.pl:134
 msgid "Delete this mail domain"
 msgstr "Supprimer ce domaine de mail"
 
-#: vhffs-panel/admin/broadcast_list.pl:89
+#: vhffs-panel/admin/broadcast_list.pl:87
 msgid "Delete this mailing"
 msgstr "Supprimer cet envoi en masse"
 
-#: vhffs-panel/repository/prefs.pl:88 vhffs-panel/cvs/prefs.pl:115
-#: vhffs-panel/group/prefs.pl:212
+#: vhffs-panel/repository/prefs.pl:87 vhffs-panel/group/prefs.pl:225
+#: vhffs-panel/cvs/prefs.pl:102
 msgid "Delete this project"
 msgstr "Supprimer ce groupe/projet"
 
-#: vhffs-panel/git/prefs.pl:104 vhffs-panel/svn/prefs.pl:96
+#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/git/prefs.pl:101
 msgid "Delete this repository"
 msgstr "Supprimer ce dépôt"
 
-#: vhffs-panel/web/prefs.pl:108
+#: vhffs-panel/web/prefs.pl:105
 msgid "Delete this web area"
 msgstr "Supprimer ce site web"
 
-#: vhffs-intl/template_strings.pl:3 vhffs-intl/template_strings.pl:5
-#: vhffs-intl/template_strings.pl:40 vhffs-api/src/Vhffs/Panel/Object.pm:102
-#: vhffs-panel/repository/create.pl:98 vhffs-panel/git/create.pl:103
-#: vhffs-panel/dns/create.pl:79 vhffs-panel/pgsql/create.pl:110
-#: vhffs-panel/admin/object/edit.pl:98 vhffs-panel/admin/moderation.pl:88
-#: vhffs-panel/cvs/create.pl:108 vhffs-panel/group/create.pl:91
-#: vhffs-panel/mysql/create.pl:110 vhffs-panel/object/resubmit.pl:128
-#: vhffs-panel/svn/create.pl:102
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:102
+#: vhffs-panel/mysql/create.pl:110 vhffs-panel/pgsql/create.pl:111
+#: vhffs-panel/admin/object/edit.pl:96 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/tag/category/create.pl:69
+#: vhffs-panel/admin/tag/category/edit.pl:80
+#: vhffs-panel/admin/tag/create.pl:71 vhffs-panel/cron/create.pl:118
+#: vhffs-panel/repository/create.pl:98 vhffs-panel/svn/create.pl:102
+#: vhffs-panel/object/resubmit.pl:128 vhffs-panel/dns/create.pl:80
+#: vhffs-panel/group/create.pl:105 vhffs-panel/cvs/create.pl:108
+#: vhffs-panel/git/create.pl:103 vhffs-api/src/Vhffs/Panel/Object.pm:101
 msgid "Description"
 msgstr "Description"
 
-#: vhffs-intl/template_strings.pl:31
-msgid "Description contains"
-msgstr "La description contient"
-
-#: vhffs-panel/web/prefs.pl:99
+#: vhffs-panel/web/prefs.pl:96
 msgid "Description of your webarea"
 msgstr "Description de votre site web"
 
@@ -1271,33 +1254,29 @@
 msgid "Destination"
 msgstr "Destination"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:71
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:120
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:74 vhffs-api/src/Vhffs/Panel/Menu.pm:124
 msgid "Dl repos"
 msgstr "Espaces de téléchargement"
 
-#: vhffs-panel/mail/create.pl:91
+#: vhffs-panel/mail/create.pl:92
 msgid "Domain"
 msgstr "Domaine"
 
-#: vhffs-intl/extra_strings.pl:43 vhffs-panel/dns/create.pl:70
-#: vhffs-panel/admin/mail/list.pl:75 vhffs-panel/admin/dns/list.pl:75
+#: vhffs-panel/admin/dns/list.pl:75 vhffs-panel/admin/mail/list.pl:75
+#: vhffs-panel/dns/create.pl:71
 msgid "Domain Name"
 msgstr "Nom de domaine"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:119
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:123
 msgid "Domain names"
 msgstr "Noms de domaines"
 
-#: vhffs-panel/dns/index.pl:60
+#: vhffs-panel/dns/index.pl:61
 #, perl-format
 msgid "Domain names for %s"
 msgstr "Noms de domaine pour %s"
 
-#: vhffs-panel/git/prefs.pl:121 vhffs-panel/svn/prefs.pl:110
+#: vhffs-panel/svn/prefs.pl:111 vhffs-panel/git/prefs.pl:115
 #, perl-format
 msgid ""
 "Don't forget to subscribe %s to your mailing list if you are filtering posts"
@@ -1305,16 +1284,15 @@
 "N'oubliez pas d'inscrire %s à votre liste de diffusion si vous filtrez les "
 "posts"
 
-#: vhffs-intl/extra_strings.pl:38
-msgid "Download Repository"
-msgstr "Espace de téléchargement"
+#: vhffs-panel/subscribe.pl:271
+msgid "Don't subscribe to the newsletter"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:311
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:331
 msgid "Download repositories Admin"
 msgstr "Administration des Espace de téléchargement"
 
-#: vhffs-panel/repository/index.pl:60
+#: vhffs-panel/repository/index.pl:61
 #, perl-format
 msgid "Download repositories for %s"
 msgstr "Espaces de téléchargement pour %s"
@@ -1327,48 +1305,45 @@
 msgid "Edit"
 msgstr "Éditer"
 
-#: vhffs-panel/admin/object/edit.pl:91
+#: vhffs-panel/admin/object/edit.pl:89
 msgid "Edit Object"
 msgstr "Éditer l'objet"
 
-#: vhffs-panel/admin/object/list.pl:98
+#: vhffs-panel/admin/object/list.pl:96
 msgid "Edit this object"
 msgstr "Éditer cet objet"
 
-#: vhffs-panel/user/prefs.pl:183
+#: vhffs-panel/user/prefs.pl:189
 msgid "Email address changed"
 msgstr "Adresse mail mise à jour"
 
-#: vhffs-panel/user/prefs.pl:129
+#: vhffs-panel/user/prefs.pl:131
 msgid "Email is not correct !"
 msgstr "Adresse mail invalide !"
 
-#: vhffs-intl/template_strings.pl:58
-msgid "Enable anti-spam"
-msgstr "Activer l'anti-spam"
+#: vhffs-panel/cron/create.pl:112
+msgid "Email to which report will be sent if something went wrong"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:61
-msgid "Enable anti-virus"
-msgstr "Activer l'anti-virus"
-
-#: vhffs-panel/mail/prefs.pl:107
+#: vhffs-panel/mail/prefs.pl:106
 msgid "Enter a mail address to catch all email for this domain"
 msgstr ""
 "Entrez une adresse mail valide qui recevra tous les emails pour ce domaine"
 
-#: vhffs-panel/repository/index.pl:53 vhffs-panel/mail/index.pl:53
-#: vhffs-panel/git/index.pl:54 vhffs-panel/dns/index.pl:53
-#: vhffs-panel/pgsql/index.pl:53 vhffs-panel/cvs/index.pl:53
-#: vhffs-panel/mysql/index.pl:53 vhffs-panel/svn/index.pl:53
-#: vhffs-panel/mailinglist/index.pl:53 vhffs-panel/web/index.pl:53
+#: vhffs-panel/mysql/index.pl:54 vhffs-panel/pgsql/index.pl:54
+#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/cron/index.pl:54
+#: vhffs-panel/repository/index.pl:54 vhffs-panel/svn/index.pl:54
+#: vhffs-panel/dns/index.pl:54 vhffs-panel/mail/index.pl:54
+#: vhffs-panel/cvs/index.pl:54 vhffs-panel/git/index.pl:55
+#: vhffs-panel/web/index.pl:54
 msgid "Error"
 msgstr "Erreur"
 
-#: vhffs-panel/admin/broadcast_submit.pl:96
+#: vhffs-panel/admin/broadcast_submit.pl:92
 msgid "Error !"
 msgstr "Erreur !"
 
-#: vhffs-panel/user/prefs.pl:212
+#: vhffs-panel/user/prefs.pl:218
 msgid ""
 "Error ! You MUST provide a password in your account when you create your "
 "popable account"
@@ -1376,7 +1351,7 @@
 "Erreur !. Vous DEVEZ renseigner le mot de passe lorsque vous créez votre "
 "compte mail"
 
-#: vhffs-panel/group/create.pl:74
+#: vhffs-panel/group/create.pl:78
 msgid "Error creating group (maybe a group with the same name already exists)"
 msgstr ""
 "Erreur lors de la création du groupe (un groupe du même nom existe peut être "
@@ -1386,11 +1361,11 @@
 msgid "Error creating webarea."
 msgstr "Erreur lors de la création de l'espace web."
 
-#: vhffs-panel/user/prefs.pl:239
+#: vhffs-panel/user/prefs.pl:245
 msgid "Error for spam protection\n"
 msgstr "Erreur sur la protection anti-spam\n"
 
-#: vhffs-panel/user/prefs.pl:250
+#: vhffs-panel/user/prefs.pl:256
 msgid "Error for virus protection\n"
 msgstr "Erreur sur la protection par anti-virus\n"
 
@@ -1398,20 +1373,19 @@
 msgid "Error when uploading avatar for this object"
 msgstr "Erreur d'envoi d'avatar pour cet objet"
 
-#: vhffs-panel/dns/delete.pl:96
+#: vhffs-panel/dns/delete.pl:88
 msgid "Error while switching state. DNS will NOT be deleted"
 msgstr "Erreur lors du changement d'état. Le DNS NE sera PAS supprimé"
 
-#: vhffs-panel/group/prefs.pl:67 vhffs-panel/group/history.pl:65
+#: vhffs-panel/group/history.pl:66 vhffs-panel/group/prefs.pl:71
 msgid "Error. This group doesn't exists"
 msgstr "Erreur. Ce groupe n'existe pas"
 
-#: vhffs-panel/group/history.pl:80
+#: vhffs-panel/group/history.pl:81
 msgid "Event"
 msgstr "Évènement"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:360
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:360
+#: vhffs-api/src/Vhffs/Panel/Main.pm:365
 msgid "Expired session ! Please login again"
 msgstr "Session expirée. Merci de vous authentifier à nouveau"
 
@@ -1419,87 +1393,59 @@
 msgid "Filetype not supported, only png is supported"
 msgstr "Type de fichier non supporté, seul le png est supporté"
 
-#: vhffs-intl/template_strings.pl:74
-msgid "Fill with project's members emails"
-msgstr "Remplir avec les emails des membres du projet"
-
-#: vhffs-intl/template_strings.pl:8 vhffs-intl/template_strings.pl:23
-#: vhffs-panel/user/prefs.pl:303 vhffs-panel/subscribe.pl:225
+#: vhffs-panel/user/prefs.pl:320 vhffs-panel/subscribe.pl:240
 msgid "Firstname"
 msgstr "Prénom"
 
-#: vhffs-panel/user/prefs.pl:120
+#: vhffs-panel/user/prefs.pl:122
 msgid "Firstname is not correct !"
 msgstr "Prénom incorrect !"
 
-#: vhffs-panel/git/prefs.pl:115
-msgid "Fix permissions in this repository"
-msgstr "Fixer les permissions pour cet espace de téléchargement"
-
-#: vhffs-panel/git/prefs.pl:117
-msgid "Fix them !"
-msgstr "Fixer !"
-
-#: vhffs-panel/git/prefs.pl:116
-msgid ""
-"Fixing permissions on a repository solve permission access on the "
-"repository. Can be helpful if you encounter problems"
-msgstr ""
-"Si vous rencontrez des problèmes d'accès à votre espace de téléchargement, "
-"pensez à fixer les permissions"
-
-#: vhffs-panel/mail/prefs.pl:319
+#: vhffs-panel/mail/prefs.pl:318
 #, perl-format
 msgid "Forward %s deleted"
 msgstr "Redirection %s supprimée"
 
-#: vhffs-panel/mail/prefs.pl:304
+#: vhffs-panel/mail/prefs.pl:303
 #, perl-format
 msgid "Forward %s successfully updated"
 msgstr "Redirection %s mise à jour"
 
-#: vhffs-panel/mail/prefs.pl:288 vhffs-panel/group/prefs.pl:191
-#: vhffs-panel/user/prefs.pl:268
+#: vhffs-panel/user/prefs.pl:274 vhffs-panel/group/prefs.pl:196
+#: vhffs-panel/mail/prefs.pl:287
 msgid "Forward added"
 msgstr "Redirection ajoutée"
 
-#: vhffs-panel/group/prefs.pl:188
+#: vhffs-panel/group/prefs.pl:193
 msgid "Forward deleted"
 msgstr "Redirection supprimée"
 
-#: vhffs-panel/user/prefs.pl:414
+#: vhffs-panel/user/prefs.pl:431
 #, perl-format
 msgid "Forward emails from %s@%s to %s"
 msgstr "Rediriger les emails de %s@%s à %s"
 
-#: vhffs-panel/mail/prefs.pl:125
+#: vhffs-panel/mail/prefs.pl:124
 msgid "Forward mail"
 msgstr "Adresse de redirection"
 
-#: vhffs-panel/user/prefs.pl:277
+#: vhffs-panel/user/prefs.pl:283
 msgid "Forward updated"
 msgstr "Redirection mise à jour"
 
-#: vhffs-panel/mail/prefs.pl:120
+#: vhffs-panel/mail/prefs.pl:119
 msgid "Forwards"
 msgstr "Redirections"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:560
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:560
+#: vhffs-api/src/Vhffs/Panel/Main.pm:547
 msgid "Full history"
 msgstr "Historique complet"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:118
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:122
 msgid "GIT"
 msgstr "GIT"
 
-#: vhffs-intl/template_strings.pl:44
-msgid "GIT Repositories for this group"
-msgstr "Dépôts GIT sur ce groupe"
-
-#: vhffs-panel/git/index.pl:61
+#: vhffs-panel/git/index.pl:62
 #, perl-format
 msgid "GIT repositories for %s"
 msgstr "Dépôt GIT pour %s"
@@ -1512,30 +1458,22 @@
 msgid "GIT root"
 msgstr "Racine GIT"
 
-#: vhffs-panel/admin/stats.pl:133
+#: vhffs-panel/admin/stats.pl:132
 msgid "GIT stats"
 msgstr "Statistiques concernant GIT"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:110 vhffs-api/src/Vhffs/Panel/Main.pm:559
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:114 vhffs-api/src/Vhffs/Panel/Main.pm:546
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:79
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:559
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:110
 msgid "General"
 msgstr "Général"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:91 vhffs-api/src/Vhffs/Panel/Admin.pm:76
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:95 vhffs-api/src/Vhffs/Panel/Admin.pm:76
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:76
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:91
 msgid "Get Statistics"
 msgstr "Afficher les statistiques"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:206
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:226
 msgid "Git Admin"
 msgstr "Administration des dépôts Git"
 
@@ -1543,17 +1481,15 @@
 msgid "Give me a new password"
 msgstr "Donnez-moi un nouveau mot de passe"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:808
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:808
+#: vhffs-api/src/Vhffs/Panel/Main.pm:807
 msgid "Go to administration"
 msgstr "Aller à la page d'administration"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:85
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:88
 msgid "Go to public area"
 msgstr "Aller dans la zone publique"
 
-#: vhffs-panel/mailinglist/prefs.pl:302
+#: vhffs-panel/mailinglist/prefs.pl:304
 #, perl-format
 msgid ""
 "Greetings,\n"
@@ -1563,46 +1499,35 @@
 "You may get some help on listengine by sending an email to %s-request@%s "
 "with subject help.\n"
 "\n"
-"Cheers."
+"Cheers.\n"
 msgstr ""
-"Bonjour,\n"
-"\n"
-"Vous avez été inscrit à la liste %s sur la plateforme %s.\n"
-"\n"
-"Vous pouvez obtenir de l'aide sur le fonctionnnement de la liste en envoyant "
-"un email dont le sujet est help à l'adresse %s-request@%s.\n"
-"\n"
-"Cordialement"
 
-#: vhffs-intl/extra_strings.pl:36 vhffs-panel/admin/repository/list.pl:76
-#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/git/list.pl:73
-#: vhffs-panel/admin/dns/list.pl:76 vhffs-panel/admin/pgsql/list.pl:77
-#: vhffs-panel/admin/cvs/list.pl:77 vhffs-panel/admin/mysql/list.pl:83
-#: vhffs-panel/admin/svn/list.pl:71 vhffs-panel/admin/mailinglist/list.pl:80
-#: vhffs-panel/admin/web/list.pl:71 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/mysql/list.pl:83 vhffs-panel/admin/pgsql/list.pl:77
+#: vhffs-panel/admin/mailinglist/list.pl:80 vhffs-panel/admin/cron/list.pl:83
+#: vhffs-panel/admin/repository/list.pl:76 vhffs-panel/admin/svn/list.pl:71
+#: vhffs-panel/admin/moderation.pl:86 vhffs-panel/admin/dns/list.pl:76
+#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/cvs/list.pl:77
+#: vhffs-panel/admin/git/list.pl:73 vhffs-panel/admin/web/list.pl:71
 msgid "Group"
 msgstr "Groupe"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:546
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:546
+#: vhffs-api/src/Vhffs/Panel/Main.pm:533
 #, perl-format
 msgid "Group %s"
 msgstr "Groupe %s"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:135
 msgid "Group Admin"
 msgstr "Administration des groupes"
 
-#: vhffs-intl/template_strings.pl:66
-msgid "Group Quota"
-msgstr "Quota pour ce groupe"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:543
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:543
+#: vhffs-api/src/Vhffs/Panel/Main.pm:530
 msgid "Group error"
 msgstr "Erreur sur le groupe"
 
+#: vhffs-public/group.pl:62
+msgid "Group not found"
+msgstr ""
+
 #: vhffs-panel/acl/view.pl:87
 msgid "Group or user not found"
 msgstr "Groupe ou utilisateur introuvable"
@@ -1611,7 +1536,7 @@
 msgid "Group owning this CVS"
 msgstr "Groupe propriétaire de ce dépôt CVS"
 
-#: vhffs-panel/dns/create.pl:75
+#: vhffs-panel/dns/create.pl:76
 msgid "Group owning this DNS"
 msgstr "Groupe propriétaire de ce nom de domaine"
 
@@ -1619,7 +1544,11 @@
 msgid "Group owning this Subversion repository"
 msgstr "Groupe propriétaire de ce dépôt Subversion"
 
-#: vhffs-panel/pgsql/create.pl:103 vhffs-panel/mysql/create.pl:103
+#: vhffs-panel/cron/create.pl:106
+msgid "Group owning this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:103 vhffs-panel/pgsql/create.pl:103
 msgid "Group owning this database"
 msgstr "Groupe propriétaire de cette base de données"
 
@@ -1627,7 +1556,7 @@
 msgid "Group owning this git repository"
 msgstr "Groupe propriétaire de ce dépôt Git"
 
-#: vhffs-panel/mail/create.pl:93
+#: vhffs-panel/mail/create.pl:94
 msgid "Group owning this mail domain"
 msgstr "Groupe propriétaire de ce domaine mail"
 
@@ -1643,23 +1572,21 @@
 msgid "Group owning this web space"
 msgstr "Groupe propriétaire de ce site web"
 
-#: vhffs-panel/group/prefs.pl:97
+#: vhffs-panel/group/prefs.pl:102
 msgid "Group updated"
 msgstr "Groupe mis à jour"
 
-#: vhffs-panel/group/prefs.pl:293
+#: vhffs-panel/group/prefs.pl:303
 msgid "Group updated, please wait while quota is updated on filesystem"
 msgstr ""
 "Groupe mis à jour. Veuillez patienter pendant la mise à jour du quota sur le "
 "système de fichiers."
 
-#: vhffs-intl/template_strings.pl:1 vhffs-intl/template_strings.pl:4
-#: vhffs-intl/template_strings.pl:30 vhffs-intl/template_strings.pl:39
 #: vhffs-panel/admin/group/list.pl:80
 msgid "Groupname"
 msgstr "Nom du groupe"
 
-#: vhffs-panel/group/create.pl:66
+#: vhffs-panel/group/create.pl:68
 msgid ""
 "Groupname must contain between 3 and 12 characters, only letters or numbers "
 "in lower case"
@@ -1667,12 +1594,11 @@
 "Le nom de groupe doit contenir entre 3 et 12 caractères, comprenant "
 "uniquementdes chiffres et des lettres en minuscule"
 
-#: vhffs-intl/template_strings.pl:48 vhffs-api/src/Vhffs/Panel/Menu.pm:112
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:112
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:116
 msgid "Groups"
 msgstr "Groupes"
 
-#: vhffs-panel/admin/stats.pl:99
+#: vhffs-panel/admin/stats.pl:98
 msgid "Groups stats"
 msgstr "Statistiques des groupes"
 
@@ -1680,11 +1606,7 @@
 msgid "Groups' administration"
 msgstr "Administration des groupes"
 
-#: vhffs-intl/template_strings.pl:26
-msgid "Groups/Projects"
-msgstr "Groupes/Projets"
-
-#: vhffs-panel/user/prefs.pl:181
+#: vhffs-panel/user/prefs.pl:187
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1705,8 +1627,7 @@
 "\n"
 "Les administrateurs\n"
 
-#: vhffs-api/src/Vhffs/Object.pm:499
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:499
+#: vhffs-api/src/Vhffs/Object.pm:514
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1727,32 +1648,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
-"Bonjour %s %s,\n"
-"\n"
-"Votre %s (%s) sur %s a été supprimé.\n"
-"\n"
-"Car cet objet a été refusé il y a déjà très longtemps et vous n'avez pas\n"
-"soumis de nouvelle description depuis\n"
-"\n"
-"Pour mémoire, la raison du refus était:\n"
-"%s\n"
-"\n"
-"Ne soyez pas faché, soumettez le de nouveau si vous n'avez pu proposer\n"
-"une nouvelle description à temps.\n"
-"Si vous avez besoin d'informations complémentaires, repondez simplement à ce "
-"mail !\n"
-"\n"
-"Cordialement,\n"
-"L'équipe de modération\n"
-"\n"
-"---------\n"
-"%s\n"
-"%s"
 
-#: vhffs-api/src/Vhffs/User.pm:322
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:322
+#: vhffs-api/src/Vhffs/User.pm:333
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1790,13 +1689,14 @@
 "%s\n"
 "%s\n"
 
-#: vhffs-api/src/Vhffs/Object.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:404
+#: vhffs-api/src/Vhffs/Object.pm:408
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
 "\n"
-"Your request for a %s (%s) on %s was accepted.\n"
+"Your request for a %s (%s) on %s was accepted, however, moderators wanted to "
+"add some precision:\n"
+"%s.\n"
 "Please wait while we are creating your object.\n"
 "\n"
 "Cheers,\n"
@@ -1804,22 +1704,26 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
-"Bonjour %s %s,\n"
+
+#: vhffs-api/src/Vhffs/Object.pm:420
+#, perl-format
+msgid ""
+"Hello %s %s,\n"
 "\n"
-"Votre demande pour un %s (%s) sur %s a été acceptée.\n"
-"Veuillez patienter pendant la création de l'objet.\n"
+"Your request for a %s (%s) on %s was accepted.\n"
+"Please wait while we are creating your object.\n"
 "\n"
-"Cordialement,\n"
-"L'équipe de modération\n"
+"Cheers,\n"
+"The moderator team\n"
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:453
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:453
+#: vhffs-api/src/Vhffs/Object.pm:468
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1839,51 +1743,25 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
-"Bonjour %s %s,\n"
-"\n"
-"Votre demande pour un %s (%s) sur %s a été refusée.\n"
-"\n"
-"La raison du refus donné par les modérateurs est la suivante:\n"
-"%s\n"
-"\n"
-"Vous pouvez changer la description et la proposer de nouveau pour la\n"
-"modération sur le panel.\n"
-"Vous pouvez supprimer cet objet si vous avez fait une erreur\n"
-"Ne soyez pas faché, si vous ne comprenez pas pourquoi votre demande\n"
-"a été refusée, repondez simplement a ce mail !\n"
-"\n"
-"Cordialement,\n"
-"L'équipe de modération\n"
-"\n"
-"---------\n"
-"%s\n"
-"%s"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:502
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:502
+#: vhffs-api/src/Vhffs/Panel/Main.pm:490
 #, perl-format
 msgid "Hello %s, welcome in VHFFS !"
 msgstr "Bonjour %s, bienvenue dans VHFFS !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:46
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:46
 msgid "Hello and welcome on listengine help\n"
 msgstr "Bonjour et bienvenue dans l'aide de listengine\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:437 vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-api/src/Vhffs/Panel/Main.pm:663 vhffs-api/src/Vhffs/Panel/Main.pm:818
-#: vhffs-panel/group/prefs.pl:233 vhffs-panel/user/prefs.pl:417
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:437
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:663
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:818
+#: vhffs-panel/user/prefs.pl:434 vhffs-panel/group/prefs.pl:246
+#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:553
+#: vhffs-api/src/Vhffs/Panel/Main.pm:659 vhffs-api/src/Vhffs/Panel/Main.pm:818
 msgid "Help"
 msgstr "Aide"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:52
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:52
 msgid "Here are the basic listengine commands:\n"
 msgstr "Voici les commandes basiques de listengine :\n"
 
@@ -1892,7 +1770,6 @@
 msgstr "Ici, vous pouvez envoyer un message à l'équipe d'administration"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:422
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:422
 #, perl-format
 msgid ""
 "His email address is:\n"
@@ -1901,59 +1778,48 @@
 "Son adresse email est :\n"
 " %s\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:811 vhffs-panel/admin/object/list.pl:92
-#: vhffs-panel/admin/object/list.pl:99 vhffs-panel/history.pl:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:811
+#: vhffs-panel/admin/object/list.pl:90 vhffs-panel/admin/object/list.pl:97
+#: vhffs-panel/history.pl:96 vhffs-api/src/Vhffs/Panel/Main.pm:810
 msgid "History"
 msgstr "Historique"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:203
-#: vhffs-panel/admin/object/edit.pl:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:203
+#: vhffs-panel/admin/object/edit.pl:196
+#: vhffs-api/src/Vhffs/Panel/Object.pm:202
 msgid "History of this object"
 msgstr "Historique de cet objet"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:434
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:434
+#: vhffs-api/src/Vhffs/Panel/Main.pm:424
 msgid "Home page"
 msgstr "Page principale"
 
-#: vhffs-intl/template_strings.pl:15
-msgid "Homepage of public area"
-msgstr "Aller à la page d'accueil de la zone publique"
-
-#: vhffs-panel/dns/prefs.pl:295 vhffs-panel/dns/prefs.pl:380
-#: vhffs-panel/dns/prefs.pl:396
+#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:398
 msgid "Host"
 msgstr "Hôte"
 
-#: vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:288
 msgid "Host of your name server"
 msgstr "Nom de domaine de votre serveur de nom"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:165
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:165
 msgid "However this list require approval for new subscribers.\n"
 msgstr ""
 "Cependant, cette liste nécessite une validation des nouveaux inscrits.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:120
 #, perl-format
 msgid "However you are (%s) already subscribed to this list.\n"
 msgstr "Cependant vous (%s) êtes déjà inscrit(e) à cette liste.\n"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:69
 msgid "I've lost my password"
 msgstr "J'ai perdu mon mot de passe"
 
-#: vhffs-panel/dns/prefs.pl:263
+#: vhffs-panel/dns/prefs.pl:262
 msgid "IP"
 msgstr "Adresse IP"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:505
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:505
+#: vhffs-api/src/Vhffs/Panel/Main.pm:493
 msgid ""
 "If you are new to VHFFS, you should start to read quickly the whole help "
 "available by clicking on the help button in the upper right of your screen"
@@ -1963,7 +1829,6 @@
 "l'écran"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:88
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:88
 msgid ""
 "If you don't asked to be subscribed to this mailing list,\n"
 "just forget this email\n"
@@ -1972,7 +1837,6 @@
 "diffusion, merci de ne pas tenir compte de ce mail\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:106
 msgid ""
 "If you haven't asked to be unsubscribed from this list,\n"
 "please don't answer to this mail\n"
@@ -1980,7 +1844,7 @@
 "Si vous n'avez pas demandé à être désinscrit à cette liste de\n"
 "diffusion, merci de ne pas répondre à ce mail\n"
 
-#: vhffs-panel/group/prefs.pl:203
+#: vhffs-panel/group/prefs.pl:216
 msgid ""
 "If you want more disk space for your project, you must fill a form in the "
 "bug report section, in the menu. Don't forget to mention the name of the "
@@ -1990,26 +1854,50 @@
 "signalez un dysfonctionnement via le formulaire d'aide du site. N'oubliez "
 "pas de mentionner le nom de votre groupe."
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:239
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:197
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:239
+#: vhffs-panel/admin/tag/request/details.pl:146
+msgid "If you want to create a new category, you have to create a new tag too"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:110
+#, perl-format
+msgid ""
+"In minutes, at which interval this cron should be started, the minimum "
+"interval is set to %d minutes"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:109
+msgid "Interval"
+msgstr ""
+
+#: vhffs-panel/cron/prefs.pl:95
+msgid "Interval between runs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:198 vhffs-api/src/Vhffs/Panel/DNS.pm:210
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:240
 msgid "Invalid IP address"
 msgstr "Adresse IP invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:227
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:228
 msgid "Invalid IP v6 address"
 msgstr "Adresse IP v6 invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:297
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:301
 msgid "Invalid alias"
 msgstr "Alias invalide"
 
-#: vhffs-panel/pgsql/create.pl:86 vhffs-panel/mysql/create.pl:86
+#: vhffs-panel/admin/tag/create.pl:90 vhffs-panel/admin/tag/edit.pl:111
+msgid "Invalid category"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:88
 msgid ""
+"Invalid cronpath, it must contain only letters, numbers, underscore, dash, "
+"dot or slash. A valid cronpath will be something like /home/group/script.sh)"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:86 vhffs-panel/pgsql/create.pl:86
+msgid ""
 "Invalid database name, it must contain only numbers, lowercase letters and "
 "underscore (the latter isn't allowed in first or last position) and be "
 "between 3 and 32 characters."
@@ -2018,42 +1906,39 @@
 "lettres minuscules ou des underscores (ces derniers ne devant pas être en "
 "première ou dernière position) et contenir entre 3 et 12 caractères."
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:286
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:286
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:290
 msgid "Invalid destination"
 msgstr "Destination invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:311 vhffs-api/src/Vhffs/Panel/DNS.pm:327
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:327
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:315 vhffs-api/src/Vhffs/Panel/DNS.pm:332
 msgid "Invalid destination domain name"
 msgstr "Destination de nom de domaine invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:298
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:302
 msgid "Invalid destination host"
 msgstr "Destination host invalide"
 
-#: vhffs-panel/mail/create.pl:76 vhffs-panel/dns/create.pl:51
+#: vhffs-panel/dns/create.pl:52 vhffs-panel/mail/create.pl:77
 msgid "Invalid domain name"
 msgstr "Nom de domaine invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:263
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:265
 msgid "Invalid host"
 msgstr "hôte invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:249 vhffs-api/src/Vhffs/Panel/DNS.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:249
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:273
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:276
 msgid "Invalid hostname"
 msgstr "Nom d'hôte invalide"
 
+#: vhffs-panel/cron/create.pl:90
+msgid "Invalid interval, it must be a positive integer"
+msgstr ""
+
 #: vhffs-panel/mailinglist/create.pl:85
 msgid "Invalid local part"
 msgstr "Partie locale invalide"
 
-#: vhffs-panel/git/prefs.pl:188
+#: vhffs-panel/git/prefs.pl:163
 msgid "Invalid mailing list address"
 msgstr "Adresse de liste de diffusion invalide"
 
@@ -2065,53 +1950,38 @@
 msgid "Invalid password. It must contain at least 3 characters"
 msgstr "Mot de passe incorrect, il doit contenir au moins 3 caractères"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:312 vhffs-api/src/Vhffs/Panel/DNS.pm:328
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:312
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:328
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:333
 msgid "Invalid port"
 msgstr "Port invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:194 vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:341
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:341
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:254 vhffs-api/src/Vhffs/Panel/DNS.pm:279
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:345
 msgid "Invalid prefix"
 msgstr "Prefixe invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:329
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:250
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:329
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:251 vhffs-api/src/Vhffs/Panel/DNS.pm:317
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:334
 msgid "Invalid priority"
 msgstr "Priorité invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:309
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:313
 msgid "Invalid protocol syntax"
 msgstr "Syntaxe de protocole invalide"
 
-#: vhffs-panel/repository/prefs.pl:120 vhffs-panel/group/prefs.pl:274
+#: vhffs-panel/repository/prefs.pl:119 vhffs-panel/group/prefs.pl:289
 msgid "Invalid quota"
 msgstr "Quota invalide"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:159 vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:237 vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:284 vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:159
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:284
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:352
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:160 vhffs-api/src/Vhffs/Panel/DNS.pm:208
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:319
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:330 vhffs-api/src/Vhffs/Panel/DNS.pm:357
 msgid "Invalid record"
 msgstr "Enregistrement invalide"
 
-#: vhffs-panel/git/create.pl:81 vhffs-panel/cvs/create.pl:82
-#: vhffs-panel/svn/create.pl:81
+#: vhffs-panel/svn/create.pl:81 vhffs-panel/cvs/create.pl:82
+#: vhffs-panel/git/create.pl:81
 msgid ""
 "Invalid reponame. It must contain between 3 and 64 characters, only "
 "lowercase letters and numbers"
@@ -2123,12 +1993,11 @@
 msgid "Invalid servername (doesn't conform to domain names rules)"
 msgstr "Servername invalide (ne se conforme pas aux règles du nom de domaine)"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:310
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:310
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:314
 msgid "Invalid service syntax"
 msgstr "Syntaxe de service invalide"
 
-#: vhffs-panel/subscribe.pl:115
+#: vhffs-panel/subscribe.pl:117
 msgid ""
 "Invalid username, it must contain between 3 and 12 alphanumeric characters, "
 "all in lowercase"
@@ -2136,141 +2005,130 @@
 "Le nom d'utilisateur doit contenir entre 3 et 12 caractères, tous en "
 "minuscule"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:314 vhffs-api/src/Vhffs/Panel/DNS.pm:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:330
+#: vhffs-panel/admin/tag/category/edit.pl:119
+msgid "Invalid visibility"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:318 vhffs-api/src/Vhffs/Panel/DNS.pm:335
 msgid "Invalid weight"
 msgstr "Poids invalide"
 
-#: vhffs-panel/cvs/prefs.pl:111
+#: vhffs-panel/cvs/prefs.pl:98
 msgid "Is this CVS repository public ??"
 msgstr "Ce dépôt CVS doit-il être public ?"
 
-#: vhffs-panel/git/prefs.pl:100 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/svn/prefs.pl:93 vhffs-panel/git/prefs.pl:97
 msgid "Is this a public repository ?"
 msgstr "Ce dépôt doit-il être public ?"
 
-#: vhffs-panel/user/prefs.pl:311
+#: vhffs-panel/admin/tag/category/create.pl:68
+#: vhffs-panel/admin/tag/category/edit.pl:79
+#: vhffs-panel/admin/tag/create.pl:70
+msgid "Label"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:328
 msgid "Language"
 msgstr "Langue"
 
-#: vhffs-intl/template_strings.pl:17 vhffs-intl/template_strings.pl:27
-msgid "Last Groups"
-msgstr "Derniers groupes"
-
-#: vhffs-intl/template_strings.pl:16
-msgid "Last Users"
-msgstr "Derniers utilisateurs"
-
-#: vhffs-public/lastgroups.pl:58
+#: vhffs-public/index.pl:48 vhffs-public/lastgroups.pl:58
 #, perl-format
 msgid "Last groups on %s"
 msgstr "Derniers groupes sur %s"
 
-#: vhffs-intl/template_strings.pl:20
-msgid "Last users"
-msgstr "Derniers utilisateurs"
+#: vhffs-panel/cron/prefs.pl:114
+msgid "Last run date was"
+msgstr ""
 
-#: vhffs-public/lastusers.pl:60
-#, perl-format
-msgid "Last users on %s"
-msgstr "Derniers utilisateurs sur %s"
+#: vhffs-panel/cron/prefs.pl:119
+msgid "Last run return code was"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:9 vhffs-intl/template_strings.pl:24
-#: vhffs-panel/user/prefs.pl:304 vhffs-panel/subscribe.pl:226
+#: vhffs-panel/user/prefs.pl:321 vhffs-panel/subscribe.pl:241
 msgid "Lastname"
 msgstr "Nom"
 
-#: vhffs-panel/user/prefs.pl:123
+#: vhffs-panel/user/prefs.pl:125
 msgid "Lastname is not correct !"
 msgstr "Le nom est incorrect !"
 
-#: vhffs-panel/dns/prefs.pl:236
+#: vhffs-panel/dns/prefs.pl:235
 msgid "List all A reccords"
 msgstr "Lister tous les enregistrements A"
 
-#: vhffs-panel/dns/prefs.pl:237
+#: vhffs-panel/dns/prefs.pl:236
 msgid "List all AAAA reccords"
 msgstr "Lister tous les enregistrements AAAA"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:185
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:205
 msgid "List all CVS repos"
 msgstr "Lister tous les dépôts CVS"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:203
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:203
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
 msgid "List all Git repos"
 msgstr "Lister tous les dépôts Git"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:220
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:220
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
 msgid "List all MySQL databases"
 msgstr "Lister toutes les bases de données MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:237
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
 msgid "List all Pg databases"
 msgstr "Lister toutes les bases de données PostgreSQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:167
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:187
 msgid "List all SVN repos"
 msgstr "Lister tous les dépôts SVN"
 
-#: vhffs-panel/dns/prefs.pl:303
+#: vhffs-panel/dns/prefs.pl:305
 msgid "List all TXT records"
 msgstr "Lister tous les enregistrements TXT"
 
-#: vhffs-panel/mail/prefs.pl:112
+#: vhffs-panel/mail/prefs.pl:111
 msgid "List all accounts"
 msgstr "Lister tous les comptes utilisateur"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:290
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:290
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:345
+msgid "List all cron jobs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:310
 msgid "List all domain names"
 msgstr "Lister tous les noms de domaine"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:308
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:308
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:328
 msgid "List all download repositories"
 msgstr "Liste de tous les espaces de téléchargement"
 
-#: vhffs-panel/mail/prefs.pl:121
+#: vhffs-panel/mail/prefs.pl:120
 msgid "List all forwardings for this domain"
 msgstr "Liste de toutes les redirections pour ce domaine"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:132
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:132
 msgid "List all groups"
 msgstr "Lister tous les groupes"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:254
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:254
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:274
 msgid "List all mail domains"
 msgstr "Lister tous les domaines mails"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:272
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:272
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:292
 msgid "List all mailing lists"
 msgstr "Lister toutes les listes de diffusion"
 
-#: vhffs-panel/mailinglist/prefs.pl:147
+#: vhffs-panel/mailinglist/prefs.pl:146
 msgid "List all members"
 msgstr "Lister tous les membres"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:96
 msgid "List all objects"
 msgstr "Lister tous les objets"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:115
 msgid "List all users"
 msgstr "Lister tous les utilisateurs"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:150
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
 msgid "List all webareas"
 msgstr "Lister tous les espaces web"
 
@@ -2278,6 +2136,10 @@
 msgid "List of all CVS repositories"
 msgstr "Liste de tous les dépôts CVS"
 
+#: vhffs-panel/admin/cron/list.pl:79
+msgid "List of all Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:72
 msgid "List of all Download repositories"
 msgstr "Liste de tous les espaces de téléchargement"
@@ -2310,7 +2172,7 @@
 msgid "List of all users"
 msgstr "Liste de tous les utilisateurs"
 
-#: vhffs-intl/template_strings.pl:18 vhffs-panel/admin/web/list.pl:67
+#: vhffs-panel/admin/web/list.pl:67
 msgid "List of all websites"
 msgstr "Liste de tous les sites web"
 
@@ -2318,23 +2180,23 @@
 msgid "List updated"
 msgstr "La liste a été mise à jour"
 
-#: vhffs-panel/mailinglist/delete.pl:95
+#: vhffs-panel/mailinglist/delete.pl:93
 msgid "List will NOT be deleted"
 msgstr "La liste de diffusion NE sera PAS supprimée"
 
-#: vhffs-panel/admin/stats.pl:166
+#: vhffs-panel/admin/stats.pl:165
 msgid "Listengine stats"
 msgstr "Statistiques de listengine"
 
-#: vhffs-panel/mail/prefs.pl:124
+#: vhffs-panel/mail/prefs.pl:123
 msgid "Local Part"
 msgstr "Partie locale"
 
-#: vhffs-panel/mail/prefs.pl:115
+#: vhffs-panel/mail/prefs.pl:114
 msgid "Local Part for this account"
 msgstr "Partie locale de ce compte"
 
-#: vhffs-panel/lost_ack.pl:75 vhffs-panel/lost_ack.pl:83
+#: vhffs-panel/lost_ack.pl:78 vhffs-panel/lost_ack.pl:86
 msgid "Login"
 msgstr "Nom d'utilisateur"
 
@@ -2342,22 +2204,15 @@
 msgid "Login failed !"
 msgstr "Authentification échouée !"
 
-#: vhffs-panel/group/prefs.pl:245
+#: vhffs-panel/group/prefs.pl:258
 msgid "Logo"
 msgstr "Logo"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:439
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:439
+#: vhffs-api/src/Vhffs/Panel/Main.pm:429
 msgid "Logout"
 msgstr "Se déconnecter"
 
-#: vhffs-intl/template_strings.pl:53 vhffs-intl/template_strings.pl:69
-msgid "MB"
-msgstr "MB"
-
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:73
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:122
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:76 vhffs-api/src/Vhffs/Panel/Menu.pm:126
 msgid "ML"
 msgstr "ML"
 
@@ -2373,34 +2228,27 @@
 msgid "MX Record updated"
 msgstr "Enregistrement MX mis à jour"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:121
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:75 vhffs-api/src/Vhffs/Panel/Menu.pm:125
 msgid "Mail"
 msgstr "Mail"
 
-#: vhffs-panel/mail/prefs.pl:101
+#: vhffs-panel/mail/prefs.pl:100
 msgid "Mail Administration for domain "
 msgstr "Administration des mails pour le domaine "
 
-#: vhffs-intl/extra_strings.pl:44
-msgid "Mail Domain"
-msgstr "Domaine mail"
-
-#: vhffs-panel/user/prefs.pl:282
+#: vhffs-panel/user/prefs.pl:288
 msgid "Mail deleted"
 msgstr "Email supprimé"
 
-#: vhffs-panel/mail/create.pl:80
+#: vhffs-panel/mail/create.pl:81
 msgid "Mail domain successfully created !"
 msgstr "Domaine Mail créé avec succès !"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:257
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:277
 msgid "Mail domains Admin"
 msgstr "Administration des domaines mail"
 
-#: vhffs-panel/mail/index.pl:60
+#: vhffs-panel/mail/index.pl:61
 #, perl-format
 msgid "Mail domains for %s"
 msgstr "Domaines mail pour %s"
@@ -2413,52 +2261,53 @@
 msgid "Mail for the list"
 msgstr "Adresse pour la liste"
 
-#: vhffs-panel/admin/stats.pl:139
+#: vhffs-panel/cron/prefs.pl:99
+msgid "Mail reports to"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:138
 msgid "Mail stats"
 msgstr "Statistiques des mails"
 
+#: vhffs-panel/cron/create.pl:111
+msgid "Mail to"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:98
 msgid "Mail to all hosted people"
 msgstr "Envoyer un message à tous les hébergés"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:371
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:371
 #, perl-format
 msgid "Mail with id %s"
 msgstr "Mail avec l'identifiant %s"
 
-#: vhffs-panel/user/prefs.pl:180
+#: vhffs-panel/user/prefs.pl:186
 msgid "Mailbox modified"
 msgstr "Boîte mail modifiée"
 
-#: vhffs-panel/user/prefs.pl:223
+#: vhffs-panel/user/prefs.pl:229
 msgid "Mailbox successfully added"
 msgstr "Boîte mail ajoutée avec succès"
 
-#: vhffs-intl/extra_strings.pl:45 vhffs-panel/admin/mailinglist/list.pl:79
+#: vhffs-panel/admin/mailinglist/list.pl:79
 msgid "Mailing List"
 msgstr "Liste de diffusion"
 
-#: vhffs-intl/template_strings.pl:45
-msgid "Mailing Lists for this group"
-msgstr "Listes de diffusion sur ce groupe"
-
-#: vhffs-panel/mailinglist/prefs.pl:81
+#: vhffs-panel/mailinglist/prefs.pl:80
 #, perl-format
 msgid "Mailing list %s@%s not found"
 msgstr "La liste de diffusion %s@%s n'a pas été trouvée"
 
-#: vhffs-panel/svn/prefs.pl:157
+#: vhffs-panel/svn/prefs.pl:158
 msgid "Mailing list address is invalid"
 msgstr "L'adresse de la liste de diffusion est invalide"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:275
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:295
 msgid "Mailing lists Admin"
 msgstr "Administration des listes de diffusion"
 
-#: vhffs-panel/mailinglist/index.pl:60
+#: vhffs-panel/mailinglist/index.pl:61
 #, perl-format
 msgid "Mailing lists for %s"
 msgstr "Listes de diffusion pour %s"
@@ -2467,37 +2316,52 @@
 msgid "Mailing lists' administration"
 msgstr "Administration des listes de diffusion"
 
-#: vhffs-panel/admin/broadcast_submit.pl:92
+#: vhffs-panel/admin/broadcast_submit.pl:88
 msgid "Mailing successfully added"
 msgstr "Envoi ajouté avec succès"
 
-#: vhffs-panel/admin/broadcast_delete.pl:92
+#: vhffs-panel/admin/broadcast_delete.pl:88
 msgid "Mailing successfully deleted"
 msgstr "Envoi supprimé avec succès"
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
+msgid "Manage existing categories"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
+msgid "Manage existing tags"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:99
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:99
 msgid "Manage mailings"
 msgstr "Gérer les envois de masse"
 
-#: vhffs-panel/mailinglist/prefs.pl:146
+#: vhffs-panel/mailinglist/prefs.pl:145
 msgid "Manage members"
 msgstr "Gérer les membres"
 
-#: vhffs-panel/group/prefs.pl:152
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:154
+msgid "Manage requests"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:157
 msgid "Many users matched your query. Please choose between them"
 msgstr ""
 "Plusieurs utilisateurs répondent à votre requête. Choisissez parmi ceux-ci"
 
-#: vhffs-panel/mailinglist/prefs.pl:114
+#: vhffs-panel/admin/stats.pl:183
+msgid "Max tags for a group"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:113
 msgid "Members only"
 msgstr "Réservé aux membres"
 
-#: vhffs-panel/mailinglist/prefs.pl:115
+#: vhffs-panel/mailinglist/prefs.pl:114
 msgid "Members only and moderated"
 msgstr "Réservé aux membres et modéré"
 
-#: vhffs-panel/admin/broadcast.pl:80
+#: vhffs-panel/admin/broadcast.pl:78
 msgid "Message"
 msgstr "Message"
 
@@ -2510,42 +2374,35 @@
 msgstr "Message envoyé avec succès"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:336 vhffs-api/src/Vhffs/Listengine.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:336
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:353
 #, perl-format
 msgid "Message with id: %s"
 msgstr "Message avec l'identifiant : %s"
 
-#: vhffs-panel/mailinglist/prefs.pl:112
+#: vhffs-panel/mailinglist/prefs.pl:111
 msgid "Moderated for everyone"
 msgstr "Modéré pour tout le monde"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:92 vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:95 vhffs-panel/admin/moderation.pl:74
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:92
+#: vhffs-panel/admin/moderation.pl:73 vhffs-api/src/Vhffs/Panel/Menu.pm:96
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:77 vhffs-api/src/Vhffs/Panel/Admin.pm:95
 msgid "Moderation"
 msgstr "Modération"
 
-#: vhffs-intl/template_strings.pl:85
-msgid "Moderator"
-msgstr "Modérateur"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:429
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:429
+#: vhffs-api/src/Vhffs/Panel/Main.pm:419
 msgid "Moderator account"
 msgstr "Compte du modérateur"
 
-#: vhffs-intl/extra_strings.pl:30 vhffs-api/src/Vhffs/Panel/Object.pm:131
-#: vhffs-panel/admin/object/edit.pl:126
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:131
+#: vhffs-panel/admin/tag/category/create.pl:74
+#: vhffs-panel/admin/tag/category/edit.pl:85
+msgid "Moderators"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:130
 msgid "Modification applied"
 msgstr "Modification(s) appliquée(s)"
 
-#: vhffs-intl/extra_strings.pl:29 vhffs-api/src/Vhffs/Panel/Object.pm:130
-#: vhffs-panel/admin/object/edit.pl:125
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:130
+#: vhffs-panel/admin/object/edit.pl:123
+#: vhffs-api/src/Vhffs/Panel/Object.pm:129
 msgid "Modification error"
 msgstr "Erreur lors de la modification"
 
@@ -2553,60 +2410,48 @@
 msgid "Modifications applied successfully"
 msgstr "Les modifications ont été appliquées avec succès"
 
-#: vhffs-panel/git/prefs.pl:152 vhffs-panel/git/prefs.pl:197
-#: vhffs-panel/svn/prefs.pl:163
+#: vhffs-panel/svn/prefs.pl:164 vhffs-panel/git/prefs.pl:172
 msgid ""
 "Modifications applied. Please wait while your repository is being updated"
 msgstr ""
 "Modifications appliquées avec succès. Veuillez patienter pendant la mise à "
 "jour de votre repository."
 
-#: vhffs-panel/git/prefs.pl:103 vhffs-panel/dns/prefs.pl:315
-#: vhffs-panel/dns/prefs.pl:327 vhffs-panel/dns/prefs.pl:340
-#: vhffs-panel/dns/prefs.pl:351 vhffs-panel/dns/prefs.pl:378
-#: vhffs-panel/dns/prefs.pl:394 vhffs-panel/pgsql/prefs.pl:97
-#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/mail/list.pl:84
-#: vhffs-panel/admin/git/list.pl:81 vhffs-panel/admin/dns/list.pl:84
-#: vhffs-panel/admin/pgsql/list.pl:85 vhffs-panel/admin/cvs/list.pl:84
-#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mysql/list.pl:92
-#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/mailinglist/list.pl:88
-#: vhffs-panel/admin/user/list.pl:79 vhffs-panel/cvs/prefs.pl:114
-#: vhffs-panel/group/prefs.pl:211 vhffs-panel/group/prefs.pl:229
-#: vhffs-panel/acl/view.pl:105 vhffs-panel/mysql/prefs.pl:109
-#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/web/prefs.pl:101
-#: vhffs-panel/user/prefs.pl:314
+#: vhffs-panel/mysql/prefs.pl:110 vhffs-panel/pgsql/prefs.pl:97
+#: vhffs-panel/admin/mysql/list.pl:92 vhffs-panel/admin/pgsql/list.pl:85
+#: vhffs-panel/admin/mailinglist/list.pl:88 vhffs-panel/admin/cron/list.pl:92
+#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/user/list.pl:79
+#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/dns/list.pl:84
+#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mail/list.pl:84
+#: vhffs-panel/admin/cvs/list.pl:84 vhffs-panel/admin/git/list.pl:81
+#: vhffs-panel/cron/prefs.pl:148 vhffs-panel/user/prefs.pl:331
+#: vhffs-panel/svn/prefs.pl:96 vhffs-panel/dns/prefs.pl:317
+#: vhffs-panel/dns/prefs.pl:329 vhffs-panel/dns/prefs.pl:342
+#: vhffs-panel/dns/prefs.pl:353 vhffs-panel/dns/prefs.pl:380
+#: vhffs-panel/dns/prefs.pl:396 vhffs-panel/group/prefs.pl:224
+#: vhffs-panel/group/prefs.pl:242 vhffs-panel/cvs/prefs.pl:101
+#: vhffs-panel/git/prefs.pl:100 vhffs-panel/acl/view.pl:105
+#: vhffs-panel/web/prefs.pl:98
 msgid "Modify"
 msgstr "Modifier"
 
-#: vhffs-panel/dns/prefs.pl:260
-msgid "Must we redirect the DNS on our servers ?"
-msgstr "Les DNS doivent-ils être redirigés sur nos serveurs ?"
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:436 vhffs-panel/group/index.pl:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:436
+#: vhffs-panel/group/index.pl:54 vhffs-api/src/Vhffs/Panel/Main.pm:426
 msgid "My Projects"
 msgstr "Mes groupes/projets"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:65 vhffs-api/src/Vhffs/Panel/Menu.pm:114
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:114
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:118
 msgid "MySQL"
 msgstr "MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:223
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:243
 msgid "MySQL Admin"
 msgstr "Administateur MySQL"
 
-#: vhffs-panel/mysql/prefs.pl:93
+#: vhffs-panel/mysql/prefs.pl:94
 msgid "MySQL Administration"
 msgstr "Administration MySQL"
 
-#: vhffs-intl/extra_strings.pl:39
-msgid "MySQL DB"
-msgstr "Base MySQL"
-
-#: vhffs-panel/mysql/index.pl:60
+#: vhffs-panel/mysql/index.pl:61
 #, perl-format
 msgid "MySQL DBs for %s"
 msgstr "Bases MySQL pour %s"
@@ -2623,7 +2468,7 @@
 msgid "MySQL password for this database "
 msgstr "Mot de passe "
 
-#: vhffs-panel/admin/stats.pl:151
+#: vhffs-panel/admin/stats.pl:150
 msgid "MySQL stats"
 msgstr "Statistiques MySQL"
 
@@ -2639,77 +2484,82 @@
 msgid "NS TYPE"
 msgstr "Type NS"
 
-#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/group/history.pl:79
+#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:80
 msgid "Name"
 msgstr "Nom"
 
-#: vhffs-panel/dns/prefs.pl:264
+#: vhffs-panel/dns/prefs.pl:263
 msgid "Name for reccord"
 msgstr "Nom de l'enregistrement"
 
-#: vhffs-panel/dns/prefs.pl:307
+#: vhffs-panel/dns/prefs.pl:309
 msgid "Name for record"
 msgstr "Nom de l'enregistrement"
 
-#: vhffs-panel/pgsql/prefs.pl:84 vhffs-panel/mysql/prefs.pl:95
+#: vhffs-panel/mysql/prefs.pl:96 vhffs-panel/pgsql/prefs.pl:84
 msgid "Name of the database"
 msgstr "Nom de la base de données"
 
+#: vhffs-panel/dns/prefs.pl:270 vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:294
+msgid "Name of the record"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:271
 msgid "Name of your MX"
 msgstr "Nom de votre MX"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:812
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:812
+#: vhffs-panel/cron/prefs.pl:112 vhffs-panel/cron/prefs.pl:118
+msgid "Never"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Main.pm:811
 msgid "New"
 msgstr "Créer"
 
-#: vhffs-intl/template_strings.pl:52 vhffs-intl/template_strings.pl:68
-msgid "New Quota"
-msgstr "Nouveau quota"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:271
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:271
 #, perl-format
 msgid "New language is: %s\n"
 msgstr "La nouvelle langue est : %s\n"
 
-#: vhffs-intl/template_strings.pl:60 vhffs-intl/template_strings.pl:63
-#: vhffs-panel/git/prefs.pl:102 vhffs-panel/dns/prefs.pl:262
-#: vhffs-panel/cvs/prefs.pl:113 vhffs-panel/svn/prefs.pl:94
+#: vhffs-panel/cron/prefs.pl:128
+msgid "Next run is scheduled at"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/dns/prefs.pl:261
+#: vhffs-panel/cvs/prefs.pl:100 vhffs-panel/git/prefs.pl:99
 msgid "No"
 msgstr "Non"
 
-#: vhffs-panel/dns/prefs.pl:319
+#: vhffs-panel/dns/prefs.pl:321
 msgid "No A type found"
 msgstr "Aucun champ A trouvé"
 
-#: vhffs-panel/dns/prefs.pl:331
+#: vhffs-panel/dns/prefs.pl:333
 msgid "No AAAA type found"
 msgstr "Pas de type AAAA trouvé"
 
-#: vhffs-panel/dns/prefs.pl:358
+#: vhffs-panel/dns/prefs.pl:360
 msgid "No CNAME available on this domain"
 msgstr "Aucun champ CNAME trouvé pour ce domaine"
 
-#: vhffs-panel/dns/prefs.pl:345
+#: vhffs-panel/dns/prefs.pl:347
 msgid "No MX reccord for this domain"
 msgstr "Aucun champ MX trouvé pour ce domaine"
 
-#: vhffs-panel/dns/prefs.pl:371
+#: vhffs-panel/dns/prefs.pl:373
 msgid "No NS available on this domain"
 msgstr "Aucun NS disponible pour ce domaine"
 
-#: vhffs-panel/dns/prefs.pl:387
+#: vhffs-panel/dns/prefs.pl:389
 msgid "No SRV available on this domain"
 msgstr "Pas de SRV disponible pour ce domaine"
 
-#: vhffs-panel/dns/prefs.pl:400
+#: vhffs-panel/dns/prefs.pl:402
 msgid "No TXT available on this domain"
 msgstr "Pas de TXT disponible pour ce domaine"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:345
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:345
+#: vhffs-api/src/Vhffs/Panel/Main.pm:350
 msgid "No cookie found, please accept the cookie and then please login again !"
 msgstr ""
 "Aucun cookie n'a été trouvé. Merci d'accepter les cookies puis de vous "
@@ -2719,79 +2569,53 @@
 msgid "No enough rights"
 msgstr "Droits insuffisants"
 
-#: vhffs-panel/group/history.pl:83
+#: vhffs-panel/group/history.pl:84
 msgid "No event about this group"
 msgstr "Pas d'évènement concernant ce groupe"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:208
-#: vhffs-panel/admin/object/edit.pl:204 vhffs-panel/history.pl:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:208
+#: vhffs-panel/admin/object/edit.pl:202 vhffs-panel/history.pl:104
+#: vhffs-api/src/Vhffs/Panel/Object.pm:207
 msgid "No event about this object"
 msgstr "Aucun événement à propos de cet objet"
 
-#: vhffs-intl/template_strings.pl:49
-msgid "No group"
-msgstr "Aucun groupe"
-
-#: vhffs-public/groupsearch.pl:74
+#: vhffs-public/groupsearch.pl:78
 msgid "No group found"
 msgstr "Aucun groupe trouvé"
 
-#: vhffs-listengine/src/listengine.pl:770
+#: vhffs-listengine/src/listengine.pl:773
 msgid "No message to moderate"
 msgstr "Aucun message à modérer"
 
-#: vhffs-public/group.pl:79
-msgid "No such group"
-msgstr "Ne trouve pas le groupe"
-
-#: vhffs-intl/template_strings.pl:13
-msgid "No user"
-msgstr "Pas d'utilisateur"
-
-#: vhffs-panel/group/prefs.pl:255
+#: vhffs-panel/group/prefs.pl:268
 msgid "No user for this group"
 msgstr "Aucun utilisateur pour ce groupe"
 
-#: vhffs-public/usersearch.pl:75
+#: vhffs-public/usersearch.pl:61
 msgid "No user found"
 msgstr "Aucun utilisateur trouvé"
 
-#: vhffs-public/websitesearch.pl:74
-msgid "No website found"
-msgstr "Aucun site web trouvé"
-
-#: vhffs-intl/template_strings.pl:47
-msgid "No websites"
-msgstr "Pas de site web"
-
-#: vhffs-panel/dns/prefs.pl:255 vhffs-panel/web/prefs.pl:112
-#: vhffs-panel/user/prefs.pl:329
+#: vhffs-panel/user/prefs.pl:346 vhffs-panel/dns/prefs.pl:254
+#: vhffs-panel/web/prefs.pl:109
 msgid "No, I'm not sure, I prefer to keep it."
 msgstr "Non, je suis pas sûr, je préfère le garder"
 
-#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/mail/prefs.pl:139
-#: vhffs-panel/git/prefs.pl:108 vhffs-panel/pgsql/prefs.pl:102
-#: vhffs-panel/cvs/prefs.pl:119 vhffs-panel/group/prefs.pl:216
-#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/svn/prefs.pl:100
-#: vhffs-panel/mailinglist/prefs.pl:182
+#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/pgsql/prefs.pl:102
+#: vhffs-panel/mailinglist/prefs.pl:182 vhffs-panel/cron/prefs.pl:153
+#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/svn/prefs.pl:101
+#: vhffs-panel/group/prefs.pl:229 vhffs-panel/mail/prefs.pl:138
+#: vhffs-panel/cvs/prefs.pl:106 vhffs-panel/git/prefs.pl:105
 msgid "No, I'm not sure, I prefer to keep this project."
 msgstr "Non, je ne suis pas sûr, je préfère garder ce projet"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:813
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:813
+#: vhffs-api/src/Vhffs/Panel/Main.pm:812
 msgid "None"
 msgstr "Aucun"
 
-#: vhffs-intl/template_strings.pl:84
-msgid "Normal"
-msgstr "Normal"
-
-#: vhffs-panel/git/prefs.pl:120 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/svn/prefs.pl:110 vhffs-panel/git/prefs.pl:114
 msgid "Notify changes on mailing-list :"
 msgstr "Notifier les changements sur une liste de diffusion"
 
-#: vhffs-panel/admin/object/list.pl:88
+#: vhffs-panel/admin/object/list.pl:86
 msgid "Object ID"
 msgstr "Identifiant de l'objet"
 
@@ -2799,8 +2623,7 @@
 msgid "Object deletion"
 msgstr "Suppression de l'objet"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:98 vhffs-panel/admin/object/edit.pl:94
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:98
+#: vhffs-panel/admin/object/edit.pl:92 vhffs-api/src/Vhffs/Panel/Object.pm:97
 msgid "Object id"
 msgstr "Identifiant de l'objet"
 
@@ -2808,7 +2631,7 @@
 msgid "Object name"
 msgstr "Nom de l'objet"
 
-#: vhffs-panel/admin/object/edit_submit.pl:95
+#: vhffs-panel/admin/object/edit_submit.pl:93
 msgid "Object successfully updated"
 msgstr "Objet mis à jour avec succès"
 
@@ -2820,61 +2643,61 @@
 msgid "Object-ID error"
 msgstr "Erreur sur l'identifiant de l'objet"
 
-#: vhffs-panel/mail/prefs.pl:145 vhffs-panel/git/prefs.pl:114
-#: vhffs-panel/dns/prefs.pl:247 vhffs-panel/svn/prefs.pl:106
-#: vhffs-panel/web/prefs.pl:105
+#: vhffs-panel/mysql/prefs.pl:108 vhffs-panel/cron/prefs.pl:146
+#: vhffs-panel/svn/prefs.pl:107 vhffs-panel/dns/prefs.pl:246
+#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:111
+#: vhffs-panel/web/prefs.pl:102
 msgid "Ok, go to ACL admin"
 msgstr "Aller à l'administration des ACL"
 
-#: vhffs-panel/admin/broadcast.pl:81
+#: vhffs-panel/admin/broadcast.pl:79
 msgid "Ok, send it !"
 msgstr "Envoyer"
 
-#: vhffs-panel/repository/prefs.pl:114 vhffs-panel/group/prefs.pl:279
+#: vhffs-panel/repository/prefs.pl:113 vhffs-panel/group/prefs.pl:294
 msgid "Only administrators are allowed to do this"
 msgstr "Seul les administrateurs sont autorisés à faire cela."
 
-#: vhffs-panel/user/prefs.pl:463
+#: vhffs-panel/user/prefs.pl:488
 msgid "Only administrators can do this"
 msgstr "Seul les administrateurs peuvent faire cela."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:58
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:58
 msgid "Only this list administrators can use the following commands.\n"
 msgstr ""
 "Les administrateurs de cette liste peuvent utiliser les commandes "
 "suivantes.\n"
 
-#: vhffs-panel/mailinglist/prefs.pl:111
+#: vhffs-panel/mailinglist/prefs.pl:110
 msgid "Open for everyone"
 msgstr "Ouvert à tous"
 
-#: vhffs-panel/mailinglist/prefs.pl:113
+#: vhffs-panel/mailinglist/prefs.pl:112
 msgid "Open for members, moderated for non-members"
 msgstr "Ouvert aux membres, modéré pour les non-membres"
 
-#: vhffs-panel/mailinglist/prefs.pl:108
+#: vhffs-panel/mailinglist/prefs.pl:107
 msgid "Open, approval required"
 msgstr "Ouvert, approbation nécessaire"
 
-#: vhffs-panel/mailinglist/prefs.pl:107
+#: vhffs-panel/mailinglist/prefs.pl:106
 msgid "Open, no approval required"
 msgstr "Ouvert, pas d'approbation"
 
-#: vhffs-intl/template_strings.pl:71 vhffs-panel/git/prefs.pl:119
-#: vhffs-panel/svn/prefs.pl:108 vhffs-panel/mailinglist/prefs.pl:105
+#: vhffs-panel/mailinglist/prefs.pl:104 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/git/prefs.pl:113
 msgid "Options"
 msgstr "Options"
 
-#: vhffs-intl/template_strings.pl:6 vhffs-intl/template_strings.pl:11
-msgid "Owned by"
-msgstr "Appartient à"
+#: vhffs-panel/subscribe.pl:260
+msgid "Or listen to the code"
+msgstr "Ou écoutez le code"
 
-#: vhffs-panel/group/create.pl:88
+#: vhffs-panel/group/create.pl:102
 msgid "Owner"
 msgstr "Propriétaire"
 
-#: vhffs-panel/admin/object/list.pl:90
+#: vhffs-panel/admin/object/list.pl:88
 msgid "Owner group"
 msgstr "Groupe propriétaire"
 
@@ -2882,63 +2705,58 @@
 msgid "Owner name"
 msgstr "Propriétaire"
 
-#: vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/object/list.pl:87
 msgid "Owner user"
 msgstr "Propriétaire de l'objet"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:67 vhffs-panel/mail/prefs.pl:116
-#: vhffs-panel/user/prefs.pl:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:67
+#: vhffs-panel/user/prefs.pl:326 vhffs-panel/mail/prefs.pl:115
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:67
 msgid "Password"
 msgstr "Mot de passe"
 
-#: vhffs-panel/pgsql/prefs.pl:135 vhffs-panel/mysql/prefs.pl:146
+#: vhffs-panel/mysql/prefs.pl:147 vhffs-panel/pgsql/prefs.pl:135
 msgid "Password change request taken in account, please wait for processing"
 msgstr ""
 "Demande de changement de mot de passe prise en compte, veuillez patienter "
 "pendant l'opération"
 
-#: vhffs-panel/user/prefs.pl:168
+#: vhffs-panel/user/prefs.pl:170
 msgid "Password changed"
 msgstr "Mot de passe modifié"
 
-#: vhffs-panel/pgsql/prefs.pl:90 vhffs-panel/mysql/prefs.pl:101
+#: vhffs-panel/mysql/prefs.pl:102 vhffs-panel/pgsql/prefs.pl:90
 msgid "Password for this database"
 msgstr "Mot de passe pour cette base de données"
 
-#: vhffs-panel/lost_ack.pl:82
+#: vhffs-panel/lost_ack.pl:85
 msgid "Password recovery failed!"
 msgstr "Le mot de passe n'a pas été retrouvé"
 
-#: vhffs-panel/user/prefs.pl:141
+#: vhffs-panel/user/prefs.pl:143
 msgid "Passwords don't match"
 msgstr "Les mots de passe ne correspondent pas"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:66 vhffs-api/src/Vhffs/Panel/Menu.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:115
+#: vhffs-panel/cron/prefs.pl:92 vhffs-panel/cron/create.pl:107
+msgid "Path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:119
 msgid "PgSQL"
 msgstr "PostgreSQL"
 
-#: vhffs-intl/extra_strings.pl:40
-msgid "PgSQL DB"
-msgstr "Base de donnée postgreSQL"
-
-#: vhffs-panel/admin/stats.pl:158
+#: vhffs-panel/admin/stats.pl:157
 msgid "PgSQL stats"
 msgstr "Statistiques PostgreSQL"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:324
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:324
+#: vhffs-api/src/Vhffs/Panel/Main.pm:326
 msgid "Platform temporary closed."
 msgstr "Plate-forme fermée temporairement."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:313
+#: vhffs-api/src/Vhffs/Panel/Main.pm:315
 msgid "Platform temporary closed<br/>database error"
 msgstr "Plate-forme fermée temporairement<br/>Erreur de base de données"
 
-#: vhffs-panel/group/create.pl:92 vhffs-panel/object/resubmit.pl:131
+#: vhffs-panel/object/resubmit.pl:131 vhffs-panel/group/create.pl:106
 #: vhffs-panel/web/create.pl:104
 msgid ""
 "Please consider that this description is going to be displayed in the public "
@@ -2951,28 +2769,27 @@
 "temps et les règles de grammaire. Prenez tout le temps nécessaire pour la "
 "remplir avec le meilleur contenu que vous pouvez produire."
 
-#: vhffs-panel/subscribe.pl:159
+#: vhffs-panel/subscribe.pl:161
 msgid "Please enter a correct city"
 msgstr "Merci d'entrer un nom de ville correcte"
 
-#: vhffs-panel/subscribe.pl:163
+#: vhffs-panel/subscribe.pl:165
 msgid "Please enter a correct country"
 msgstr "Merci d'entrer un nom de pays correct"
 
-#: vhffs-panel/subscribe.pl:151
+#: vhffs-panel/subscribe.pl:153
 msgid "Please enter a correct firstname"
 msgstr "Merci d'entrer un prénom correct"
 
-#: vhffs-panel/subscribe.pl:155
+#: vhffs-panel/subscribe.pl:157
 msgid "Please enter a correct lastname"
 msgstr "Merci d'entrer un nom correct"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:64
 msgid "Please enter your username and password"
 msgstr "Veuillez entrer votre nom d'utilisateur et votre mot de passe"
 
-#: vhffs-panel/subscribe.pl:222
+#: vhffs-panel/subscribe.pl:237
 msgid ""
 "Please fill in all fields, a mail containing your password will be sent to "
 "you"
@@ -2981,40 +2798,40 @@
 "sera envoyé"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:299
 msgid "Please read help of listengine\n"
 msgstr "Veuillez lire l'aide de listengine\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:196
 msgid "Please try again !\n"
 msgstr "Veuillez réessayer !\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:242
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:242
 msgid "Please try again.\n"
 msgstr "Veuillez réessayer.\n"
 
-#: vhffs-panel/lost_ack.pl:74
+#: vhffs-panel/lost_ack.pl:77
 #, perl-format
 msgid "Please wait %s, a new password will be sent to you in a few minutes..."
 msgstr ""
 "Veuillez patienter %s, un nouveau mot de passe va vous être envoyé dans "
 "quelques minutes..."
 
-#: vhffs-panel/subscribe.pl:189
+#: vhffs-panel/subscribe.pl:191
 msgid ""
 "Please wait while we are creating the account, it will take some minutes"
 msgstr ""
 "Merci de patienter pendant que nous créons votre compte. Cela prendra "
 "quelques minutes"
 
-#: vhffs-panel/dns/prefs.pl:296 vhffs-panel/dns/prefs.pl:381
+#: vhffs-panel/admin/stats.pl:185
+msgid "Popular tags"
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
 msgid "Port"
 msgstr "Port"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:240
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:260
 msgid "PostgreSQL Admin"
 msgstr "Administration de la base de donnée PostgreSQL"
 
@@ -3022,7 +2839,7 @@
 msgid "PostgreSQL Administration"
 msgstr "Administration des bases PostgreSQL"
 
-#: vhffs-panel/pgsql/index.pl:60
+#: vhffs-panel/pgsql/index.pl:61
 #, perl-format
 msgid "PostgreSQL DBs for %s"
 msgstr "Bases PostgreSQL pour %s"
@@ -3039,26 +2856,23 @@
 msgid "PostgreSQL password for this database "
 msgstr "Mot de passe pour la base de donnée PostgreSQL"
 
-#: vhffs-panel/mailinglist/prefs.pl:110
+#: vhffs-panel/mailinglist/prefs.pl:109
 msgid "Posting control:"
 msgstr "Contrôle des envois:"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:558
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:558
+#: vhffs-api/src/Vhffs/Panel/Main.pm:545
 msgid "Preferences"
 msgstr "Préférences"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
 msgid "Prefix already exists"
 msgstr "Ce préfixe existe déjà"
 
-#: vhffs-panel/mailinglist/prefs.pl:138
+#: vhffs-panel/mailinglist/prefs.pl:137
 msgid "Prefix on subject"
 msgstr "Préfixe devant le sujet du mail"
 
-#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:299 vhffs-panel/dns/prefs.pl:384
 msgid "Priority"
 msgstr "Priorité"
 
@@ -3066,87 +2880,85 @@
 msgid "Priority of your MX"
 msgstr "Priorité de votre MX"
 
-#: vhffs-panel/dns/prefs.pl:341
+#: vhffs-panel/dns/prefs.pl:343
 msgid "Priority: "
 msgstr "Priorité : "
 
-#: vhffs-panel/group/prefs.pl:207
+#: vhffs-panel/group/prefs.pl:220
 msgid "Project Description"
 msgstr "Description du groupe/projet"
 
-#: vhffs-panel/group/history.pl:75
+#: vhffs-panel/group/history.pl:76
 msgid "Project History"
 msgstr "Historique du projet"
 
-#: vhffs-panel/group/create.pl:85
+#: vhffs-panel/group/create.pl:99
 msgid "Project Name"
 msgstr "Nom du groupe"
 
-#: vhffs-panel/group/prefs.pl:205
+#: vhffs-panel/group/prefs.pl:218
 msgid "Project Owner"
 msgstr "Propriétaire du groupe"
 
-#: vhffs-panel/group/prefs.pl:201
+#: vhffs-panel/group/prefs.pl:214
 msgid "Project Preferences"
 msgstr "Préférences du groupe"
 
-#: vhffs-panel/group/create.pl:76
+#: vhffs-panel/group/create.pl:89
 msgid "Project Successfully created !"
 msgstr "Projet créé avec succès"
 
-#: vhffs-panel/group/prefs.pl:226
+#: vhffs-panel/group/prefs.pl:239
 msgid "Project contact"
 msgstr "Contact du projet"
 
-#: vhffs-panel/group/prefs.pl:209 vhffs-panel/group/create.pl:87
+#: vhffs-panel/group/prefs.pl:222 vhffs-panel/group/create.pl:101
 msgid "Project full name"
 msgstr "Nom complet du projet"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:451
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:451
-msgid "Project home"
-msgstr "Accueil du projet"
-
 #: vhffs-panel/group/index.pl:62
 msgid "Projects you contribute to"
 msgstr "Vos contributions"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:809 vhffs-panel/group/index.pl:64
-#: vhffs-panel/object/resubmit.pl:108
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:809
+#: vhffs-panel/object/resubmit.pl:108 vhffs-panel/group/index.pl:64
+#: vhffs-api/src/Vhffs/Panel/Main.pm:808
 msgid "Propose a new description"
 msgstr "Proposer une nouvelle description"
 
-#: vhffs-panel/dns/prefs.pl:293
+#: vhffs-panel/dns/prefs.pl:295
 msgid "Protocol"
 msgstr "Protocole"
 
-#: vhffs-panel/git/prefs.pl:99 vhffs-panel/svn/prefs.pl:91
+#: vhffs-panel/admin/tag/category/create.pl:73
+#: vhffs-panel/admin/tag/category/edit.pl:84 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/git/prefs.pl:96
 msgid "Public"
 msgstr "Publique"
 
-#: vhffs-panel/mailinglist/prefs.pl:136
+#: vhffs-panel/admin/tag/category/create.pl:72
+#: vhffs-panel/admin/tag/category/edit.pl:83
+msgid "Public (available on group creation)"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:135
 msgid "Public archives"
 msgstr "Archives publiques"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:70
+#: vhffs-api/src/Vhffs/Panel/Main.pm:71
 msgid "Public area is not available on this platform."
 msgstr "La zone publique n'est pas disponible."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:69
+#: vhffs-api/src/Vhffs/Panel/Main.pm:70
 msgid "Public area not available"
 msgstr "La zone publique n'est pas disponible."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:550 vhffs-panel/repository/prefs.pl:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:550
+#: vhffs-panel/repository/prefs.pl:84 vhffs-api/src/Vhffs/Panel/Main.pm:537
 #, perl-format
 msgid "Quota (used/total) : %s/%s"
 msgstr "Quota (utilisé/total) : %s/%s"
 
+#: vhffs-public/extern/newusersrss.pl:102
 #: vhffs-public/extern/newgroupsrss.pl:103
-#: vhffs-public/extern/newusersrss.pl:102
 msgid "RSS infos are not published"
 msgstr "Les informations ne sont pas publiées au format RSS"
 
@@ -3158,62 +2970,66 @@
 msgid "Reason of refusal"
 msgstr "Raison du refus"
 
-#: vhffs-panel/subscribe.pl:239
+#: vhffs-panel/user/prefs.pl:467
+msgid "Receive mails from the newsletter"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:258
 msgid "Recopy the code"
 msgstr "Recopier le code"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:161 vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:285 vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:161
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:353
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:209
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:239 vhffs-api/src/Vhffs/Panel/DNS.pm:264
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:289 vhffs-api/src/Vhffs/Panel/DNS.pm:331
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:358
 msgid "Record does not exists"
 msgstr "L'enregistrement n'existe pas"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:160
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:160
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:161
 msgid "Record type doesn't exists"
 msgstr "Ce type d'enregistrement n'existe pas"
 
-#: vhffs-panel/admin/moderation.pl:90 vhffs-panel/admin/moderation.pl:117
+#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
 msgid "Refuse"
 msgstr "Refuser"
 
-#: vhffs-panel/group/prefs.pl:254
+#: vhffs-panel/group/prefs.pl:267
 msgid "Remove"
 msgstr "Enlever"
 
-#: vhffs-panel/mailinglist/prefs.pl:137
+#: vhffs-panel/mailinglist/prefs.pl:136
 msgid "Reply to: on list"
 msgstr "Champ Reply-to: sur la liste"
 
-#: vhffs-panel/repository/create.pl:92 vhffs-panel/git/create.pl:96
-#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/cvs/create.pl:102
-#: vhffs-panel/svn/create.pl:96
+#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/repository/create.pl:92
+#: vhffs-panel/svn/create.pl:96 vhffs-panel/cvs/create.pl:102
+#: vhffs-panel/git/create.pl:96
 msgid "Repository Name"
 msgstr "Nom du dépôt"
 
-#: vhffs-intl/template_strings.pl:50
-msgid "Repository Quota"
-msgstr "Quota du dépôt"
-
-#: vhffs-panel/repository/prefs.pl:133
+#: vhffs-panel/repository/prefs.pl:128
 msgid "Repository updated, please wait while quota is updated on filesystem"
 msgstr ""
 "Dépôt modifié, veuillez patienter jusqu'à la mise à jour du quota sur le "
 "système de fichiers"
 
+#: vhffs-panel/group/prefs.pl:444
+msgid "Request canceled"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:433
+msgid "Request not found"
+msgstr ""
+
 #: vhffs-panel/mailinglist/prefs.pl:263
 #, perl-format
 msgid "Rights for subscriber %s updated"
 msgstr "Les droits pour le membre %s ont été mis a jour"
 
+#: vhffs-panel/cron/prefs.pl:137
+msgid "Running"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:198
 msgid "SRV Record added"
 msgstr "Enregistrement SRV ajouté"
@@ -3226,26 +3042,19 @@
 msgid "SRV Record updated"
 msgstr "Enregistrement SRV mis à jour"
 
-#: vhffs-panel/dns/prefs.pl:290
+#: vhffs-panel/dns/prefs.pl:291
 msgid "SRV TYPE"
 msgstr "Type SRV"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:117
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:121
 msgid "SVN"
 msgstr "SVN"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:170
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:190
 msgid "SVN Admin"
 msgstr "Administration du dépôt SVN"
 
-#: vhffs-intl/extra_strings.pl:42
-msgid "SVN Repository"
-msgstr "Dépôt subversion"
-
-#: vhffs-panel/svn/index.pl:60
+#: vhffs-panel/svn/index.pl:61
 #, perl-format
 msgid "SVN repositories for %s"
 msgstr "Dépôt subversion pour %s"
@@ -3258,117 +3067,91 @@
 msgid "SVN root"
 msgstr "Racine du dépôt SVN"
 
-#: vhffs-panel/admin/stats.pl:127
+#: vhffs-panel/admin/stats.pl:126
 msgid "SVN stats"
 msgstr "Statistiques Subversion"
 
-#: vhffs-panel/mailinglist/prefs.pl:141
+#: vhffs-panel/mailinglist/prefs.pl:140
 msgid "Save options"
 msgstr "Sauvegarder les options"
 
-#: vhffs-intl/template_strings.pl:25 vhffs-intl/template_strings.pl:32
-#: vhffs-intl/template_strings.pl:38
-msgid "Search"
-msgstr "Chercher"
-
-#: vhffs-intl/template_strings.pl:29
-msgid "Search a group"
-msgstr "Chercher un groupe"
-
-#: vhffs-intl/template_strings.pl:35
-msgid "Search a website"
-msgstr "Chercher un site web"
-
-#: vhffs-panel/admin/object/search.pl:77
+#: vhffs-panel/admin/object/search.pl:75
 msgid "Search an object (give object_id)"
 msgstr "Rechercher un objet (en donnant son identifiant oid)"
 
-#: vhffs-intl/template_strings.pl:21
-msgid "Search an user"
-msgstr "Chercher un utilisateur"
-
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:186 vhffs-panel/admin/cvs/search.pl:78
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:186
+#: vhffs-panel/admin/cvs/search.pl:76 vhffs-api/src/Vhffs/Panel/Admin.pm:206
 msgid "Search for a CVS repository"
 msgstr "Rechercher un dépôt CVS"
 
-#: vhffs-panel/admin/repository/search.pl:78
+#: vhffs-panel/admin/repository/search.pl:76
 msgid "Search for a Download repository"
 msgstr "Rechercher un espace de téléchargement"
 
-#: vhffs-panel/admin/git/search.pl:80
+#: vhffs-panel/admin/git/search.pl:78
 msgid "Search for a GIT repository"
 msgstr "Rechercher un dépôt Git"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:204
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:204
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:224
 msgid "Search for a Git repository"
 msgstr "Rechercher un dépôt Git"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:221
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:221
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:241
 msgid "Search for a MySQL database"
 msgstr "Rechercher une base de données MySQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:238
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:258
 msgid "Search for a Pg database"
 msgstr "Rechercher une base de données PostgreSQL"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:168 vhffs-panel/admin/svn/search.pl:80
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:168
+#: vhffs-panel/admin/svn/search.pl:78 vhffs-api/src/Vhffs/Panel/Admin.pm:188
 msgid "Search for a SVN repository"
 msgstr "Rechercher un dépôt svn"
 
-#: vhffs-panel/admin/pgsql/search.pl:79 vhffs-panel/admin/mysql/search.pl:79
+#: vhffs-panel/admin/cron/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:346
+msgid "Search for a cron job"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/search.pl:77 vhffs-panel/admin/pgsql/search.pl:77
 msgid "Search for a database"
 msgstr "Recherche d'une base de données"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:291 vhffs-panel/admin/dns/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:291
+#: vhffs-panel/admin/dns/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:311
 msgid "Search for a domain name"
 msgstr "Recherche d'un nom de domaine"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:309
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:329
 msgid "Search for a download repository"
 msgstr "Rechercher un espace de téléchargement"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:133 vhffs-panel/admin/group/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:133
+#: vhffs-panel/admin/group/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:133
 msgid "Search for a group"
 msgstr "Rechercher un groupe"
 
-#: vhffs-panel/admin/mailinglist/search.pl:78
+#: vhffs-panel/admin/mailinglist/search.pl:76
 msgid "Search for a list"
 msgstr "Rechercher une liste de diffusion"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:255 vhffs-panel/admin/mail/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:255
+#: vhffs-panel/admin/mail/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:275
 msgid "Search for a mail domain"
 msgstr "Rechercher un domaine mail"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:273
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
 msgid "Search for a mailing list"
 msgstr "Rechercher une liste de diffusion"
 
-#: vhffs-panel/admin/web/search.pl:79
+#: vhffs-panel/admin/web/search.pl:77
 msgid "Search for a web area"
 msgstr "Rechercher un site web"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:151
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:171
 msgid "Search for a webarea"
 msgstr "Rechercher un espace web"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:97
 msgid "Search for an object"
 msgstr "Rechercher un objet"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:116 vhffs-panel/admin/user/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:116
+#: vhffs-panel/admin/user/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:116
 msgid "Search for an user"
 msgstr "Rechercher un utilisateur"
 
@@ -3376,12 +3159,12 @@
 msgid "Search result"
 msgstr "Résultat de la recherche"
 
-#: vhffs-panel/admin/object/list.pl:81
+#: vhffs-panel/admin/object/list.pl:79
 msgid "Search result "
 msgstr "Résultat de la recherche "
 
-#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/mailinglist/list.pl:72
-#: vhffs-panel/admin/web/list.pl:63 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mailinglist/list.pl:72 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/web/list.pl:63
 msgid "Search result for"
 msgstr "Résultat de la recherche pour"
 
@@ -3389,6 +3172,10 @@
 msgid "Search result for CVS repository"
 msgstr "Résultat de la recherche de dépôt CVS"
 
+#: vhffs-panel/admin/cron/list.pl:75
+msgid "Search result for Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:68
 msgid "Search result for Download repository"
 msgstr "Résultat de la recherche d'espace de téléchargement"
@@ -3397,7 +3184,7 @@
 msgid "Search result for Subversion repository"
 msgstr "Résultat de la recherche de dépôt Subversion"
 
-#: vhffs-panel/admin/pgsql/list.pl:69 vhffs-panel/admin/mysql/list.pl:75
+#: vhffs-panel/admin/mysql/list.pl:75 vhffs-panel/admin/pgsql/list.pl:69
 msgid "Search result for database"
 msgstr "Résultat de la recherche de base de données"
 
@@ -3409,32 +3196,36 @@
 msgid "Search result for git repository"
 msgstr "Résultat de la recherche de dépôt Git"
 
-#: vhffs-panel/mail/prefs.pl:189
-msgid "Selected mailbox doesn't exist for this mail domain"
-msgstr "La boite selectionnée n'existe pas sur ce domaine"
+#: vhffs-public/groupsearch.pl:87
+msgid "Search results"
+msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:103 vhffs-panel/repository/create.pl:97
-#: vhffs-panel/mail/create.pl:96 vhffs-panel/git/create.pl:102
-#: vhffs-panel/dns/create.pl:78 vhffs-panel/pgsql/create.pl:109
-#: vhffs-panel/admin/object/edit.pl:99 vhffs-panel/admin/broadcast_view.pl:101
-#: vhffs-panel/admin/broadcast_list.pl:100 vhffs-panel/cvs/create.pl:107
-#: vhffs-panel/group/create.pl:90 vhffs-panel/mysql/create.pl:109
-#: vhffs-panel/svn/create.pl:101 vhffs-panel/mailinglist/create.pl:112
-#: vhffs-panel/web/create.pl:102 vhffs-panel/alert.pl:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:103
+#: vhffs-panel/mail/prefs.pl:188
+msgid ""
+"Selected mailbox doesn't exist for this mail domain or is not yet active."
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:109 vhffs-panel/pgsql/create.pl:110
+#: vhffs-panel/admin/broadcast_list.pl:98
+#: vhffs-panel/admin/broadcast_view.pl:99 vhffs-panel/admin/object/edit.pl:97
+#: vhffs-panel/mailinglist/create.pl:112 vhffs-panel/cron/create.pl:117
+#: vhffs-panel/repository/create.pl:97 vhffs-panel/svn/create.pl:101
+#: vhffs-panel/alert.pl:60 vhffs-panel/dns/create.pl:79
+#: vhffs-panel/group/create.pl:104 vhffs-panel/mail/create.pl:97
+#: vhffs-panel/cvs/create.pl:107 vhffs-panel/git/create.pl:102
+#: vhffs-panel/web/create.pl:102 vhffs-api/src/Vhffs/Panel/Object.pm:102
 msgid "Send"
 msgstr "Envoyer"
 
-#: vhffs-panel/admin/broadcast.pl:77
+#: vhffs-panel/admin/broadcast.pl:75
 msgid "Send an email to all hosted people"
 msgstr "Envoyer un mail à tous les hébergés"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:300
 msgid "Send an email with the subject \"help\" to the following address: \n"
 msgstr "Envoyez un mail ayant pour sujet \"help\" à l'adresse suivante : \n"
 
-#: vhffs-panel/user/prefs.pl:336 vhffs-panel/user/prefs.pl:338
+#: vhffs-panel/user/prefs.pl:353 vhffs-panel/user/prefs.pl:355
 msgid "Send my avatar"
 msgstr "Envoyer mon avatar"
 
@@ -3442,52 +3233,53 @@
 msgid "Servername"
 msgstr "Directive ServerName (nom du site)"
 
-#: vhffs-panel/dns/prefs.pl:294
+#: vhffs-panel/dns/prefs.pl:296
 msgid "Service"
 msgstr "Service"
 
-#: vhffs-panel/user/prefs.pl:313
+#: vhffs-panel/user/prefs.pl:330
 msgid "Shell"
 msgstr "Shell"
 
-#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/mail/list.pl:86
-#: vhffs-panel/admin/git/list.pl:83 vhffs-panel/admin/dns/list.pl:86
-#: vhffs-panel/admin/pgsql/list.pl:87 vhffs-panel/admin/cvs/list.pl:86
-#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mysql/list.pl:94
-#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/mailinglist/list.pl:90
-#: vhffs-panel/admin/web/list.pl:82 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/mysql/list.pl:94 vhffs-panel/admin/pgsql/list.pl:87
+#: vhffs-panel/admin/mailinglist/list.pl:90 vhffs-panel/admin/cron/list.pl:94
+#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/dns/list.pl:86
+#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mail/list.pl:86
+#: vhffs-panel/admin/cvs/list.pl:86 vhffs-panel/admin/git/list.pl:83
+#: vhffs-panel/admin/web/list.pl:82
 msgid "Show"
 msgstr "Voir"
 
-#: vhffs-intl/template_strings.pl:73
-msgid "Signature"
-msgstr "Signature"
+#: vhffs-panel/cron/prefs.pl:135
+msgid "Sleeping"
+msgstr ""
 
 #: vhffs-panel/acl/view.pl:92
 msgid "Sorry, can't add or update ACL"
 msgstr "Une erreur est survenue lors de l'ajout ou de la mise à jour de l'ACL"
 
-#: vhffs-panel/mail/prefs.pl:247
+#: vhffs-panel/mail/prefs.pl:246
 msgid "Spam status updated"
 msgstr "L'état concernant la protection spam a été mis a jour"
 
-#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/mail/list.pl:77
-#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/dns/list.pl:77
-#: vhffs-panel/admin/pgsql/list.pl:78 vhffs-panel/admin/cvs/list.pl:78
-#: vhffs-panel/admin/group/list.pl:82 vhffs-panel/admin/mysql/list.pl:84
-#: vhffs-panel/admin/object/list.pl:91 vhffs-panel/admin/svn/list.pl:72
-#: vhffs-panel/admin/mailinglist/list.pl:81 vhffs-panel/admin/web/list.pl:72
-#: vhffs-panel/admin/user/list.pl:72 vhffs-panel/admin/broadcast_view.pl:88
+#: vhffs-panel/admin/mysql/list.pl:84 vhffs-panel/admin/pgsql/list.pl:78
+#: vhffs-panel/admin/mailinglist/list.pl:81
+#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/admin/cron/list.pl:84
+#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/user/list.pl:72
+#: vhffs-panel/admin/svn/list.pl:72 vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/dns/list.pl:77 vhffs-panel/admin/group/list.pl:82
+#: vhffs-panel/admin/mail/list.pl:77 vhffs-panel/admin/cvs/list.pl:78
+#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/web/list.pl:72
+#: vhffs-panel/cron/prefs.pl:131
 msgid "State"
 msgstr "État"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:101 vhffs-panel/admin/object/edit.pl:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:101
+#: vhffs-panel/admin/object/edit.pl:95 vhffs-api/src/Vhffs/Panel/Object.pm:100
 msgid "Status"
 msgstr "État"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:664
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:664
+#: vhffs-api/src/Vhffs/Panel/Main.pm:660
 msgid "Stay over an icon to see its description."
 msgstr "Restez sur une une icône pour voir la description"
 
@@ -3499,45 +3291,42 @@
 msgid "Subdomain name"
 msgstr "Nom de sous-domaine"
 
-#: vhffs-panel/admin/broadcast_view.pl:87 vhffs-panel/admin/broadcast.pl:79
+#: vhffs-panel/admin/broadcast_view.pl:85 vhffs-panel/admin/broadcast.pl:77
 #: vhffs-panel/alert.pl:58
 msgid "Subject"
 msgstr "Sujet"
 
-#: vhffs-panel/dns/prefs.pl:273 vhffs-panel/dns/prefs.pl:279
-#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/object/resubmit.pl:134
+#: vhffs-panel/object/resubmit.pl:134 vhffs-panel/dns/prefs.pl:273
+#: vhffs-panel/dns/prefs.pl:279 vhffs-panel/dns/prefs.pl:302
 msgid "Submit"
 msgstr "Envoyer"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:438
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:438
+#: vhffs-api/src/Vhffs/Panel/Main.pm:428
 msgid "Submit a bug"
 msgstr "Signaler un dysfonctionnement"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:70 vhffs-panel/subscribe.pl:231
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:70
+#: vhffs-panel/subscribe.pl:246 vhffs-api/src/Vhffs/Panel/Commons.pm:72
 msgid "Subscribe"
 msgstr "Inscription"
 
-#: vhffs-panel/mailinglist/prefs.pl:106
+#: vhffs-panel/mailinglist/prefs.pl:105
 msgid "Subscribe control:"
 msgstr "Contrôle des inscriptions :"
 
-#: vhffs-intl/template_strings.pl:77
-msgid "Subscribed"
-msgstr "Inscrit"
+#: vhffs-panel/subscribe.pl:266 vhffs-panel/subscribe.pl:268
+msgid "Subscribe to the newsletter"
+msgstr ""
 
 #: vhffs-panel/mailinglist/prefs.pl:242
 #, perl-format
 msgid "Subscriber %s deleted"
 msgstr "Le membre %s a été supprimé"
 
-#: vhffs-panel/subscribe.pl:221
+#: vhffs-panel/subscribe.pl:236
 msgid "Subscription"
 msgstr "Inscription"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:135
 #, perl-format
 msgid ""
 "Subscription to the following list is forbidden:\n"
@@ -3550,39 +3339,105 @@
 "\n"
 "Merci de votre compréhension.\n"
 
-#: vhffs-intl/template_strings.pl:43
-msgid "Subversion Repositories for this group"
-msgstr "Dépôts subversion sur ce groupe"
-
 #: vhffs-panel/object/upavatar.pl:126
 msgid "Successfully created or updated avatar"
 msgstr "Avatar créé ou modifié avec succès "
 
-#: vhffs-intl/extra_strings.pl:26 vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-api/src/Vhffs/Panel/Object.pm:128
-#: vhffs-panel/admin/object/edit.pl:122 vhffs-panel/admin/object/edit.pl:123
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:128
+#: vhffs-panel/admin/object/edit.pl:121
+#: vhffs-api/src/Vhffs/Panel/Object.pm:127
 msgid "Suspended"
 msgstr "Suspendu"
 
-#: vhffs-intl/extra_strings.pl:27
-msgid "Suspended before deletion"
-msgstr "Suspendu avant suppression"
-
-#: vhffs-panel/dns/prefs.pl:203
+#: vhffs-panel/dns/prefs.pl:202
 msgid "TXT Record added"
 msgstr "Enregistrement TXT ajouté"
 
-#: vhffs-panel/dns/prefs.pl:214
+#: vhffs-panel/dns/prefs.pl:213
 msgid "TXT Record deleted"
 msgstr "Enregistrement TXT supprimé"
 
-#: vhffs-panel/dns/prefs.pl:209
+#: vhffs-panel/dns/prefs.pl:208
 msgid "TXT Record updated"
 msgstr "Enregistrement TXT mis à jour"
 
-#: vhffs-panel/mail/create.pl:97
+#: vhffs-panel/group/prefs.pl:350
+msgid "Tag added"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/list.pl:69
+msgid "Tag categories"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:57
+msgid "Tag category successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:69
+msgid "Tag category successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:59 vhffs-panel/group/prefs.pl:383
+msgid "Tag deleted"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:409
+msgid "Tag name can't be empty"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:180 vhffs-panel/group/prefs.pl:339
+#: vhffs-panel/group/prefs.pl:372
+msgid "Tag not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:66
+msgid "Tag not found!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:83
+msgid "Tag request accepted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:93
+msgid "Tag request deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:101
+msgid "Tag request details"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:75
+msgid "Tag request not found"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:418
+msgid "Tag request saved, please wait while a moderator approve it"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:57
+msgid "Tag successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:70
+msgid "Tag successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:69
+msgid "Tags"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:156
+msgid "Tags Admin"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:174
+msgid "Tags stats"
+msgstr ""
+
+#: vhffs-panel/admin/tag/index.pl:56
+msgid "Tags' administration"
+msgstr ""
+
+#: vhffs-panel/mail/create.pl:98
 msgid "Tell us for what purpose you want to create this mail domain"
 msgstr "Expliquez quel sera l'usage de ce domaine mail"
 
@@ -3594,13 +3449,11 @@
 msgid "Tell us what the use of this web space will be"
 msgstr "Expliquez quel sera l'usage de ce site web"
 
-#: vhffs-panel/dns/prefs.pl:306
+#: vhffs-panel/dns/prefs.pl:308
 msgid "Text"
 msgstr "Texte"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:342 vhffs-api/src/Vhffs/Panel/DNS.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:342
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:354
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:346 vhffs-api/src/Vhffs/Panel/DNS.pm:359
 msgid "Text can't be empty"
 msgstr "Le texte ne peut être vide"
 
@@ -3608,7 +3461,11 @@
 msgid "The CVS object was successfully created !"
 msgstr "Dépôt CVS créé avec succès"
 
-#: vhffs-panel/dns/create.pl:57
+#: vhffs-panel/cron/create.pl:94
+msgid "The Cron job was successfully created !"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:58
 msgid "The DNS object was successfully created !"
 msgstr "Le nom de domaine a été créé avec succès !"
 
@@ -3628,7 +3485,7 @@
 msgid "The SVN object was successfully created !"
 msgstr "Le dépôt SVN a été créé avec succès !"
 
-#: vhffs-panel/user/prefs.pl:339
+#: vhffs-panel/user/prefs.pl:356
 msgid ""
 "The avatar is a pictures that describes you. You can upload an PNG image and "
 "use it as avatar. This image will then appear in the public section."
@@ -3637,16 +3494,15 @@
 "format PNG et l'envoyer pour l'utiliser comme avatar. Cette image apparaitra "
 "sur votre profil dans la section publique."
 
-#: vhffs-panel/group/prefs.pl:246
+#: vhffs-panel/group/prefs.pl:259
 msgid "The avatar is an image to describe the group"
 msgstr "L'avatar est une image utilisée pour décrire graphiquement le groupe"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:195
 msgid "The confirmation code was wrong\n"
 msgstr "Le code de confirmation était erroné\n"
 
-#: vhffs-panel/pgsql/create.pl:102 vhffs-panel/mysql/create.pl:102
+#: vhffs-panel/mysql/create.pl:102 vhffs-panel/pgsql/create.pl:102
 #, perl-format
 msgid ""
 "The database name is prefixed by your groupname followed by an underscore (%"
@@ -3656,18 +3512,18 @@
 "underscore (%s_dbname). L'utilisateur de la base est le nom complet de la "
 "base(%s_dbname)."
 
-#: vhffs-panel/group/prefs.pl:181
+#: vhffs-panel/cron/prefs.pl:180 vhffs-panel/cron/create.pl:92
+#: vhffs-panel/group/prefs.pl:186
 msgid "The email you entered fails syntax check"
 msgstr "L'adresse email fournie n'a pas passé les tests de validité"
 
-#: vhffs-panel/group/prefs.pl:90 vhffs-panel/group/create.pl:72
+#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/create.pl:74
 msgid "The first letter of groupname and full name must be the same"
 msgstr ""
 "La première lettre de votre nom de groupe et du nom complet de votre groupe "
 "doit être la même"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:389
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:389
 #, perl-format
 msgid ""
 "The following address %s is not allowed to execute commands on the list %s\n"
@@ -3676,7 +3532,6 @@
 "liste %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:210
 #, perl-format
 msgid ""
 "The following address %s is not on the following mailing list:\n"
@@ -3685,8 +3540,7 @@
 "L'adresse suivante : %s n'est pas dans la liste de diffusion suivante :\n"
 "  %s\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:518
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:518
+#: vhffs-api/src/Vhffs/Panel/Main.pm:506
 msgid ""
 "The following projects have reached or are going to reach the disk quota "
 "limit, please take a look !"
@@ -3695,7 +3549,6 @@
 "limite d'espace disque, merci de regarder !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:270
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:270
 #, perl-format
 msgid ""
 "The listengine language preference was changed for the following address %"
@@ -3707,17 +3560,15 @@
 msgstr "La liste de diffusion a été créé avec succès !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:320
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:320
 msgid "The message does not exists or was moderated before you.\n"
 msgstr "Le message n'existe pas ou a été modéré avant votre passage.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:317
 #, perl-format
 msgid "The message with the following id %s"
 msgstr "Le message avec l'identifiant suivant %s"
 
-#: vhffs-panel/object/resubmit.pl:95 vhffs-panel/object/resubmit.pl:98
+#: vhffs-panel/object/resubmit.pl:94 vhffs-panel/object/resubmit.pl:98
 msgid "The new description has been submitted"
 msgstr "La nouvelle description a été soumise"
 
@@ -3726,7 +3577,6 @@
 msgstr "L'espace de téléchargement a été créé avec succès !"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:122
 msgid ""
 "The state of you subscription was not changed, you are still subscribed\n"
 msgstr ""
@@ -3737,11 +3587,11 @@
 msgid "The webarea was successfully created !"
 msgstr "L'espace web a été créé avec succès !"
 
-#: vhffs-panel/user/prefs.pl:312
+#: vhffs-panel/user/prefs.pl:329
 msgid "Theme"
 msgstr "Thème"
 
-#: vhffs-panel/user/prefs.pl:261
+#: vhffs-panel/user/prefs.pl:267
 msgid ""
 "There is a problem with the address you filled in your profile, unable to "
 "add forwarding"
@@ -3757,40 +3607,35 @@
 "Il n'y a pas de domaine mail par défaut sur cette plateforme, vous devez "
 "créer un domaine mail avant de créer une liste de diffusion"
 
-#: vhffs-panel/admin/moderation.pl:79
+#: vhffs-panel/admin/moderation.pl:78
 msgid "There is nothing to moderate"
 msgstr "Il n'y a rien à modérer"
 
-#: vhffs-panel/user/prefs.pl:412
+#: vhffs-panel/user/prefs.pl:429
 msgid "There is two possible usages :"
 msgstr "Il y a deux usages possibles : "
 
-#: vhffs-panel/cvs/delete.pl:86
+#: vhffs-panel/cvs/delete.pl:85
 msgid "This CVS repository will NOT be deleted"
 msgstr "Ce dépôt CVS ne sera PAS détruit"
 
-#: vhffs-panel/cvs/delete.pl:97
+#: vhffs-panel/cvs/delete.pl:96
 msgid "This CVS will be deleted"
 msgstr "Ce CVS sera détruit"
 
-#: vhffs-panel/pgsql/delete.pl:73
+#: vhffs-panel/pgsql/delete.pl:72
 msgid "This DB doesn't exist in VHFFS database"
 msgstr "Cet utilisateur n'existe pas sur la plateforme"
 
-#: vhffs-panel/repository/delete.pl:86
+#: vhffs-panel/repository/delete.pl:85
 msgid "This Download repository will NOT be deleted"
 msgstr "Cet espace de téléchargement ne sera PAS détruit"
 
-#: vhffs-panel/repository/delete.pl:99
+#: vhffs-panel/repository/delete.pl:98
 msgid "This Download repository will be deleted"
 msgstr "Cet espace de téléchargement sera détruit"
 
-#: vhffs-panel/repository/prefs.pl:89 vhffs-panel/mail/prefs.pl:136
-#: vhffs-panel/git/prefs.pl:105 vhffs-panel/dns/prefs.pl:252
-#: vhffs-panel/pgsql/prefs.pl:99 vhffs-panel/cvs/prefs.pl:116
-#: vhffs-panel/group/prefs.pl:213 vhffs-panel/mysql/prefs.pl:111
-#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/mailinglist/prefs.pl:179
-#: vhffs-panel/web/prefs.pl:109
+#: vhffs-panel/group/prefs.pl:226
 msgid ""
 "This action is non-reversible. All services associated to this project will "
 "be DESTROYED."
@@ -3798,70 +3643,124 @@
 "Cette action n'est pas réversible. Tous les services associés au projet "
 "seront DÉTRUITS."
 
-#: vhffs-panel/user/prefs.pl:326
-msgid "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#: vhffs-panel/cron/prefs.pl:150
+msgid "This action is non-reversible. This Cron job will be DESTROYED."
 msgstr ""
-"Cette action n'est pas réversible. Quand vous le supprimez, vous ne pouvez "
-"pas annuler."
 
-#: vhffs-panel/mail/prefs.pl:214
+#: vhffs-panel/mysql/prefs.pl:112
+msgid "This action is non-reversible. This MySQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/pgsql/prefs.pl:99
 msgid ""
+"This action is non-reversible. This PostgreSQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/cvs/prefs.pl:103
+msgid "This action is non-reversible. This cvs repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:251
+msgid "This action is non-reversible. This domain name will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/repository/prefs.pl:88
+msgid ""
+"This action is non-reversible. This download repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:102
+msgid "This action is non-reversible. This git repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:135
+msgid "This action is non-reversible. This mail area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:179
+msgid "This action is non-reversible. This mailing list will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:98
+msgid ""
+"This action is non-reversible. This subversion repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/web/prefs.pl:106
+msgid "This action is non-reversible. This web area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:343
+msgid "This action is non-reversible. Your user will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:213
+msgid ""
 "This box already exists for this domain or parameters are not valid. Check "
 "your domain."
 msgstr ""
 "Cette boîte mail existe déjà pour le domaine ou les paramètres transmis ne "
 "sont pas valides. Veuillez vérifier votre domaine"
 
-#: vhffs-panel/pgsql/delete.pl:93
+#: vhffs-panel/cron/delete.pl:70
+msgid "This cron job doesn't exist in VHFFS database"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:82
+msgid "This cron job will NOT be deleted"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:93
+msgid "This cron job will be deleted"
+msgstr ""
+
+#: vhffs-panel/pgsql/delete.pl:92
 msgid "This database cannot be deleted"
 msgstr "Cette base de données ne peut pas être détruite"
 
-#: vhffs-panel/mysql/delete.pl:71
+#: vhffs-panel/mysql/delete.pl:70
 msgid "This database doesn't exist in VHFFS database"
 msgstr "Cette base de données n'existe pas"
 
-#: vhffs-panel/mysql/delete.pl:83
+#: vhffs-panel/mysql/delete.pl:82
 msgid "This database will NOT be deleted"
 msgstr "Cette base de données NE sera PAS détruite"
 
-#: vhffs-panel/dns/delete.pl:105
+#: vhffs-panel/dns/delete.pl:97
 msgid "This domain will NOT be DELETED from Vhffs platform"
 msgstr "Ce nom de domaine NE sera PAS détruit"
 
-#: vhffs-panel/dns/delete.pl:100
+#: vhffs-panel/dns/delete.pl:92
 msgid "This domain will be DELETED from Vhffs platform"
 msgstr "Ce nom de domaine sera détruit"
 
-#: vhffs-panel/git/delete.pl:90
+#: vhffs-panel/git/delete.pl:89
 msgid "This git repository will NOT be deleted"
 msgstr "Ce dépôt Git NE sera PAS détruit"
 
-#: vhffs-panel/group/delete.pl:85
+#: vhffs-panel/group/delete.pl:84
 msgid "This group will be deleted"
 msgstr "Ce groupe sera détruit"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:315
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:315
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:320
 msgid "This host is already registered for this service"
 msgstr "Cet hôte est déjà enregistré pour ce service"
 
-#: vhffs-panel/mail/delete.pl:103
+#: vhffs-panel/mail/delete.pl:101
 msgid "This mail domain WILL BE DELETED"
 msgstr "Ce domaine mail sera détruit"
 
-#: vhffs-panel/mail/delete.pl:91
+#: vhffs-panel/mail/delete.pl:89
 msgid "This mail domain will NOT be DELETED"
 msgstr "Ce domaine mail NE sera PAS détruit"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:104
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:104
 #, perl-format
 msgid ""
 "This mail must contains the following subject : \"confirm unsubscribe %s\"\n"
 msgstr "Ce mail doit contenir le sujet suivant : \"confirm unsubscribe %s\"\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:86
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:86
 #, perl-format
 msgid ""
 "This mail must have the following subject : \"confirm subscribe %s\"\n"
@@ -3871,7 +3770,6 @@
 "Sur la plupart des clients il suffit juste de répondre au mail\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:405
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:405
 #, perl-format
 msgid ""
 "This mail was sent by %s with the following subject:\n"
@@ -3882,41 +3780,41 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/object/resubmit.pl:68 vhffs-panel/object/quickdelete.pl:68
+#: vhffs-panel/object/quickdelete.pl:67 vhffs-panel/object/resubmit.pl:67
 msgid "This object does not exist"
 msgstr "Cet objet n'éxiste pas"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:105
+#: vhffs-panel/admin/object/delete_avatar.pl:103
 msgid "This object does not have an avatar"
 msgstr "Cet objet ne possède pas d'avatar"
 
-#: vhffs-panel/object/quickdelete.pl:86 vhffs-panel/object/quickdelete.pl:89
+#: vhffs-panel/object/quickdelete.pl:85 vhffs-panel/object/quickdelete.pl:89
 msgid "This object has been deleted"
 msgstr "Cet objet a été supprimé"
 
-#: vhffs-panel/group/history.pl:68
+#: vhffs-panel/group/history.pl:69
 msgid "This object is not functional yet. Please wait creation or moderation."
 msgstr ""
 "Ce service n'est pas fonctionnel actuellement. Veuillez attendre la création "
 "ou la modération"
 
-#: vhffs-panel/mail/delete.pl:83 vhffs-panel/git/delete.pl:86
-#: vhffs-panel/group/delete.pl:72 vhffs-panel/mailinglist/delete.pl:87
-#: vhffs-panel/web/prefs.pl:80
+#: vhffs-panel/mailinglist/delete.pl:85 vhffs-panel/group/delete.pl:71
+#: vhffs-panel/mail/delete.pl:81 vhffs-panel/git/delete.pl:85
+#: vhffs-panel/web/prefs.pl:77
 msgid "This object is not functionnal yet. Please wait creation or moderation."
 msgstr ""
 "Ce service n'est pas encore actif. Merci d'attendre la création ou la "
 "modération"
 
-#: vhffs-panel/object/resubmit.pl:72 vhffs-panel/object/quickdelete.pl:72
+#: vhffs-panel/object/quickdelete.pl:71 vhffs-panel/object/resubmit.pl:71
 msgid "This object is not in refused state"
 msgstr "Cet service n'est pas dans l'état refusé"
 
-#: vhffs-panel/web/delete.pl:96
+#: vhffs-panel/web/delete.pl:94
 msgid "This object will BE DELETED"
 msgstr "Ce service sera détruit"
 
-#: vhffs-panel/group/delete.pl:76 vhffs-panel/web/delete.pl:101
+#: vhffs-panel/group/delete.pl:75 vhffs-panel/web/delete.pl:99
 msgid "This object will NOT be DELETED"
 msgstr "Ce service NE sera PAS détruit"
 
@@ -3924,12 +3822,11 @@
 msgid "This platform does not provide avatar support"
 msgstr "Le support des avatars n'est pas disponible sur cette plate-forme"
 
-#: vhffs-panel/admin/object/delete_avatar.pl:74
+#: vhffs-panel/admin/object/delete_avatar.pl:72
 msgid "This platform does not support avatar"
 msgstr "Le support des avatars n'est pas activé sur cette plate-forme"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:314
+#: vhffs-api/src/Vhffs/Panel/Main.pm:316
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks or system has database errors. Please come back in a few "
@@ -3940,8 +3837,7 @@
 "des disfonctionnements. Merci de revenir dans quelques minutes pour vous "
 "identifier."
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:325
+#: vhffs-api/src/Vhffs/Panel/Main.pm:327
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks. Please come back in a few minutes to log in."
@@ -3950,41 +3846,39 @@
 "train d'effectuer des opérations de maintenance. Merci de revenir dans "
 "quelques minutes pour vous identifier."
 
-#: vhffs-panel/git/delete.pl:103 vhffs-panel/svn/delete.pl:98
+#: vhffs-panel/svn/delete.pl:97 vhffs-panel/git/delete.pl:102
 msgid "This repository will be deleted"
 msgstr "Ce dépôt sera détruit"
 
-#: vhffs-panel/svn/delete.pl:85
+#: vhffs-panel/svn/delete.pl:84
 msgid "This subversion repository will NOT be deleted"
 msgstr "Ce dépôt Subversion NE sera PAS détruit"
 
-#: vhffs-panel/user/delete.pl:76
+#: vhffs-panel/user/delete.pl:74
 msgid "This user is always in a group"
 msgstr "Cet utilisateur est toujours dans un groupe"
 
-#: vhffs-panel/user/delete.pl:87
+#: vhffs-panel/user/delete.pl:85
 msgid "This user will BE DELETED"
 msgstr "Cet utilisateur sera détruit"
 
-#: vhffs-panel/user/delete.pl:93
+#: vhffs-panel/user/delete.pl:91
 msgid "This user will NOT be DELETED"
 msgstr "Cet utilisateur NE sera PAS détruit"
 
-#: vhffs-panel/group/prefs.pl:112
+#: vhffs-panel/group/prefs.pl:117
 msgid "This user will be removed from this group as soon as possible"
 msgstr "Cet utilisateur sera supprimé de ce groupe dès que possible"
 
-#: vhffs-panel/web/delete.pl:79
+#: vhffs-panel/web/delete.pl:77
 msgid "This web area doesn't exist in VHFFS database"
 msgstr "Ce site web n'existe pas"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:424
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:424
 msgid "To accept this subscriber, send a message to\n"
 msgstr "Pour accepter cet inscrit, envoyez un message à\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:406
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:406
 #, perl-format
 msgid ""
 "To put this post on the list, send a message to:\n"
@@ -3994,7 +3888,6 @@
 "  %s-request@%s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:427
 msgid "To refuse this subscriber, send a message to\n"
 msgstr "Pour refuser cet inscrit, envoyez un message à\n"
 
@@ -4002,116 +3895,127 @@
 msgid "Topic not found"
 msgstr "Sujet non trouvé"
 
-#: vhffs-panel/admin/stats.pl:94
+#: vhffs-panel/admin/stats.pl:93
 msgid "Total Admin Users in VHFFS database"
 msgstr "Total d'administrateurs"
 
-#: vhffs-panel/admin/stats.pl:121
+#: vhffs-panel/admin/stats.pl:120
 msgid "Total CVS in moderation"
 msgstr "Total de dépôts CVS en modération"
 
-#: vhffs-panel/admin/stats.pl:113
+#: vhffs-panel/admin/stats.pl:112
 msgid "Total DNS in moderation"
 msgstr "Total de noms de domaine en modération"
 
-#: vhffs-panel/admin/stats.pl:134
+#: vhffs-panel/admin/stats.pl:133
 msgid "Total GIT in moderation"
 msgstr "Total de dépôts Git en modération"
 
-#: vhffs-panel/admin/stats.pl:140
+#: vhffs-panel/admin/stats.pl:139
 msgid "Total Mail domains in moderation"
 msgstr "Total de domaines mail en modération"
 
-#: vhffs-panel/admin/stats.pl:96
+#: vhffs-panel/admin/stats.pl:95
 msgid "Total Moderator Users in VHFFS database"
 msgstr "Total de modérateurs"
 
-#: vhffs-panel/admin/stats.pl:152
+#: vhffs-panel/admin/stats.pl:151
 msgid "Total MySQL in moderation"
 msgstr "Total de bases de données MySQL en modération"
 
-#: vhffs-panel/admin/stats.pl:159
+#: vhffs-panel/admin/stats.pl:158
 msgid "Total PostgreSQL in moderation"
 msgstr "Total de bases de données PostgreSQL en modération"
 
-#: vhffs-panel/admin/stats.pl:128
+#: vhffs-panel/admin/stats.pl:127
 msgid "Total SVN in moderation"
 msgstr "Total de dépôt Subversion en modération"
 
-#: vhffs-panel/admin/stats.pl:92
+#: vhffs-panel/admin/stats.pl:91
 msgid "Total Users in VHFFS database"
 msgstr "Total d'utilisateurs"
 
-#: vhffs-panel/admin/stats.pl:106
+#: vhffs-panel/admin/stats.pl:105
 msgid "Total Web Areas in moderation"
 msgstr "Total de sites web en modération"
 
-#: vhffs-panel/admin/stats.pl:123
+#: vhffs-panel/admin/stats.pl:122
 msgid "Total activated CVS"
 msgstr "Total de dépôts CVS activés"
 
-#: vhffs-panel/admin/stats.pl:115
+#: vhffs-panel/admin/stats.pl:114
 msgid "Total activated DNS"
 msgstr "Total de noms de domaine activés"
 
-#: vhffs-panel/admin/stats.pl:136
+#: vhffs-panel/admin/stats.pl:135
 msgid "Total activated GIT"
 msgstr "Total de dépôts Git activés"
 
-#: vhffs-panel/admin/stats.pl:142
+#: vhffs-panel/admin/stats.pl:141
 msgid "Total activated Mail domains"
 msgstr "Total de domaines mail activés"
 
-#: vhffs-panel/admin/stats.pl:154
+#: vhffs-panel/admin/stats.pl:153
 msgid "Total activated MySQL"
 msgstr "Total de bases de données MySQL activées"
 
-#: vhffs-panel/admin/stats.pl:161
+#: vhffs-panel/admin/stats.pl:160
 msgid "Total activated PostgreSQL"
 msgstr "Total de bases de données PostgreSQL activées"
 
-#: vhffs-panel/admin/stats.pl:130
+#: vhffs-panel/admin/stats.pl:129
 msgid "Total activated SVN"
 msgstr "Total de dépôts Subversion activés"
 
-#: vhffs-panel/admin/stats.pl:108
+#: vhffs-panel/admin/stats.pl:107
 msgid "Total activated Web Areas"
 msgstr "Total de sites web activés"
 
-#: vhffs-panel/admin/stats.pl:102
+#: vhffs-panel/admin/stats.pl:101
 msgid "Total activated groups"
 msgstr "Total de groupes activés"
 
-#: vhffs-panel/admin/stats.pl:169
+#: vhffs-panel/admin/stats.pl:168
 msgid "Total activated lists"
 msgstr "Total de listes de diffusion activées"
 
-#: vhffs-panel/admin/stats.pl:100
+#: vhffs-panel/admin/stats.pl:175
+msgid "Total categories"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:99
 msgid "Total groups in database"
 msgstr "Total de groupes"
 
-#: vhffs-panel/admin/stats.pl:146
+#: vhffs-panel/admin/stats.pl:145
 msgid "Total hosted boxes"
 msgstr "Total de boîtes mail"
 
-#: vhffs-panel/admin/stats.pl:144
+#: vhffs-panel/admin/stats.pl:143
 msgid "Total hosted forwards"
 msgstr "Total de redirection"
 
-#: vhffs-panel/admin/stats.pl:167
+#: vhffs-panel/admin/stats.pl:166
 msgid "Total lists in moderation"
 msgstr "Total des listes de diffusion en modération"
 
-#: vhffs-panel/admin/stats.pl:171
+#: vhffs-panel/admin/stats.pl:170
 msgid "Total subscribtion for lists"
 msgstr "Total des inscriptions sur les listes de diffusion"
 
-#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:78
+#: vhffs-panel/admin/stats.pl:181
+msgid "Total tagged groups"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:177
+msgid "Total tags used"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:83 vhffs-panel/group/history.pl:79
 msgid "Type"
 msgstr "Type"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:99 vhffs-panel/admin/object/edit.pl:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:99
+#: vhffs-panel/admin/object/edit.pl:93 vhffs-api/src/Vhffs/Panel/Object.pm:98
 msgid "UID of owner"
 msgstr "Identifiant utilisateur du propriétaire"
 
@@ -4145,17 +4049,21 @@
 msgid "Unable to add SRV record: %s"
 msgstr "Impossible d'ajouter un enregistrement de type SRV : %s"
 
-#: vhffs-panel/dns/prefs.pl:202
+#: vhffs-panel/dns/prefs.pl:201
 #, perl-format
 msgid "Unable to add TXT record: %s"
 msgstr "Impossible d'ajouter un enregistrement de type TXT : %s"
 
-#: vhffs-panel/mail/prefs.pl:286
+#: vhffs-panel/mail/prefs.pl:285
 #, perl-format
 msgid "Unable to add forward %s"
 msgstr "Impossible d'ajouter la redirection %s"
 
-#: vhffs-panel/group/prefs.pl:137 vhffs-panel/group/prefs.pl:171
+#: vhffs-panel/group/prefs.pl:352
+msgid "Unable to add tag, check it was not already added to your project"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:142 vhffs-panel/group/prefs.pl:176
 msgid ""
 "Unable to add user, he might already be in the group (waiting for addition "
 "or deletion)"
@@ -4163,16 +4071,16 @@
 "Impossible d'ajouter l'utilisateur, il doit être déjà dans le groupe (en "
 "cours d'ajout ou de suppression)"
 
-#: vhffs-panel/pgsql/prefs.pl:131 vhffs-panel/mysql/prefs.pl:142
+#: vhffs-panel/mysql/prefs.pl:143 vhffs-panel/pgsql/prefs.pl:131
+#: vhffs-panel/cron/prefs.pl:186
 msgid "Unable to apply changes"
 msgstr "Impossible d'appliquer les modifications"
 
-#: vhffs-panel/git/prefs.pl:149 vhffs-panel/git/prefs.pl:194
-#: vhffs-panel/web/prefs.pl:141
+#: vhffs-panel/git/prefs.pl:169 vhffs-panel/web/prefs.pl:138
 msgid "Unable to apply modifications"
 msgstr "Impossible d'appliquer les modifications"
 
-#: vhffs-panel/repository/prefs.pl:131 vhffs-panel/group/prefs.pl:291
+#: vhffs-panel/repository/prefs.pl:126 vhffs-panel/group/prefs.pl:301
 msgid "Unable to apply modifications, please try again later"
 msgstr "Impossible d'appliquer les modifications, veuillez réessayer plus tard"
 
@@ -4181,6 +4089,17 @@
 msgid "Unable to change rights for subscriber %s"
 msgstr "Impossible de changer les droits pour le membre %s"
 
+#: vhffs-panel/admin/tag/category/create.pl:100
+#: vhffs-panel/admin/tag/request/details.pl:161
+msgid "Unable to create category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:112
+#: vhffs-panel/admin/tag/request/details.pl:166
+#: vhffs-panel/admin/tag/request/details.pl:192
+msgid "Unable to create tag"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:112
 #, perl-format
 msgid "Unable to delete A record: %s"
@@ -4211,76 +4130,86 @@
 msgid "Unable to delete SRV record: %s"
 msgstr "Impossible de supprimer l'enregistrement de type SRV : %s"
 
-#: vhffs-panel/dns/prefs.pl:213
+#: vhffs-panel/dns/prefs.pl:212
 #, perl-format
 msgid "Unable to delete TXT record: %s"
 msgstr "Impossible de supprimer l'enregistrement de type TXT : %s"
 
-#: vhffs-panel/mail/prefs.pl:270
+#: vhffs-panel/mail/prefs.pl:269
 #, perl-format
 msgid "Unable to delete box %s"
 msgstr "Impossible de supprimer la boite %s"
 
-#: vhffs-panel/mail/prefs.pl:317
+#: vhffs-panel/admin/tag/category/list.pl:61
+msgid "Unable to delete category"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:316
 #, perl-format
 msgid "Unable to delete forward %s"
 msgstr "Impossible de supprimer la redirection %s"
 
-#: vhffs-panel/mail/delete.pl:99
+#: vhffs-panel/admin/tag/list.pl:61 vhffs-panel/group/prefs.pl:385
+msgid "Unable to delete tag"
+msgstr ""
+
+#: vhffs-panel/mail/delete.pl:97
 msgid "Unable to delete this domain"
 msgstr "Impossible de détruire ce domaine mail"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:226
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:227
 msgid ""
 "Unable to find default redirection address, please contact administrators"
 msgstr ""
 "Impossible de trouver l'adresse de redirection par défaut, merci de "
 "contacter les administrateurs"
 
-#: vhffs-panel/cvs/index.pl:63
+#: vhffs-panel/cvs/index.pl:64
 msgid "Unable to get CVS repositories"
 msgstr "Impossible d'obtenir les dépôts CVS"
 
-#: vhffs-panel/dns/index.pl:63
+#: vhffs-panel/dns/index.pl:64
 msgid "Unable to get DNS"
 msgstr "Impossible d'obtenir les noms de domaine"
 
-#: vhffs-panel/git/index.pl:64
+#: vhffs-panel/git/index.pl:65
 msgid "Unable to get GIT repositories"
 msgstr "Impossible d'obtenir les dépôts GIT"
 
-#: vhffs-panel/mysql/index.pl:63
+#: vhffs-panel/mysql/index.pl:64
 msgid "Unable to get MySQL databases."
 msgstr "Impossible d'obtenir les bases de données MySQL"
 
-#: vhffs-panel/pgsql/index.pl:63
+#: vhffs-panel/pgsql/index.pl:64
 msgid "Unable to get PgSQL databases"
 msgstr "Impossible d'obtenir les bases de données MySQL"
 
-#: vhffs-panel/svn/index.pl:63
+#: vhffs-panel/svn/index.pl:64
 msgid "Unable to get SVN repositories"
 msgstr "Impossible d'obtenir les dépôts SVN"
 
-#: vhffs-panel/mail/prefs.pl:74 vhffs-panel/mail/delete.pl:79
+#: vhffs-panel/cron/index.pl:64
+msgid "Unable to get cron jobs"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:73 vhffs-panel/mail/delete.pl:77
 #, perl-format
 msgid "Unable to get information on mail domain %s"
 msgstr "Impossible d'obtenir des information sur le domain mail %s"
 
-#: vhffs-panel/mail/index.pl:63
+#: vhffs-panel/mail/index.pl:64
 msgid "Unable to get mail domains"
 msgstr "Impossible d'obtenir les domaines mails"
 
-#: vhffs-panel/mailinglist/index.pl:63
+#: vhffs-panel/mailinglist/index.pl:64
 msgid "Unable to get mailing lists"
 msgstr "Impossible d'obtenir les listes de diffusions"
 
-#: vhffs-panel/repository/index.pl:63
+#: vhffs-panel/repository/index.pl:64
 msgid "Unable to get repositories"
 msgstr "Impossible d'obtenir les espaces de téléchargement"
 
-#: vhffs-panel/web/index.pl:63
+#: vhffs-panel/web/index.pl:64
 msgid "Unable to get webareas"
 msgstr "Impossible d'obtenir les espaces web"
 
@@ -4309,17 +4238,17 @@
 msgid "Unable to modify SRV record: %s"
 msgstr "Impossible de modifier l'enregistrement de type SRV : %s"
 
-#: vhffs-panel/dns/prefs.pl:208
+#: vhffs-panel/dns/prefs.pl:207
 #, perl-format
 msgid "Unable to modify TXT record: %s"
 msgstr "Impossible de modifier l'enregistrement de type TXT : %s"
 
-#: vhffs-panel/mail/prefs.pl:302
+#: vhffs-panel/mail/prefs.pl:301
 #, perl-format
 msgid "Unable to modify forward %s"
 msgstr "Impossible de modifier la redirection %s"
 
-#: vhffs-panel/group/prefs.pl:114
+#: vhffs-panel/group/prefs.pl:119
 msgid "Unable to remove user from group"
 msgstr "Impossible de supprimer l'utilisateur du groupe"
 
@@ -4327,17 +4256,24 @@
 msgid "Unable to save object"
 msgstr "Impossible de sauver l'objet"
 
-#: vhffs-panel/svn/prefs.pl:168
+#: vhffs-panel/admin/tag/category/edit.pl:71
+msgid "Unable to update category"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:169
 msgid "Unable to update repository"
 msgstr "Impossible de mettre à jour le dépôt"
 
-#: vhffs-panel/user/prefs.pl:475
+#: vhffs-panel/admin/tag/edit.pl:72
+msgid "Unable to update tag"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:500
 msgid "Unable to update user, please try again later"
 msgstr ""
 "Impossible de mettre à jour l'utilisateur, veuillez réessayer plus tard."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:298
 msgid ""
 "Unknow command\n"
 "\n"
@@ -4345,64 +4281,47 @@
 "Commande inconnue\n"
 "\n"
 
-#: vhffs-api/src/Vhffs/Functions.pm:452 vhffs-api/src/Vhffs/Functions.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:452
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:457
+#: vhffs-api/src/Vhffs/Functions.pm:510 vhffs-api/src/Vhffs/Functions.pm:515
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:163 vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:211 vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:241 vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:265 vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:317 vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:344 vhffs-api/src/Vhffs/Panel/DNS.pm:356
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:265
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:288
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:344
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:356
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:164 vhffs-api/src/Vhffs/Panel/DNS.pm:200
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:212 vhffs-api/src/Vhffs/Panel/DNS.pm:230
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:242 vhffs-api/src/Vhffs/Panel/DNS.pm:255
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:267 vhffs-api/src/Vhffs/Panel/DNS.pm:280
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:292 vhffs-api/src/Vhffs/Panel/DNS.pm:305
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:322 vhffs-api/src/Vhffs/Panel/DNS.pm:337
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:349 vhffs-api/src/Vhffs/Panel/DNS.pm:361
 msgid "Unknown error"
 msgstr "Erreur inconnue"
 
-#: vhffs-panel/admin/broadcast_view.pl:105
-#: vhffs-panel/admin/broadcast_list.pl:104
+#: vhffs-panel/admin/broadcast_list.pl:102
+#: vhffs-panel/admin/broadcast_view.pl:103
 msgid "Unknown status"
 msgstr "Statut inconnu"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:240
 #, perl-format
 msgid "Unsubscribe for the list %s was not complete.\n"
 msgstr "La désinscription pour la liste %s n'est pas complète.\n"
 
-#: vhffs-intl/template_strings.pl:64 vhffs-panel/group/prefs.pl:244
+#: vhffs-panel/admin/tag/category/edit.pl:88 vhffs-panel/group/prefs.pl:257
 msgid "Update"
 msgstr "Mettre à jour"
 
-#: vhffs-intl/template_strings.pl:87
-msgid "Update Permissions"
-msgstr "Mettre à jour les permissions"
+#: vhffs-panel/admin/tag/edit.pl:78
+msgid "Update Tag"
+msgstr ""
 
-#: vhffs-intl/template_strings.pl:54 vhffs-intl/template_strings.pl:70
-msgid "Update Quota"
-msgstr "Mettre à jour les quotas"
+#: vhffs-panel/admin/tag/category/edit.pl:77
+msgid "Update Tag Category"
+msgstr ""
 
-#: vhffs-panel/group/prefs.pl:248
+#: vhffs-panel/group/prefs.pl:261
 msgid "Update avatar"
 msgstr "Mettre à jour l'avatar l'avatar"
 
-#: vhffs-panel/mailinglist/prefs.pl:144
+#: vhffs-panel/mailinglist/prefs.pl:143
 msgid "Update signature"
 msgstr "Mettre à jour la signature"
 
@@ -4410,12 +4329,12 @@
 msgid "Uploaded file is too big. The maximum size is 20 Kbytes."
 msgstr "Le fichier envoyé est trop gros. La taille maximun est de 20 KB"
 
-#: vhffs-panel/dns/prefs.pl:240
+#: vhffs-panel/dns/prefs.pl:239
 #, perl-format
 msgid "Use @ for origin (%s)"
 msgstr "Utiliser @ pour l'origine (%s)"
 
-#: vhffs-panel/user/prefs.pl:413
+#: vhffs-panel/user/prefs.pl:430
 #, perl-format
 msgid ""
 "Use VHFFS servers to manage this mail,<br/>you should use use the host pop.%"
@@ -4424,20 +4343,19 @@
 "Utiliser nos serveurs pour gérer ce mail,<br/>vous devez utiliser pop.%s ou "
 "imap.%s pour récupérer vos emails"
 
-#: vhffs-panel/user/prefs.pl:424
+#: vhffs-panel/user/prefs.pl:441
 msgid "Use anti-spam protection"
 msgstr "Utiliser la protection anti-spam"
 
-#: vhffs-panel/user/prefs.pl:432
+#: vhffs-panel/user/prefs.pl:449
 msgid "Use anti-virus protection"
 msgstr "Utiliser la protection par anti-virus"
 
-#: vhffs-intl/template_strings.pl:51 vhffs-intl/template_strings.pl:67
-msgid "Used Quota"
-msgstr "Quota utilisé"
+#: vhffs-panel/dns/prefs.pl:259
+msgid "Use our servers as destination IP for this A record?"
+msgstr ""
 
-#: vhffs-intl/extra_strings.pl:35 vhffs-panel/admin/moderation.pl:86
-#: vhffs-panel/acl/view.pl:103
+#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/acl/view.pl:103
 msgid "User"
 msgstr "Utilisateur"
 
@@ -4447,26 +4365,22 @@
 msgstr "L'utilisateur %s n'existe pas"
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:118
 msgid "User Admin"
 msgstr "Administration des Utilisateurs"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:435 vhffs-panel/user/prefs.pl:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:435
+#: vhffs-panel/user/prefs.pl:314 vhffs-api/src/Vhffs/Panel/Main.pm:425
 msgid "User Preferences"
 msgstr "Préférences utilisateur"
 
-#: vhffs-panel/subscribe.pl:188
+#: vhffs-panel/subscribe.pl:190
 msgid "User Successfully created"
 msgstr "Utilisateur créé avec succès"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:432
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:432
+#: vhffs-api/src/Vhffs/Panel/Main.pm:422
 msgid "User account"
 msgstr "Compte utilisateur"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:368
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:368
+#: vhffs-api/src/Vhffs/Panel/Main.pm:373
 msgid "User does not exist"
 msgstr "L'utilisateur n'existe pas"
 
@@ -4474,47 +4388,34 @@
 msgid "User is not active yet"
 msgstr "L'utilisateur n'est pas encore actif"
 
-#: vhffs-panel/group/prefs.pl:144
+#: vhffs-panel/group/prefs.pl:149
 msgid "User not found"
 msgstr "Utilisateur Introuvable"
 
-#: vhffs-panel/user/prefs.pl:477
+#: vhffs-panel/user/prefs.pl:502
 msgid "User successfully updated"
 msgstr "L'utilisateur a été supprimé avec succès"
 
-#: vhffs-panel/group/prefs.pl:134 vhffs-panel/group/prefs.pl:168
+#: vhffs-panel/group/prefs.pl:139 vhffs-panel/group/prefs.pl:173
 msgid "User will be added as soon as possible"
 msgstr "L'utilisateur sera ajouté le plus rapidement possible"
 
-#: vhffs-intl/template_strings.pl:82
-msgid "User's Permissions"
-msgstr "Permissions de l'utilisateur"
-
-#: vhffs-intl/template_strings.pl:83
-msgid "User's permissions"
-msgstr "Permissions de l'utilisateur"
-
-#: vhffs-intl/template_strings.pl:7 vhffs-intl/template_strings.pl:22
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:65 vhffs-panel/admin/user/list.pl:70
-#: vhffs-panel/admin/su.pl:73 vhffs-panel/group/prefs.pl:238
-#: vhffs-panel/user/prefs.pl:301 vhffs-panel/lost.pl:57
-#: vhffs-panel/subscribe.pl:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:65
+#: vhffs-panel/admin/user/list.pl:70 vhffs-panel/admin/su.pl:73
+#: vhffs-panel/user/prefs.pl:318 vhffs-panel/group/prefs.pl:251
+#: vhffs-panel/subscribe.pl:238 vhffs-panel/lost.pl:57
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:65
 msgid "Username"
 msgstr "Nom d'utilisateur"
 
-#: vhffs-panel/pgsql/prefs.pl:87 vhffs-panel/mysql/prefs.pl:98
+#: vhffs-panel/mysql/prefs.pl:99 vhffs-panel/pgsql/prefs.pl:87
 msgid "Username for this database"
 msgstr "Nom d'utilisateur pour cette base de données"
 
-#: vhffs-intl/template_strings.pl:2 vhffs-intl/template_strings.pl:12
-#: vhffs-intl/template_strings.pl:19 vhffs-api/src/Vhffs/Panel/Menu.pm:111
-#: vhffs-panel/group/prefs.pl:256
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:111
+#: vhffs-panel/group/prefs.pl:269 vhffs-api/src/Vhffs/Panel/Menu.pm:115
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: vhffs-panel/admin/stats.pl:91
+#: vhffs-panel/admin/stats.pl:90
 msgid "Users stats"
 msgstr "Statistiques des utilisateurs"
 
@@ -4522,64 +4423,57 @@
 msgid "Users' administration"
 msgstr "Administration des utilisateurs"
 
-#: vhffs-intl/extra_strings.pl:21 vhffs-api/src/Vhffs/Panel/Object.pm:122
-#: vhffs-panel/admin/object/edit.pl:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:122
+#: vhffs-panel/admin/object/edit.pl:115
+#: vhffs-api/src/Vhffs/Panel/Object.pm:121
 msgid "Validation refused"
 msgstr "Validation refusée"
 
-#: vhffs-panel/admin/stats.pl:89
+#: vhffs-panel/admin/stats.pl:88
 msgid "Vhffs Statistics"
 msgstr "Statistiques de VHFFS"
 
-#: vhffs-intl/template_strings.pl:10
-msgid "View Archives"
-msgstr "Regarder les archives"
-
-#: vhffs-panel/admin/broadcast_view.pl:85
+#: vhffs-panel/admin/broadcast_view.pl:83
 msgid "View mailing"
 msgstr "Voir l'envoi de masse"
 
-#: vhffs-panel/admin/broadcast_list.pl:90
+#: vhffs-panel/admin/broadcast_list.pl:88
 msgid "View this mailing"
 msgstr "Visualiser cet envoi"
 
-#: vhffs-panel/mail/prefs.pl:254
+#: vhffs-panel/mail/prefs.pl:253
 msgid "Virus status updated"
 msgstr "La protection anti virus a été mise à jour"
 
-#: vhffs-panel/admin/stats.pl:105
+#: vhffs-panel/admin/tag/category/create.pl:70
+#: vhffs-panel/admin/tag/category/edit.pl:81
+msgid "Visibility"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:104
 msgid "WEB stats"
 msgstr "Statistiques des sites web"
 
-#: vhffs-intl/template_strings.pl:75
-msgid "Waiting for confirmation"
-msgstr "En attente de confirmation"
-
-#: vhffs-intl/extra_strings.pl:22 vhffs-api/src/Vhffs/Panel/Object.pm:123
-#: vhffs-panel/admin/object/edit.pl:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:123
+#: vhffs-panel/admin/object/edit.pl:116
+#: vhffs-api/src/Vhffs/Panel/Object.pm:122
 msgid "Waiting for creation"
 msgstr "En attente de création"
 
-#: vhffs-intl/template_strings.pl:78
-msgid "Waiting for deletion"
-msgstr "En attente de suppression"
-
-#: vhffs-intl/extra_strings.pl:28 vhffs-api/src/Vhffs/Panel/Object.pm:129
-#: vhffs-panel/admin/object/edit.pl:124
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:129
+#: vhffs-panel/admin/object/edit.pl:122
+#: vhffs-api/src/Vhffs/Panel/Object.pm:128
 msgid "Waiting for modification"
 msgstr "En attente de modification"
 
-#: vhffs-intl/extra_strings.pl:20 vhffs-intl/template_strings.pl:76
-#: vhffs-api/src/Vhffs/Panel/Object.pm:121
-#: vhffs-panel/admin/object/edit.pl:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:121
+#: vhffs-panel/admin/object/edit.pl:120
+#: vhffs-api/src/Vhffs/Panel/Object.pm:126
+msgid "Waiting for suspension"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:114
+#: vhffs-api/src/Vhffs/Panel/Object.pm:120
 msgid "Waiting for validation"
 msgstr "En attente de validation"
 
-#: vhffs-panel/user/prefs.pl:149
+#: vhffs-panel/user/prefs.pl:151
 msgid "Wanted shell is not in the shell list"
 msgstr "Le shell demandé n'est pas disponible"
 
@@ -4587,16 +4481,7 @@
 msgid "Warn the admin team"
 msgstr "Alerter l'équipe d'administrateurs"
 
-#: vhffs-intl/template_strings.pl:65 vhffs-intl/template_strings.pl:72
-msgid ""
-"Warning, password change isn't immediate, you've to check periodically to "
-"see if it's done"
-msgstr ""
-"Attention, le changement de mot de passe n'est pas immédiat, vous devez "
-"vérifier de temps en temps que l'opération a été effectuée"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:481
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:481
 #, perl-format
 msgid ""
 "We confirm that you REFUSED the subscription of:\n"
@@ -4614,7 +4499,6 @@
 "\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:457
 #, perl-format
 msgid ""
 "We confirm that you accepted the subscription of:\n"
@@ -4631,42 +4515,35 @@
 "  %s\n"
 "\n"
 
-#: vhffs-panel/group/prefs.pl:227
+#: vhffs-panel/group/prefs.pl:240
 #, perl-format
 msgid "We offer you the possibility to forward emails from %s@%s."
 msgstr "Nous vous offrons la possibilité de rediriger les emails depuis %s@%s."
 
-#: vhffs-panel/user/prefs.pl:443
+#: vhffs-panel/user/prefs.pl:460
 #, perl-format
 msgid "We offer you the possibility to have one email box on the domain %s"
 msgstr ""
 "Nous vous offrons la possibilité de bénéficier d'un compte mail sur le "
 "domaine %s"
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:64 vhffs-api/src/Vhffs/Panel/Menu.pm:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:113
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:117
 msgid "Web"
 msgstr "Web"
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:153
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:173
 msgid "Web Admin"
 msgstr "Administration web"
 
-#: vhffs-panel/web/prefs.pl:93
+#: vhffs-panel/web/prefs.pl:90
 msgid "Web Area Administration"
 msgstr "Administration web"
 
-#: vhffs-panel/web/prefs.pl:143
+#: vhffs-panel/web/prefs.pl:140
 msgid "Web area successfully modified"
 msgstr "Le site web a été modifié avec succès"
 
-#: vhffs-intl/extra_strings.pl:37
-msgid "Webarea"
-msgstr "Espace web"
-
-#: vhffs-panel/web/index.pl:60
+#: vhffs-panel/web/index.pl:61
 #, perl-format
 msgid "Webareas for %s"
 msgstr "Espaces web pour %s"
@@ -4675,65 +4552,45 @@
 msgid "Webareas' administration"
 msgstr "Administration des espaces web"
 
-#: vhffs-intl/template_strings.pl:37
-msgid "Website description"
-msgstr "Description du site web"
-
-#: vhffs-intl/template_strings.pl:36
-msgid "Website name"
-msgstr "Nom du site web"
-
-#: vhffs-intl/template_strings.pl:33
-msgid "Websites"
-msgstr "Sites webs"
-
-#: vhffs-intl/template_strings.pl:41 vhffs-public/group.pl:99
-msgid "Websites for this group"
-msgstr "Sites webs sur ce groupe"
-
-#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
+#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/dns/prefs.pl:385
 msgid "Weight"
 msgstr "Poids"
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:62
 #, perl-format
 msgid "Welcome on %s"
 msgstr "Bienvenue sur %s"
 
-#: vhffs-panel/mailinglist/delete.pl:107
+#: vhffs-panel/mailinglist/delete.pl:105
 msgid "Will be DELETED in a few minutes"
 msgstr "Sera détruit dans quelques minutes"
 
-#: vhffs-intl/extra_strings.pl:31 vhffs-api/src/Vhffs/Panel/Object.pm:132
-#: vhffs-panel/admin/object/edit.pl:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:132
+#: vhffs-panel/admin/object/edit.pl:125
+#: vhffs-api/src/Vhffs/Panel/Object.pm:131
 msgid "Will be deleted"
 msgstr "Sera détruit"
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:81
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:81
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:84
 #, perl-format
 msgid "Woah, %s users and %s groups already trust %s"
 msgstr "Youhou, %s utilisateurs et %s groupes font déjà confiance à %s"
 
-#: vhffs-intl/template_strings.pl:59 vhffs-intl/template_strings.pl:62
-#: vhffs-panel/git/prefs.pl:101 vhffs-panel/dns/prefs.pl:261
-#: vhffs-panel/cvs/prefs.pl:112 vhffs-panel/svn/prefs.pl:93
+#: vhffs-panel/svn/prefs.pl:94 vhffs-panel/dns/prefs.pl:260
+#: vhffs-panel/cvs/prefs.pl:99 vhffs-panel/git/prefs.pl:98
 msgid "Yes"
 msgstr "Oui"
 
-#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/mail/prefs.pl:138
-#: vhffs-panel/git/prefs.pl:107 vhffs-panel/dns/prefs.pl:254
-#: vhffs-panel/pgsql/prefs.pl:101 vhffs-panel/cvs/prefs.pl:118
-#: vhffs-panel/group/prefs.pl:215 vhffs-panel/mysql/prefs.pl:113
-#: vhffs-panel/svn/prefs.pl:99 vhffs-panel/mailinglist/prefs.pl:181
-#: vhffs-panel/web/prefs.pl:111 vhffs-panel/user/prefs.pl:328
+#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/pgsql/prefs.pl:101
+#: vhffs-panel/mailinglist/prefs.pl:181 vhffs-panel/cron/prefs.pl:152
+#: vhffs-panel/repository/prefs.pl:90 vhffs-panel/user/prefs.pl:345
+#: vhffs-panel/svn/prefs.pl:100 vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/group/prefs.pl:228 vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/cvs/prefs.pl:105 vhffs-panel/git/prefs.pl:104
+#: vhffs-panel/web/prefs.pl:108
 msgid "Yes I'm sure of what I do"
 msgstr "Oui, je suis sûr de ce que je fais"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:227
 msgid "You are not a subscriber on this list.\n"
 msgstr "Vous n'êtes pas inscrit sur la liste.\n"
 
@@ -4742,7 +4599,7 @@
 msgstr ""
 "Vous n'êtes pas autorisé à ajouter des membres (droits ACL insuffisants)"
 
-#: vhffs-panel/object/resubmit.pl:77 vhffs-panel/object/quickdelete.pl:77
+#: vhffs-panel/object/quickdelete.pl:76 vhffs-panel/object/resubmit.pl:76
 msgid "You are not allowed to do it, you don't own this object"
 msgstr ""
 "Vous n'êtes pas autorisé à faire ceci, vous n'êtes pas propriétaire de cet "
@@ -4753,48 +4610,45 @@
 msgstr ""
 "Vous n'êtes pas autorisé pour modifier les droits des inscrits (droits ACL)"
 
-#: vhffs-panel/mail/prefs.pl:177 vhffs-panel/mail/prefs.pl:207
-#: vhffs-panel/mail/prefs.pl:225 vhffs-panel/mail/prefs.pl:265
-#: vhffs-panel/mail/prefs.pl:279 vhffs-panel/mail/prefs.pl:295
-#: vhffs-panel/mail/prefs.pl:311
+#: vhffs-panel/mail/prefs.pl:176 vhffs-panel/mail/prefs.pl:206
+#: vhffs-panel/mail/prefs.pl:224 vhffs-panel/mail/prefs.pl:264
+#: vhffs-panel/mail/prefs.pl:278 vhffs-panel/mail/prefs.pl:294
+#: vhffs-panel/mail/prefs.pl:310
 msgid "You are not allowed to modify this object"
 msgstr "Vous n'êtes pas autorisé à modifier cet objet"
 
-#: vhffs-panel/web/prefs.pl:125
+#: vhffs-panel/web/prefs.pl:122
 msgid "You are not allowed to modify this web area"
 msgstr "Vous n'êtes pas autorisé à modifier ce site web"
 
-#: vhffs-panel/admin/repository/search.pl:71
-#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/mail/search.pl:72
-#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/git/search.pl:73
-#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/dns/search.pl:72
-#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/pgsql/search.pl:72
-#: vhffs-panel/admin/pgsql/list.pl:60 vhffs-panel/admin/cvs/search.pl:71
-#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/group/search.pl:72
-#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mysql/search.pl:72
-#: vhffs-panel/admin/mysql/list.pl:66 vhffs-panel/admin/object/edit.pl:74
-#: vhffs-panel/admin/object/search.pl:71
-#: vhffs-panel/admin/object/edit_submit.pl:74
-#: vhffs-panel/admin/object/list.pl:72
-#: vhffs-panel/admin/object/delete_avatar.pl:78
-#: vhffs-panel/admin/svn/search.pl:73 vhffs-panel/admin/svn/list.pl:55
-#: vhffs-panel/admin/mailinglist/search.pl:71
-#: vhffs-panel/admin/mailinglist/list.pl:63 vhffs-panel/admin/web/search.pl:72
-#: vhffs-panel/admin/web/list.pl:54 vhffs-panel/admin/user/search.pl:72
-#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast_view.pl:73
-#: vhffs-panel/admin/broadcast_list.pl:71 vhffs-panel/admin/stats.pl:82
-#: vhffs-panel/admin/broadcast.pl:70
+#: vhffs-panel/admin/mysql/search.pl:70 vhffs-panel/admin/mysql/list.pl:66
+#: vhffs-panel/admin/pgsql/search.pl:70 vhffs-panel/admin/pgsql/list.pl:60
+#: vhffs-panel/admin/stats.pl:81 vhffs-panel/admin/broadcast_list.pl:69
+#: vhffs-panel/admin/mailinglist/search.pl:69
+#: vhffs-panel/admin/mailinglist/list.pl:63
+#: vhffs-panel/admin/broadcast_view.pl:71 vhffs-panel/admin/cron/search.pl:70
+#: vhffs-panel/admin/cron/list.pl:66 vhffs-panel/admin/repository/search.pl:69
+#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/user/search.pl:70
+#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast.pl:68
+#: vhffs-panel/admin/svn/search.pl:71 vhffs-panel/admin/svn/list.pl:55
+#: vhffs-panel/admin/object/delete_avatar.pl:76
+#: vhffs-panel/admin/object/edit_submit.pl:72
+#: vhffs-panel/admin/object/edit.pl:72 vhffs-panel/admin/object/search.pl:69
+#: vhffs-panel/admin/object/list.pl:70 vhffs-panel/admin/dns/search.pl:70
+#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/group/search.pl:70
+#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mail/search.pl:70
+#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/cvs/search.pl:69
+#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/git/search.pl:71
+#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/web/search.pl:70
+#: vhffs-panel/admin/web/list.pl:54
 msgid "You are not allowed to see it"
 msgstr "Vous n'êtes pas autorisé à voir ceci"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:186
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:207
+#: vhffs-api/src/Vhffs/Panel/Main.pm:187 vhffs-api/src/Vhffs/Panel/Main.pm:208
 msgid "You are not granted to access this page"
 msgstr "Vous n'êtes pas autorisé à voir cette page"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:119
 #, perl-format
 msgid ""
 "You asked to be subscribed to the following list:\n"
@@ -4807,9 +4661,10 @@
 "%s\n"
 "\n"
 
-#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:113
-#: vhffs-panel/dns/prefs.pl:246 vhffs-panel/svn/prefs.pl:105
-#: vhffs-panel/web/prefs.pl:104
+#: vhffs-panel/mysql/prefs.pl:107 vhffs-panel/cron/prefs.pl:145
+#: vhffs-panel/svn/prefs.pl:106 vhffs-panel/dns/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:101
 msgid ""
 "You can Manage rights on this service for each user in the VHFFS database. "
 "Please read help before manage it."
@@ -4818,27 +4673,36 @@
 "lire l'aide avant de modifier."
 
 #: vhffs-api/src/Vhffs/Listengine.pm:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:49
 msgid "You can also send a command list in the mail body.\n"
 msgstr ""
 "Vous pouvez également envoyer une liste de commandes dans le corps du mail.\n"
 
-#: vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:438
+msgid "You can only delete requests attached to your group"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:273
+msgid "You cannot add NS records on origin"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:157
+msgid "You cannot delete NS records on origin"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:115
 msgid "You cannot remove the owner of the group"
 msgstr "Vous ne pouvez pas supprimer le propriétaire du groupe"
 
-#: vhffs-panel/subscribe.pl:89
+#: vhffs-panel/subscribe.pl:77
 msgid "You cannot subscribe to VHFFS"
 msgstr "Vous ne pouvez pas vous inscrire"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:226
 #, perl-format
 msgid "You cannot unsubscribe from the list %s\n"
 msgstr "Vous ne pouvez pas vous désinscrire de la liste %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:211
 msgid "You demand was refused\n"
 msgstr "Votre demande a été refusée\n"
 
@@ -4846,8 +4710,15 @@
 msgid "You do not own this domain !"
 msgstr "Vous n'êtes pas propriétaire de ce domaine !"
 
+#: vhffs-panel/group/prefs.pl:345
+msgid "You don't have enough privileges to add this tag"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:378
+msgid "You don't have enough privileges to delete this tag"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:182
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:182
 #, perl-format
 msgid ""
 "You have been successfully removed from the following list:\n"
@@ -4857,14 +4728,11 @@
 "  %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:255
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:255
 #, perl-format
 msgid "You have been successfully removed from the list %s.\n"
 msgstr "Vous avez été supprimé de la liste %s avec succès.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:147 vhffs-api/src/Vhffs/Listengine.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:147
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:163
 #, perl-format
 msgid ""
 "You have been successfully subscribed to the following mailing list:\n"
@@ -4873,21 +4741,37 @@
 "Vous avez été inscrit avec succès à la liste de diffusion suivante:\n"
 "  %s\n"
 
-#: vhffs-panel/web/prefs.pl:135
+#: vhffs-panel/admin/tag/category/edit.pl:115
+#: vhffs-panel/admin/tag/create.pl:100 vhffs-panel/admin/tag/edit.pl:107
+#: vhffs-panel/web/prefs.pl:132
 msgid "You have to enter a description"
 msgstr "Vous devez fournir une description"
 
-#: vhffs-panel/repository/prefs.pl:125 vhffs-panel/group/prefs.pl:284
-msgid "You have to enter a quota greater than the current used quota"
+#: vhffs-panel/admin/tag/category/edit.pl:111
+#: vhffs-panel/admin/tag/create.pl:95 vhffs-panel/admin/tag/edit.pl:103
+msgid "You have to enter a label"
 msgstr ""
-"Vous devez rentrer un quota plus grand que l'espace disque utilisé "
-"actuellement"
 
-#: vhffs-panel/repository/index.pl:54 vhffs-panel/mail/index.pl:54
-#: vhffs-panel/git/index.pl:55 vhffs-panel/dns/index.pl:54
-#: vhffs-panel/pgsql/index.pl:54 vhffs-panel/cvs/index.pl:54
-#: vhffs-panel/mysql/index.pl:54 vhffs-panel/svn/index.pl:54
-#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/web/index.pl:54
+#: vhffs-panel/admin/tag/category/create.pl:95
+#: vhffs-panel/admin/tag/request/details.pl:151
+msgid "You have to enter a label and a description for the category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:156
+#: vhffs-panel/admin/tag/request/details.pl:185
+msgid "You have to enter a label and a description for the tag"
+msgstr ""
+
+#: vhffs-public/usersearch.pl:52
+msgid "You have to enter an username"
+msgstr ""
+
+#: vhffs-panel/mysql/index.pl:55 vhffs-panel/pgsql/index.pl:55
+#: vhffs-panel/mailinglist/index.pl:55 vhffs-panel/cron/index.pl:55
+#: vhffs-panel/repository/index.pl:55 vhffs-panel/svn/index.pl:55
+#: vhffs-panel/dns/index.pl:55 vhffs-panel/mail/index.pl:55
+#: vhffs-panel/cvs/index.pl:55 vhffs-panel/git/index.pl:56
+#: vhffs-panel/web/index.pl:55
 msgid "You have to select a group first"
 msgstr "Vous devez d'abord selectionner un groupe"
 
@@ -4901,76 +4785,71 @@
 
 #: vhffs-api/src/Vhffs/Listengine.pm:149 vhffs-api/src/Vhffs/Listengine.pm:168
 #: vhffs-api/src/Vhffs/Listengine.pm:443
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:149
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:168
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:443
 msgid "You may get some help on listengine by sending an email to\n"
 msgstr ""
 "Si vous souhaitez obtenir des informations sur le fonctionnement de la "
 "liste, vous pouvrez envoyer un mail à \n"
 
-#: vhffs-panel/user/prefs.pl:204
+#: vhffs-panel/user/prefs.pl:210
 msgid "You must choose a method for your mail"
 msgstr "Vous devez choisir une méthode de gestion pour votre mail"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:85 vhffs-api/src/Vhffs/Listengine.pm:103
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:103
 msgid "You must confirm your request by sending a confirmation email\n"
 msgstr ""
 "Vous devez valider votre demande en envoyant un email de confirmation.\n"
 
-#: vhffs-panel/subscribe.pl:143
+#: vhffs-panel/subscribe.pl:145
 msgid "You must declare a valid mail address"
 msgstr "Vous devez déclarer une adresse mail valide"
 
-#: vhffs-panel/subscribe.pl:123
+#: vhffs-panel/subscribe.pl:125
 msgid "You must declare your city"
 msgstr "Vous devez entrer un nom de ville correct"
 
-#: vhffs-panel/subscribe.pl:119
+#: vhffs-panel/subscribe.pl:121
 msgid "You must declare your country"
 msgstr "Vous devez entrer un nom de pays correct"
 
-#: vhffs-panel/subscribe.pl:131
+#: vhffs-panel/subscribe.pl:133
 msgid "You must declare your firstname"
 msgstr "Vous devez entrer votre prénom"
 
-#: vhffs-panel/subscribe.pl:135
+#: vhffs-panel/subscribe.pl:137
 msgid "You must declare your lastname"
 msgstr "Vous devez entrer votre nom"
 
-#: vhffs-panel/subscribe.pl:139
+#: vhffs-panel/subscribe.pl:141
 msgid "You must declare your mail address"
 msgstr "Vous devez entrer votre adresse email"
 
-#: vhffs-panel/subscribe.pl:111
+#: vhffs-panel/subscribe.pl:113
 msgid "You must declare your username"
 msgstr "Vous devez entrer votre nom d'utilisateur"
 
-#: vhffs-panel/subscribe.pl:127
+#: vhffs-panel/subscribe.pl:129
 msgid "You must declare your zipcode"
 msgstr "Vous devez entrer un code postal valide"
 
-#: vhffs-panel/repository/create.pl:79 vhffs-panel/mail/create.pl:78
-#: vhffs-panel/git/create.pl:83 vhffs-panel/dns/create.pl:53
-#: vhffs-panel/pgsql/create.pl:84 vhffs-panel/cvs/create.pl:84
-#: vhffs-panel/group/prefs.pl:86 vhffs-panel/group/create.pl:68
-#: vhffs-panel/mysql/create.pl:84 vhffs-panel/object/resubmit.pl:90
-#: vhffs-panel/svn/create.pl:83 vhffs-panel/mailinglist/create.pl:83
-#: vhffs-panel/web/create.pl:81
+#: vhffs-panel/mysql/create.pl:84 vhffs-panel/pgsql/create.pl:84
+#: vhffs-panel/mailinglist/create.pl:83 vhffs-panel/cron/create.pl:86
+#: vhffs-panel/repository/create.pl:79 vhffs-panel/svn/create.pl:83
+#: vhffs-panel/object/resubmit.pl:89 vhffs-panel/dns/create.pl:54
+#: vhffs-panel/group/prefs.pl:91 vhffs-panel/group/create.pl:70
+#: vhffs-panel/mail/create.pl:79 vhffs-panel/cvs/create.pl:84
+#: vhffs-panel/git/create.pl:83 vhffs-panel/web/create.pl:81
 msgid "You must enter a description"
 msgstr "Vous devez saisir une description"
 
-#: vhffs-panel/group/prefs.pl:88 vhffs-panel/group/create.pl:70
+#: vhffs-panel/group/prefs.pl:93 vhffs-panel/group/create.pl:72
 msgid "You must enter a full name"
 msgstr "Vous devez entrer un nom complet"
 
-#: vhffs-panel/group/prefs.pl:126
+#: vhffs-panel/group/prefs.pl:131
 msgid "You must enter an username"
 msgstr "Vous devez entrer un nom d'utilisateur"
 
-#: vhffs-panel/group/view.pl:55
+#: vhffs-panel/group/view.pl:57
 msgid "You must specify a project name"
 msgstr "Vous devez spécifier un nom de projet"
 
@@ -4979,46 +4858,48 @@
 msgstr "Vous devez ajouter au moins un nouveau membre"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:166
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:166
 msgid "You will receive an email with the decision of administrators.\n"
 msgstr "Vous allez recevoir un email avec la décision des administrateurs\n"
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:375
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:375
+#: vhffs-api/src/Vhffs/Panel/Main.pm:380
 msgid "You're are not allowed to browse panel"
 msgstr "Vous n'êtes pas autorisé à parcourir le panel"
 
-#: vhffs-panel/repository/create.pl:64 vhffs-panel/mail/create.pl:60
-#: vhffs-panel/git/create.pl:64 vhffs-panel/dns/create.pl:34
-#: vhffs-panel/pgsql/create.pl:63 vhffs-panel/admin/moderation_submit.pl:67
-#: vhffs-panel/admin/broadcast_delete.pl:79
-#: vhffs-panel/admin/broadcast_submit.pl:79 vhffs-panel/admin/moderation.pl:70
-#: vhffs-panel/cvs/create.pl:64 vhffs-panel/group/prefs.pl:78
-#: vhffs-panel/group/prefs.pl:108 vhffs-panel/group/prefs.pl:119
-#: vhffs-panel/group/prefs.pl:160 vhffs-panel/group/prefs.pl:177
-#: vhffs-panel/group/history.pl:71 vhffs-panel/group/delete.pl:68
-#: vhffs-panel/mysql/create.pl:63 vhffs-panel/svn/create.pl:63
-#: vhffs-panel/mailinglist/create.pl:62 vhffs-panel/web/prefs.pl:84
-#: vhffs-panel/web/create.pl:63
+#: vhffs-panel/mysql/create.pl:63 vhffs-panel/pgsql/create.pl:63
+#: vhffs-panel/admin/broadcast_submit.pl:75
+#: vhffs-panel/admin/broadcast_delete.pl:75
+#: vhffs-panel/admin/moderation_submit.pl:67
+#: vhffs-panel/admin/moderation.pl:69 vhffs-panel/mailinglist/create.pl:62
+#: vhffs-panel/cron/create.pl:65 vhffs-panel/repository/create.pl:64
+#: vhffs-panel/svn/create.pl:63 vhffs-panel/dns/create.pl:35
+#: vhffs-panel/group/history.pl:72 vhffs-panel/group/prefs.pl:83
+#: vhffs-panel/group/prefs.pl:113 vhffs-panel/group/prefs.pl:124
+#: vhffs-panel/group/prefs.pl:165 vhffs-panel/group/prefs.pl:182
+#: vhffs-panel/group/prefs.pl:325 vhffs-panel/group/prefs.pl:358
+#: vhffs-panel/group/prefs.pl:391 vhffs-panel/group/prefs.pl:424
+#: vhffs-panel/group/delete.pl:67 vhffs-panel/mail/create.pl:61
+#: vhffs-panel/cvs/create.pl:64 vhffs-panel/git/create.pl:64
+#: vhffs-panel/web/prefs.pl:81 vhffs-panel/web/create.pl:63
 msgid "You're not allowed to do this (ACL rights)"
 msgstr "Vous n'êtes pas autorisé à voir ceci (droits ACL insuffisants)"
 
-#: vhffs-panel/repository/prefs.pl:74 vhffs-panel/repository/delete.pl:82
-#: vhffs-panel/mail/prefs.pl:77 vhffs-panel/mail/delete.pl:87
-#: vhffs-panel/git/prefs.pl:80 vhffs-panel/git/prefs.pl:142
-#: vhffs-panel/git/prefs.pl:164 vhffs-panel/git/delete.pl:82
+#: vhffs-panel/mysql/prefs.pl:81 vhffs-panel/mysql/prefs.pl:127
+#: vhffs-panel/mysql/delete.pl:78 vhffs-panel/pgsql/prefs.pl:71
+#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:76
+#: vhffs-panel/mailinglist/prefs.pl:83 vhffs-panel/mailinglist/prefs.pl:205
+#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:89
+#: vhffs-panel/cron/prefs.pl:80 vhffs-panel/cron/prefs.pl:167
+#: vhffs-panel/cron/delete.pl:78 vhffs-panel/repository/prefs.pl:73
+#: vhffs-panel/repository/delete.pl:81 vhffs-panel/user/prefs.pl:79
+#: vhffs-panel/user/prefs.pl:85 vhffs-panel/svn/prefs.pl:77
+#: vhffs-panel/svn/prefs.pl:135 vhffs-panel/svn/delete.pl:80
 #: vhffs-panel/dns/prefs.pl:86 vhffs-panel/dns/prefs.pl:95
-#: vhffs-panel/dns/delete.pl:87 vhffs-panel/pgsql/prefs.pl:71
-#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:77
+#: vhffs-panel/dns/delete.pl:79 vhffs-panel/group/prefs.pl:74
+#: vhffs-panel/mail/prefs.pl:76 vhffs-panel/mail/delete.pl:85
 #: vhffs-panel/cvs/prefs.pl:73 vhffs-panel/cvs/prefs.pl:78
-#: vhffs-panel/cvs/prefs.pl:94 vhffs-panel/cvs/delete.pl:82
-#: vhffs-panel/group/prefs.pl:70 vhffs-panel/mysql/prefs.pl:80
-#: vhffs-panel/mysql/delete.pl:79 vhffs-panel/svn/prefs.pl:76
-#: vhffs-panel/svn/prefs.pl:134 vhffs-panel/svn/delete.pl:81
-#: vhffs-panel/mailinglist/prefs.pl:84 vhffs-panel/mailinglist/prefs.pl:205
-#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:91
-#: vhffs-panel/web/delete.pl:83 vhffs-panel/user/prefs.pl:78
-#: vhffs-panel/user/prefs.pl:84
+#: vhffs-panel/cvs/delete.pl:81 vhffs-panel/git/prefs.pl:81
+#: vhffs-panel/git/prefs.pl:139 vhffs-panel/git/delete.pl:81
+#: vhffs-panel/web/delete.pl:81
 msgid ""
 "You're not allowed to do this, object is not in active state or you don't "
 "have enough ACL rights"
@@ -5030,7 +4911,7 @@
 msgid "You're not allowed to manage this object's ACL"
 msgstr "Vous n'êtes pas autorisé à modifier les ACL pour cet objet"
 
-#: vhffs-panel/acl/view.pl:76 vhffs-panel/history.pl:94
+#: vhffs-panel/history.pl:92 vhffs-panel/acl/view.pl:76
 msgid "You're not allowed to view this object's ACL"
 msgstr "Vous n'êtes pas autorisé à voir l'ACL de ce service"
 
@@ -5038,16 +4919,14 @@
 msgid "You're not an administrator"
 msgstr "Vous n'êtes pas un administrateur"
 
-#: vhffs-api/src/Vhffs/Object.pm:512
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:512
+#: vhffs-api/src/Vhffs/Object.pm:527
 #, perl-format
 msgid "Your %s (%s) on %s has been deleted due to lack of updates"
 msgstr ""
 "Votre %s (%s) sur %s a été supprimé car il n'a pas été mis a jour depuis "
 "longtemps"
 
-#: vhffs-api/src/Vhffs/User.pm:333
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:333
+#: vhffs-api/src/Vhffs/User.pm:344
 #, perl-format
 msgid ""
 "Your account (%s) on %s has been deleted because it was unused for a long "
@@ -5056,7 +4935,7 @@
 "Votre compte (%s) sur %s a été supprimé car il n'a pas été utilisé pendant "
 "très.longtemps"
 
-#: vhffs-panel/subscribe.pl:243
+#: vhffs-panel/subscribe.pl:277
 msgid ""
 "Your email address. It will be used to contact you when needed and as a "
 "destination address if you use our email forwarding service"
@@ -5073,20 +4952,17 @@
 msgid "Your projects"
 msgstr "Vos projets"
 
-#: vhffs-api/src/Vhffs/Object.pm:416
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:416
+#: vhffs-api/src/Vhffs/Object.pm:431
 #, perl-format
 msgid "Your request for a %s (%s) on %s was accepted"
 msgstr "Votre demande pour un %s (%s) sur %s a été acceptée"
 
-#: vhffs-api/src/Vhffs/Object.pm:466
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:466
+#: vhffs-api/src/Vhffs/Object.pm:481
 #, perl-format
 msgid "Your request for a %s (%s) on %s was refused"
 msgstr "Votre demande pour un %s (%s) sur %s a été refusée"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:441
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:441
 #, perl-format
 msgid ""
 "Your subscription was accepted to the following mailing list:\n"
@@ -5096,7 +4972,6 @@
 "  %s\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:469
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:469
 #, perl-format
 msgid ""
 "Your subscription was refused to the following mailing list:\n"
@@ -5109,7 +4984,7 @@
 "\n"
 "Merci de votre compréhension.\n"
 
-#: vhffs-panel/subscribe.pl:242
+#: vhffs-panel/subscribe.pl:276
 msgid ""
 "Your username. It must contains only alphanumeric characters in lowercase, "
 "its length must be between 3 and 12 chars"
@@ -5117,143 +4992,94 @@
 "Votre nom d'utilisateur. Il doit contenir seulement des chiffres ou des "
 "lettres en minuscule et doit faire entre 3 et 12 caractères"
 
-#: vhffs-panel/subscribe.pl:147
+#: vhffs-panel/subscribe.pl:149
 msgid "Your zipcode is not correct! Please enter a correct zipcode"
 msgstr "Le code postal est incorrect. Veuillez entrer un code postal correct"
 
-#: vhffs-panel/user/prefs.pl:305 vhffs-panel/subscribe.pl:227
+#: vhffs-panel/user/prefs.pl:322 vhffs-panel/subscribe.pl:242
 msgid "Zipcode"
 msgstr "Code postal"
 
-#: vhffs-panel/user/prefs.pl:132
+#: vhffs-panel/user/prefs.pl:134
 msgid "Zipcode is not correct !"
 msgstr "Le code postal n'est pas correct"
 
-#: vhffs-panel/mailinglist/prefs.pl:301
+#: vhffs-panel/mailinglist/prefs.pl:303
 #, perl-format
 msgid "[%s] You've been added to the list %s"
 msgstr "[%s] Vous avez été ajouté à la liste %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:355
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:355
 msgid "cannot be removed from the list\n"
 msgstr "ne peut pas être supprimé de la liste\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:319
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:319
 msgid "cannot be removed.\n"
 msgstr "ne peut pas être supprimé.\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:53
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:53
 msgid "help\t\t - show this help\n"
 msgstr "help\t\t - affiche l'aide\n"
 
-#: vhffs-intl/extra_strings.pl:17
-msgid "help_user_admin"
-msgstr ""
-"<h2>Administration</h2><p>Accédez aux fonctionnalités d'administration et/ou "
-"de modération.</p>"
-
-#: vhffs-intl/extra_strings.pl:13
-msgid "help_user_bug"
-msgstr ""
-"<h2>Rapport d'incident</h2><p>Utilisez cet élément lorsque vous voulez "
-"signaler un problème ou demander une amélioration.</p><p>Vous pouvez "
-"également vous en servir pour contacter l'équipe d'administration et "
-"demander de l'espace disque supplémentaire</p>"
-
-#: vhffs-intl/extra_strings.pl:12
-msgid "help_user_help"
-msgstr ""
-"<h2>Aide générale</h2><p>Permet d'accéder à l'aide générale ainsi qu'à la "
-"FAQ</p>"
-
-#: vhffs-intl/extra_strings.pl:14
-msgid "help_user_logout"
-msgstr ""
-"<h2>Déconnexion</h2><p>N'oubliez pas de vous déconnecter une fois que vous "
-"avez terminé.</p>"
-
-#: vhffs-intl/extra_strings.pl:11
-msgid "help_user_preferences"
-msgstr ""
-"<h2>Préférences</h2>Vous permet de personnaliser l'interface de VHFFS, de "
-"gérer votre adresse email ainsi que vos informations personnelles."
-
-#: vhffs-intl/extra_strings.pl:16
-msgid "help_user_project"
-msgstr ""
-"<h2>Accueil du projet</h2><p>Accédez aux fonctionnalités de gestion de votre "
-"projet.</p><p>Vous pourrez créer de nouveau objets ou encore gérer les "
-"droits d'accès de vos collaborateurs.</p>"
-
-#: vhffs-intl/extra_strings.pl:15
-msgid "help_user_projects"
-msgstr ""
-"<h2>Mes projets</h2><p>Gérez vos projets existants, créez en de nouveaux.</p>"
-
 #: vhffs-api/src/Vhffs/Listengine.pm:372
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:372
 #, perl-format
 msgid "in the moderation queue of the list %s"
 msgstr "dans la queue de modération de la liste %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:56
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:56
 msgid "lang [fr|us|es]\t - set listengine language\n"
 msgstr "lang [fr|us|es]\t - modifier la langue de listengine\n"
 
-#: vhffs-listengine/src/listengine.pl:960
+#: vhffs-listengine/src/listengine.pl:964
 #, perl-format
 msgid "listengine - list of messages to moderate for %s"
 msgstr "listengine - liste des messages à modérer pour %s"
 
-#: vhffs-listengine/src/listengine.pl:843
-#: vhffs-listengine/src/listengine.pl:865
-#: vhffs-listengine/src/listengine.pl:876
+#: vhffs-listengine/src/listengine.pl:847
+#: vhffs-listengine/src/listengine.pl:869
+#: vhffs-listengine/src/listengine.pl:880
 msgid "listengine help"
 msgstr "aide listengine"
 
-#: vhffs-listengine/src/listengine.pl:908
-#: vhffs-listengine/src/listengine.pl:919
-#: vhffs-listengine/src/listengine.pl:935
-#: vhffs-listengine/src/listengine.pl:947
-#: vhffs-listengine/src/listengine.pl:974
-#: vhffs-listengine/src/listengine.pl:985
+#: vhffs-listengine/src/listengine.pl:912
+#: vhffs-listengine/src/listengine.pl:923
+#: vhffs-listengine/src/listengine.pl:939
+#: vhffs-listengine/src/listengine.pl:951
+#: vhffs-listengine/src/listengine.pl:978
+#: vhffs-listengine/src/listengine.pl:989
 msgid "listengine moderation"
 msgstr "modération sur listengine"
 
-#: vhffs-listengine/src/listengine.pl:893
+#: vhffs-listengine/src/listengine.pl:897
 msgid "listengine result command"
 msgstr "résultat de la commande sur listengine"
 
-#: vhffs-listengine/src/listengine.pl:1026
+#: vhffs-listengine/src/listengine.pl:1030
 msgid "listengine: unknown command"
 msgstr "listengine : commande inconnue"
 
-#: vhffs-panel/user/prefs.pl:302 vhffs-panel/subscribe.pl:224
+#: vhffs-panel/user/prefs.pl:319 vhffs-panel/subscribe.pl:239
 msgid "mail"
 msgstr "adresse mail"
 
+#: vhffs-panel/cron/prefs.pl:97
+msgid "minutes"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:61
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:61
 msgid "moderate XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr "moderate XXXXX\t\t\t - accepter le message ayant l'identifiant XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:62
 msgid ""
 "moderate accept XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr "moderate XXXXX\t\t\t - accepter le message ayant l'identifiant XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:64
 msgid "moderate list\t\t\t - give the message list for moderation\n"
 msgstr "moderate list\t\t\t - donner la liste de message à modérer\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:63
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:63
 msgid ""
 "moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n"
 msgstr ""
@@ -5263,63 +5089,52 @@
 msgid "new site"
 msgstr "nouveau site"
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:118
-#: vhffs-panel/admin/object/edit.pl:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:118
+#: vhffs-panel/admin/object/edit.pl:111
+#: vhffs-api/src/Vhffs/Panel/Object.pm:117
 msgid "no date"
 msgstr "pas de date"
 
 #: vhffs-api/src/Vhffs/Object.pm:380
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:380
 msgid "no reason given"
 msgstr "Pas de raison donnée"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:318 vhffs-api/src/Vhffs/Listengine.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:318
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:354
 #, perl-format
 msgid "present in the moderation queue for the list %s"
 msgstr "présent dans la queue de modération de la liste %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:54
 msgid "subscribe\t - subscribe the shipper to the list\n"
 msgstr "subscribe\t - souscrire à la liste\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:59
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:59
 msgid ""
 "subscription accept XXXXX\t\t - accept the subscription with key XXXXX\n"
 msgstr ""
 "subscription accept XXXXX\t\t - accepter l'inscription avec la clé XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:60
 msgid ""
 "subscription refuse XXXXX\t\t - refuse the subscription with key XXXXX\n"
 msgstr ""
 "subscription refuse XXXXX\t\t - refuser l'inscription avec la clé XXXXX\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:55
 msgid "unsubscribe\t - unsubscribe from this list\n"
 msgstr "unsubscribe\t - désinscrire de la liste\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:69
 msgid "user info user@xxxxxxxxxx\t\t - show user information\n"
 msgstr ""
 "user info user@xxxxxxxxxx\t\t - afficher les informations de l'utilisateur\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:67
 msgid "user right RIGHT user@xxxxxxxxxx\t - change right for this user\n"
 msgstr ""
 "user right RIGHT user@xxxxxxxxxx\t - changer les droits pour l'utilisateur "
 "spécifié\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:66
 msgid ""
 "user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on "
 "the list\n"
@@ -5328,7 +5143,6 @@
 "liste\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:65
 msgid ""
 "user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n"
 msgstr ""
@@ -5336,21 +5150,15 @@
 "de la liste\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:337
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:337
 #, perl-format
 msgid "was removed from the moderation queue from the list %s"
 msgstr "a été supprimé de la queue de modération de la liste %s"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:373
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:373
 msgid "was sent on the list.\n"
 msgstr "a été envoyé sur la liste\n"
 
-#: vhffs-intl/template_strings.pl:46
-msgid "website(s)"
-msgstr "Site(s) web(s)"
-
-#: vhffs-panel/group/create.pl:86
+#: vhffs-panel/group/create.pl:100
 msgid ""
 "with only lowercase alphanumerical letters, no space, from 3 to 12 characters"
 msgstr ""
@@ -5358,7 +5166,6 @@
 "longeur totale de 3 à 12 charactères"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:407
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:407
 #, perl-format
 msgid ""
 "with the following subject :\n"
@@ -5366,3 +5173,424 @@
 msgstr ""
 "avec le sujet :\n"
 "  \"moderate %s\" \n"
+
+#~ msgid "Admin"
+#~ msgstr "Administration"
+
+#~ msgid "Administrator"
+#~ msgstr "Administrateur"
+
+#~ msgid "All"
+#~ msgstr "Tous"
+
+#~ msgid "CVS Repository"
+#~ msgstr "Dépôt CVS"
+
+#~ msgid "Change Forward"
+#~ msgstr "Modifier la redirection"
+
+#~ msgid "Change Password"
+#~ msgstr "Modifier le mot de passe"
+
+#~ msgid "Change rights"
+#~ msgstr "Changer les droits"
+
+#~ msgid "Creation error"
+#~ msgstr "Erreur lors de la création"
+
+#~ msgid "Delete from list"
+#~ msgstr "Supprimer de la liste"
+
+#~ msgid "Delete this forward"
+#~ msgstr "Supprimer cette redirection"
+
+#~ msgid "Download Repository"
+#~ msgstr "Espace de téléchargement"
+
+#~ msgid "Enable anti-spam"
+#~ msgstr "Activer l'anti-spam"
+
+#~ msgid "Enable anti-virus"
+#~ msgstr "Activer l'anti-virus"
+
+#~ msgid "Fill with project's members emails"
+#~ msgstr "Remplir avec les emails des membres du projet"
+
+#~ msgid "Group Quota"
+#~ msgstr "Quota pour ce groupe"
+
+#~ msgid "Last users"
+#~ msgstr "Derniers utilisateurs"
+
+#~ msgid "MB"
+#~ msgstr "MB"
+
+#~ msgid "Mail Domain"
+#~ msgstr "Domaine mail"
+
+#~ msgid "Moderator"
+#~ msgstr "Modérateur"
+
+#~ msgid "MySQL DB"
+#~ msgstr "Base MySQL"
+
+#~ msgid "New Quota"
+#~ msgstr "Nouveau quota"
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "PgSQL DB"
+#~ msgstr "Base de donnée postgreSQL"
+
+#~ msgid "Repository Quota"
+#~ msgstr "Quota du dépôt"
+
+#~ msgid "SVN Repository"
+#~ msgstr "Dépôt subversion"
+
+#~ msgid "Search"
+#~ msgstr "Chercher"
+
+#~ msgid "Signature"
+#~ msgstr "Signature"
+
+#~ msgid "Subscribed"
+#~ msgstr "Inscrit"
+
+#~ msgid "Suspended before deletion"
+#~ msgstr "Suspendu avant suppression"
+
+#~ msgid "Update Permissions"
+#~ msgstr "Mettre à jour les permissions"
+
+#~ msgid "Update Quota"
+#~ msgstr "Mettre à jour les quotas"
+
+#~ msgid "Used Quota"
+#~ msgstr "Quota utilisé"
+
+#~ msgid "User's Permissions"
+#~ msgstr "Permissions de l'utilisateur"
+
+#~ msgid "User's permissions"
+#~ msgstr "Permissions de l'utilisateur"
+
+#~ msgid "Waiting for confirmation"
+#~ msgstr "En attente de confirmation"
+
+#~ msgid "Waiting for deletion"
+#~ msgstr "En attente de suppression"
+
+#~ msgid ""
+#~ "Warning, password change isn't immediate, you've to check periodically to "
+#~ "see if it's done"
+#~ msgstr ""
+#~ "Attention, le changement de mot de passe n'est pas immédiat, vous devez "
+#~ "vérifier de temps en temps que l'opération a été effectuée"
+
+#~ msgid "Webarea"
+#~ msgstr "Espace web"
+
+#~ msgid "Websites"
+#~ msgstr "Sites webs"
+
+#~ msgid "help_user_admin"
+#~ msgstr ""
+#~ "<h2>Administration</h2><p>Accédez aux fonctionnalités d'administration et/"
+#~ "ou de modération.</p>"
+
+#~ msgid "help_user_bug"
+#~ msgstr ""
+#~ "<h2>Rapport d'incident</h2><p>Utilisez cet élément lorsque vous voulez "
+#~ "signaler un problème ou demander une amélioration.</p><p>Vous pouvez "
+#~ "également vous en servir pour contacter l'équipe d'administration et "
+#~ "demander de l'espace disque supplémentaire</p>"
+
+#~ msgid "help_user_help"
+#~ msgstr ""
+#~ "<h2>Aide générale</h2><p>Permet d'accéder à l'aide générale ainsi qu'à la "
+#~ "FAQ</p>"
+
+#~ msgid "help_user_logout"
+#~ msgstr ""
+#~ "<h2>Déconnexion</h2><p>N'oubliez pas de vous déconnecter une fois que "
+#~ "vous avez terminé.</p>"
+
+#~ msgid "help_user_preferences"
+#~ msgstr ""
+#~ "<h2>Préférences</h2>Vous permet de personnaliser l'interface de VHFFS, de "
+#~ "gérer votre adresse email ainsi que vos informations personnelles."
+
+#~ msgid "help_user_project"
+#~ msgstr ""
+#~ "<h2>Accueil du projet</h2><p>Accédez aux fonctionnalités de gestion de "
+#~ "votre projet.</p><p>Vous pourrez créer de nouveau objets ou encore gérer "
+#~ "les droits d'accès de vos collaborateurs.</p>"
+
+#~ msgid "help_user_projects"
+#~ msgstr ""
+#~ "<h2>Mes projets</h2><p>Gérez vos projets existants, créez en de nouveaux."
+#~ "</p>"
+
+#~ msgid "%d group(s) found"
+#~ msgstr "%d groupe(s) trouvé"
+
+#~ msgid "%d user(s) found"
+#~ msgstr "%d utilisateur(s) trouvé"
+
+#~ msgid "%d websites(s) found"
+#~ msgstr "%d site(s) web(s) trouvé"
+
+#~ msgid "%s public area"
+#~ msgstr "Zone publique de %s"
+
+#~ msgid "All Groups"
+#~ msgstr "Tous les groupes"
+
+#~ msgid "All Websites"
+#~ msgstr "Tous les sites webs"
+
+#~ msgid "All groups on %s"
+#~ msgstr "Tous les groupes sur %s"
+
+#~ msgid "All websites on %s"
+#~ msgstr "Sites web sur %s"
+
+#~ msgid "Are you SURE you want DELETE this  subversion repository ?"
+#~ msgstr "Êtes-vous CERTAIN de vouloir SUPPRIMER ce dépôt Subversion ?"
+
+#~ msgid "CVS Repositories for this group"
+#~ msgstr "Dépôts CVS sur ce groupe"
+
+#~ msgid "Current group:"
+#~ msgstr "Groupe actuel :"
+
+#~ msgid "Description contains"
+#~ msgstr "La description contient"
+
+#~ msgid "Fix permissions in this repository"
+#~ msgstr "Fixer les permissions pour cet espace de téléchargement"
+
+#~ msgid "Fix them !"
+#~ msgstr "Fixer !"
+
+#~ msgid ""
+#~ "Fixing permissions on a repository solve permission access on the "
+#~ "repository. Can be helpful if you encounter problems"
+#~ msgstr ""
+#~ "Si vous rencontrez des problèmes d'accès à votre espace de "
+#~ "téléchargement, pensez à fixer les permissions"
+
+#~ msgid "GIT Repositories for this group"
+#~ msgstr "Dépôts GIT sur ce groupe"
+
+#~ msgid ""
+#~ "Greetings,\n"
+#~ "\n"
+#~ "You've been added to the list %s on platform %s.\n"
+#~ "\n"
+#~ "You may get some help on listengine by sending an email to %s-request@%s "
+#~ "with subject help.\n"
+#~ "\n"
+#~ "Cheers."
+#~ msgstr ""
+#~ "Bonjour,\n"
+#~ "\n"
+#~ "Vous avez été inscrit à la liste %s sur la plateforme %s.\n"
+#~ "\n"
+#~ "Vous pouvez obtenir de l'aide sur le fonctionnnement de la liste en "
+#~ "envoyant un email dont le sujet est help à l'adresse %s-request@%s.\n"
+#~ "\n"
+#~ "Cordialement"
+
+#~ msgid "Groups/Projects"
+#~ msgstr "Groupes/Projets"
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your %s (%s) on %s has been deleted.\n"
+#~ "\n"
+#~ "This is because it have been refused a long time ago and you didn't\n"
+#~ "submit an update since.\n"
+#~ "\n"
+#~ "For reminder, the reason of refusal was:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "Don't be upset, submit it again if you forgot to update it in time.\n"
+#~ "If you need further information, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Bonjour %s %s,\n"
+#~ "\n"
+#~ "Votre %s (%s) sur %s a été supprimé.\n"
+#~ "\n"
+#~ "Car cet objet a été refusé il y a déjà très longtemps et vous n'avez pas\n"
+#~ "soumis de nouvelle description depuis\n"
+#~ "\n"
+#~ "Pour mémoire, la raison du refus était:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "Ne soyez pas faché, soumettez le de nouveau si vous n'avez pu proposer\n"
+#~ "une nouvelle description à temps.\n"
+#~ "Si vous avez besoin d'informations complémentaires, repondez simplement à "
+#~ "ce mail !\n"
+#~ "\n"
+#~ "Cordialement,\n"
+#~ "L'équipe de modération\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was accepted.\n"
+#~ "Please wait while we are creating your object.\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Bonjour %s %s,\n"
+#~ "\n"
+#~ "Votre demande pour un %s (%s) sur %s a été acceptée.\n"
+#~ "Veuillez patienter pendant la création de l'objet.\n"
+#~ "\n"
+#~ "Cordialement,\n"
+#~ "L'équipe de modération\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Hello %s %s,\n"
+#~ "\n"
+#~ "Your request for a %s (%s) on %s was refused.\n"
+#~ "\n"
+#~ "The reason of refusal given by moderators is:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "You can change the description and submit it again for moderation on the\n"
+#~ "panel. You can delete this object on the panel if you have made\n"
+#~ "a mistake. Don't be upset, if you don't understand why your request has\n"
+#~ "been refused, just reply to this email !\n"
+#~ "\n"
+#~ "Cheers,\n"
+#~ "The moderator team\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Bonjour %s %s,\n"
+#~ "\n"
+#~ "Votre demande pour un %s (%s) sur %s a été refusée.\n"
+#~ "\n"
+#~ "La raison du refus donné par les modérateurs est la suivante:\n"
+#~ "%s\n"
+#~ "\n"
+#~ "Vous pouvez changer la description et la proposer de nouveau pour la\n"
+#~ "modération sur le panel.\n"
+#~ "Vous pouvez supprimer cet objet si vous avez fait une erreur\n"
+#~ "Ne soyez pas faché, si vous ne comprenez pas pourquoi votre demande\n"
+#~ "a été refusée, repondez simplement a ce mail !\n"
+#~ "\n"
+#~ "Cordialement,\n"
+#~ "L'équipe de modération\n"
+#~ "\n"
+#~ "---------\n"
+#~ "%s\n"
+#~ "%s"
+
+#~ msgid "Homepage of public area"
+#~ msgstr "Aller à la page d'accueil de la zone publique"
+
+#~ msgid "Last Groups"
+#~ msgstr "Derniers groupes"
+
+#~ msgid "Last Users"
+#~ msgstr "Derniers utilisateurs"
+
+#~ msgid "Last users on %s"
+#~ msgstr "Derniers utilisateurs sur %s"
+
+#~ msgid "Mailing Lists for this group"
+#~ msgstr "Listes de diffusion sur ce groupe"
+
+#~ msgid "Must we redirect the DNS on our servers ?"
+#~ msgstr "Les DNS doivent-ils être redirigés sur nos serveurs ?"
+
+#~ msgid "No group"
+#~ msgstr "Aucun groupe"
+
+#~ msgid "No such group"
+#~ msgstr "Ne trouve pas le groupe"
+
+#~ msgid "No user"
+#~ msgstr "Pas d'utilisateur"
+
+#~ msgid "No website found"
+#~ msgstr "Aucun site web trouvé"
+
+#~ msgid "No websites"
+#~ msgstr "Pas de site web"
+
+#~ msgid "Owned by"
+#~ msgstr "Appartient à"
+
+#~ msgid "Project home"
+#~ msgstr "Accueil du projet"
+
+#~ msgid "Search a group"
+#~ msgstr "Chercher un groupe"
+
+#~ msgid "Search a website"
+#~ msgstr "Chercher un site web"
+
+#~ msgid "Search an user"
+#~ msgstr "Chercher un utilisateur"
+
+#~ msgid "Selected mailbox doesn't exist for this mail domain"
+#~ msgstr "La boite selectionnée n'existe pas sur ce domaine"
+
+#~ msgid "Subversion Repositories for this group"
+#~ msgstr "Dépôts subversion sur ce groupe"
+
+#~ msgid ""
+#~ "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#~ msgstr ""
+#~ "Cette action n'est pas réversible. Quand vous le supprimez, vous ne "
+#~ "pouvez pas annuler."
+
+#~ msgid "View Archives"
+#~ msgstr "Regarder les archives"
+
+#~ msgid "Website description"
+#~ msgstr "Description du site web"
+
+#~ msgid "Website name"
+#~ msgstr "Nom du site web"
+
+#~ msgid "Websites for this group"
+#~ msgstr "Sites webs sur ce groupe"
+
+#~ msgid "You have to enter a quota greater than the current used quota"
+#~ msgstr ""
+#~ "Vous devez rentrer un quota plus grand que l'espace disque utilisé "
+#~ "actuellement"
+
+#~ msgid "website(s)"
+#~ msgstr "Site(s) web(s)"

Modified: branches/vhffs-design/vhffs-intl/update-POTFILES.in.sh
===================================================================
--- branches/vhffs-design/vhffs-intl/update-POTFILES.in.sh	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/update-POTFILES.in.sh	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,4 +1,8 @@
 #!/bin/bash
-find .. -name '*.tmpl' | xargs perl -ne 'if(/<TMPL_I18N\s+KEY="([^"]+)/i) { print "gettext(\"$1\");\n"; }' > template_strings.pl
-find .. -name '*.tt' | xargs perl -ne 'print "gettext(\"$1\");\n" if(/\[%\s+'\''([^|]+?)'\''\s*|\s*i18n\b/);' >> template_strings.pl
-find .. -name '*.p[ml]' | sed s!^../!! > 'POTFILES.in'
+VHFFS_DIRS='../vhffs-contrib ../vhffs-panel ../vhffs-forum ../vhffs-listengine ../vhffs-tools ../vhffs-mw ../vhffs-api ../vhffs-shells ../vhffs-public ../vhffs-jabber ../vhffs-irc ../vhffs-stsmon'
+touch template_strings.pl.tmp
+find $VHFFS_DIRS -name '*.tmpl' | xargs perl -ne 'if(/<TMPL_I18N\s+KEY="([^"]+)/i) { print "gettext(\"$1\");\n"; }' > template_strings.pl.tmp
+find $VHFFS_DIRS -name '*.tt' | xargs perl -ne 'print "gettext(\"$1\");\n" if(/\[%\s+'\''([^|]+?)'\''\s*|\s*i18n\b/);' >> template_strings.pl.tmp
+sort template_strings.pl.tmp > template_strings.pl
+rm template_strings.pl.tmp
+find $VHFFS_DIRS -name '*.p[ml]' | sed s!^../!! | sort > 'POTFILES.in'

Modified: branches/vhffs-design/vhffs-intl/vhffs.pot
===================================================================
--- branches/vhffs-design/vhffs-intl/vhffs.pot	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-intl/vhffs.pot	2010-03-14 17:55:02 UTC (rev 1557)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: vhffs-dev@xxxxxxxxx\n"
-"POT-Creation-Date: 2008-02-04 10:57+0100\n"
+"POT-Creation-Date: 2009-07-09 13:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -17,21 +17,15 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #: vhffs-api/src/Vhffs/Listengine.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:68
 msgid "\t\t\t\t   RIGHT can be subscriber or admin\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:148 vhffs-api/src/Vhffs/Listengine.pm:164
 #: vhffs-api/src/Vhffs/Listengine.pm:167 vhffs-api/src/Vhffs/Listengine.pm:442
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:148
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:164
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:442
 msgid "\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:425
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:425
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -40,7 +34,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:428
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:428
 #, perl-format
 msgid ""
 "  %s-request@%s\n"
@@ -48,68 +41,43 @@
 "  \"subscription refuse %s %s\" \n"
 msgstr ""
 
-#: vhffs-public/groupsearch.pl:79
+#: vhffs-panel/mailinglist/prefs.pl:297
 #, perl-format
-msgid "%d group(s) found"
-msgstr ""
-
-#: vhffs-public/usersearch.pl:80
-#, perl-format
-msgid "%d user(s) found"
-msgstr ""
-
-#: vhffs-public/websitesearch.pl:78
-#, perl-format
-msgid "%d websites(s) found"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:296
-#, perl-format
 msgid "%s has been added"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:294
+#: vhffs-panel/mailinglist/prefs.pl:295
 #, perl-format
 msgid "%s is already a member of this list"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:195
+#: vhffs-panel/mail/prefs.pl:194
 #, perl-format
 msgid "%s is not a correct mail address"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:292
+#: vhffs-panel/mailinglist/prefs.pl:293
 #, perl-format
 msgid "%s is not a valid mail"
 msgstr ""
 
-#: vhffs-public/index.pl:65
+#: vhffs-api/src/Vhffs/Panel/Main.pm:706
 #, perl-format
-msgid "%s public area"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:710
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:710
-#, perl-format
 msgid "%s's Panel"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:150 vhffs-api/src/Vhffs/Listengine.pm:169
 #: vhffs-api/src/Vhffs/Listengine.pm:444
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:169
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:444
 #, perl-format
 msgid "%s-request@%s with subject \"help\"\n"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:312
+#: vhffs-panel/dns/prefs.pl:314
 #, perl-format
 msgid "@ represents the origin (%s)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:299
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:303
 msgid ""
 "A CNAME, A or AAAA record with the same name already exists for this domain"
 msgstr ""
@@ -122,8 +90,11 @@
 msgid "A Record updated"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:347
+msgid "A TXT record with the same name already exists for this domain"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:404
 #, perl-format
 msgid ""
 "A mail to moderate is on the following mailing list:\n"
@@ -132,7 +103,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:421
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:421
 #, perl-format
 msgid ""
 "A new person wants to subscribe to the following mailing list:\n"
@@ -172,41 +142,41 @@
 msgid "ACL updated"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
+#: vhffs-panel/cron/create.pl:108
+msgid "Absolute path of the command to run"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:88 vhffs-panel/admin/moderation.pl:115
 msgid "Accept"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:185 vhffs-api/src/Vhffs/Panel/Main.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:206
+#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
 msgid "Access denied"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:68
 msgid "Access to panel"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:111
+#: vhffs-panel/mail/prefs.pl:110
 msgid "Accounts"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:411
+#: vhffs-panel/user/prefs.pl:428
 #, perl-format
 msgid "Activate %s@%s email"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:25 vhffs-api/src/Vhffs/Panel/Object.pm:125
-#: vhffs-panel/admin/object/edit.pl:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:125
+#: vhffs-panel/admin/object/edit.pl:118
+#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 msgid "Activated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:150 vhffs-panel/group/prefs.pl:240
+#: vhffs-panel/group/prefs.pl:155 vhffs-panel/group/prefs.pl:253
 msgid "Add"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:265
+#: vhffs-panel/dns/prefs.pl:264
 msgid "Add !"
 msgstr ""
 
@@ -214,7 +184,7 @@
 msgid "Add a CNAME field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:270
+#: vhffs-panel/dns/prefs.pl:269
 msgid "Add a MX field to your domain"
 msgstr ""
 
@@ -222,47 +192,47 @@
 msgid "Add a NS field to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:292
+#: vhffs-panel/dns/prefs.pl:293
 msgid "Add a SRV record to your domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:304
+#: vhffs-panel/dns/prefs.pl:306
 msgid "Add a TXT record"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:122 vhffs-panel/mail/prefs.pl:132
+#: vhffs-panel/mail/prefs.pl:121 vhffs-panel/mail/prefs.pl:131
 msgid "Add a forward on this domain"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:131
+#: vhffs-panel/mail/prefs.pl:130
 msgid "Add a popbox to this domain"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:239
+#: vhffs-panel/group/prefs.pl:252
 msgid "Add a user in this group"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:238
+#: vhffs-panel/dns/prefs.pl:237
 msgid "Add an A record"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:239
+#: vhffs-panel/dns/prefs.pl:238
 msgid "Add an AAAA record"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:113
+#: vhffs-panel/mail/prefs.pl:112
 msgid "Add an account"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:148
+#: vhffs-panel/mailinglist/prefs.pl:147
 msgid "Add members"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:150
+#: vhffs-panel/mailinglist/prefs.pl:149
 msgid "Add them !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:307 vhffs-panel/subscribe.pl:230
+#: vhffs-panel/user/prefs.pl:324 vhffs-panel/subscribe.pl:245
 msgid "Address"
 msgstr ""
 
@@ -270,83 +240,73 @@
 msgid "Address (ServerName directive)"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:95
+#: vhffs-panel/web/prefs.pl:92
 msgid "Address (Servername)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:138
+#: vhffs-panel/user/prefs.pl:140
 msgid "Address is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:149
+#: vhffs-panel/mailinglist/prefs.pl:148
 msgid "Addresses (one per line)"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:79
-msgid "Admin"
-msgstr ""
-
-#: vhffs-panel/cvs/prefs.pl:107
+#: vhffs-panel/cvs/prefs.pl:94
 msgid "Admin CVS Repository"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:81
+#: vhffs-panel/repository/prefs.pl:80
 msgid "Admin Download repository"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:96
+#: vhffs-panel/git/prefs.pl:93
 msgid "Admin Git Repository"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:112
-#: vhffs-panel/dns/prefs.pl:245 vhffs-panel/svn/prefs.pl:104
-#: vhffs-panel/web/prefs.pl:103
+#: vhffs-panel/mysql/prefs.pl:106 vhffs-panel/cron/prefs.pl:144
+#: vhffs-panel/svn/prefs.pl:105 vhffs-panel/dns/prefs.pl:244
+#: vhffs-panel/mail/prefs.pl:142 vhffs-panel/git/prefs.pl:109
+#: vhffs-panel/web/prefs.pl:100
 msgid "Admin Rights on this object (ACL)"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:87
+#: vhffs-panel/svn/prefs.pl:88
 msgid "Admin Subversion Repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:426
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:426
+#: vhffs-api/src/Vhffs/Panel/Main.pm:416
 msgid "Admin account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:96
+#: vhffs-api/src/Vhffs/Panel/Object.pm:95
 msgid "Admin part"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:430
-#: vhffs-panel/admin/index.pl:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:430
+#: vhffs-panel/admin/index.pl:55 vhffs-api/src/Vhffs/Panel/Main.pm:417
+#: vhffs-api/src/Vhffs/Panel/Main.pm:420
 msgid "Administration"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:99
+#: vhffs-panel/mailinglist/prefs.pl:98
 #, perl-format
 msgid "Administration for list %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:86
-msgid "Administrator"
+#: vhffs-panel/admin/tag/category/create.pl:75
+#: vhffs-panel/admin/tag/category/edit.pl:86
+msgid "Administrators"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:116
+#: vhffs-panel/mailinglist/prefs.pl:115
 msgid "Admins only"
 msgstr ""
 
-#: vhffs-public/allgroups.pl:74 vhffs-public/allwebsites.pl:74
-msgid "All"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:232
+#: vhffs-panel/dns/prefs.pl:231
 msgid "All A TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:233
+#: vhffs-panel/dns/prefs.pl:232
 msgid "All AAAA TYPE for your domain name"
 msgstr ""
 
@@ -354,15 +314,11 @@
 msgid "All CNAME TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:235
+#: vhffs-panel/dns/prefs.pl:234
 msgid "All CNAME for your domain name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:28
-msgid "All Groups"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:234 vhffs-panel/dns/prefs.pl:269
+#: vhffs-panel/dns/prefs.pl:233 vhffs-panel/dns/prefs.pl:268
 msgid "All MX TYPE for your domain name"
 msgstr ""
 
@@ -370,7 +326,7 @@
 msgid "All NS TYPE for your domain name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:291
+#: vhffs-panel/dns/prefs.pl:292
 msgid "All SRV records for your domain name"
 msgstr ""
 
@@ -378,16 +334,11 @@
 msgid "All Subversion repositories lists"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:305
+#: vhffs-panel/dns/prefs.pl:307
 msgid "All TXT records for your domain name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:34
-msgid "All Websites"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:48
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:48
 msgid "All commands can be sent as mail subject.\n"
 msgstr ""
 
@@ -395,50 +346,36 @@
 msgid "All git repositories lists"
 msgstr ""
 
-#: vhffs-public/allgroups.pl:72
-#, perl-format
-msgid "All groups on %s"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_list.pl:77
+#: vhffs-panel/admin/broadcast_list.pl:75
 msgid "All mailings sent to hosted"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:50
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:50
 msgid ""
 "All mails with commands must be sent on YOURLIST-request@xxxxxxxxxx list.\n"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:85
+#: vhffs-panel/admin/object/list.pl:83
 msgid "All objects List"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:257
+#: vhffs-panel/group/prefs.pl:270
 msgid "All users in this group"
 msgstr ""
 
-#: vhffs-public/allwebsites.pl:72
-#, perl-format
-msgid "All websites on %s"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:251
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:251
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:252
 msgid "An MX record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:274
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:274
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:277
 msgid "An NS record with the same name already exists for this domain"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:87 vhffs-panel/cvs/prefs.pl:100
+#: vhffs-panel/cvs/prefs.pl:87
 msgid "An error occured during CVS repository update"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:493
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:493
 #, perl-format
 msgid ""
 "An error occured during your approval of subscription of:\n"
@@ -449,7 +386,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:194
 #, perl-format
 msgid ""
 "An error occured during your subscription to the following list:\n"
@@ -457,27 +393,27 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:217
+#: vhffs-panel/user/prefs.pl:223
 msgid "An error occured while adding the box"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:219
+#: vhffs-panel/user/prefs.pl:225
 msgid "An error occured while adding the box (anti-spam adding)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:221
+#: vhffs-panel/user/prefs.pl:227
 msgid "An error occured while adding the box (anti-virus adding)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:266
+#: vhffs-panel/user/prefs.pl:272
 msgid "An error occured while adding the forwarding"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:83
+#: vhffs-panel/user/delete.pl:81
 msgid "An error occured while applying changes. This user will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:92
+#: vhffs-panel/web/delete.pl:90
 msgid ""
 "An error occured while applying changes. This web area will NOT be deleted"
 msgstr ""
@@ -486,7 +422,7 @@
 msgid "An error occured while creating the git repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:83
+#: vhffs-panel/mail/create.pl:84
 msgid "An error occured while creating the mail area"
 msgstr ""
 
@@ -496,13 +432,13 @@
 "already have a download repository"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:60
+#: vhffs-panel/dns/create.pl:61
 msgid ""
 "An error occured while creating the object. The domain is not correct or "
 "aleady exists in Vhffs database"
 msgstr ""
 
-#: vhffs-panel/cvs/create.pl:92 vhffs-panel/mailinglist/create.pl:92
+#: vhffs-panel/mailinglist/create.pl:92 vhffs-panel/cvs/create.pl:92
 msgid "An error occured while creating the object.It probably already exists"
 msgstr ""
 
@@ -510,23 +446,23 @@
 msgid "An error occured while creating the svn repository"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:93
+#: vhffs-panel/cvs/delete.pl:92
 msgid "An error occured while deleting the CVS repository"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:95
+#: vhffs-panel/repository/delete.pl:94
 msgid "An error occured while deleting the Download repository"
 msgstr ""
 
-#: vhffs-panel/svn/delete.pl:94
+#: vhffs-panel/svn/delete.pl:93
 msgid "An error occured while deleting the Subversion repository"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:99
+#: vhffs-panel/git/delete.pl:98
 msgid "An error occured while deleting the git repository"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_delete.pl:96
+#: vhffs-panel/admin/broadcast_delete.pl:92
 msgid "An error occured while deleting this mailing"
 msgstr ""
 
@@ -534,30 +470,33 @@
 msgid "An error occured while deleting this object."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:275
+#: vhffs-panel/group/prefs.pl:414
+msgid "An error occured while saving your request"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:281
 msgid "An error occured while the forwarding"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:285
 #, perl-format
 msgid ""
 "An error occured while updating language for the following address: %s.\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:197
+#: vhffs-panel/mail/prefs.pl:196
 msgid "An error occured while updating the mail domain"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit_submit.pl:91
+#: vhffs-panel/admin/object/edit_submit.pl:89
 msgid "An error occured while updating the object"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/delete.pl:83
+#: vhffs-panel/group/prefs.pl:100 vhffs-panel/group/delete.pl:82
 msgid "An error occured while updating the project"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:188
+#: vhffs-panel/user/prefs.pl:194
 msgid "An error occured while updating the user account"
 msgstr ""
 
@@ -565,15 +504,15 @@
 msgid "An error occured while updating this object."
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:98
-msgid "Are you SURE you want DELETE this  subversion repository ?"
+#: vhffs-panel/cron/prefs.pl:151
+msgid "Are you SURE you want DELETE this Cron job ?"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/mail/prefs.pl:136
 msgid "Are you SURE you want DELETE this Mail Area ?"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:112
+#: vhffs-panel/mysql/prefs.pl:113
 msgid "Are you SURE you want DELETE this MySQL database ?"
 msgstr ""
 
@@ -581,23 +520,23 @@
 msgid "Are you SURE you want DELETE this PostgreSQL database ?"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:107
 msgid "Are you SURE you want DELETE this Web Area ?"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:117
+#: vhffs-panel/cvs/prefs.pl:104
 msgid "Are you SURE you want DELETE this cvs repository ?"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/dns/prefs.pl:252
 msgid "Are you SURE you want DELETE this domain ?"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:90
+#: vhffs-panel/repository/prefs.pl:89
 msgid "Are you SURE you want DELETE this download repository ?"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/git/prefs.pl:103
 msgid "Are you SURE you want DELETE this git repository?"
 msgstr ""
 
@@ -605,42 +544,49 @@
 msgid "Are you SURE you want DELETE this mailing list ?"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:214
+#: vhffs-panel/group/prefs.pl:227
 msgid "Are you SURE you want DELETE this project ?"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:327
+#: vhffs-panel/svn/prefs.pl:99
+msgid "Are you SURE you want DELETE this subversion repository ?"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:344
 msgid "Are you SURE you want DELETE this user?"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:100
+#: vhffs-panel/cron/prefs.pl:126
+msgid "As soon as possible"
+msgstr ""
+
+#: vhffs-panel/admin/object/delete_avatar.pl:98
 msgid "Avatar deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:199
-#: vhffs-panel/admin/object/edit.pl:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:199
+#: vhffs-panel/admin/object/edit.pl:193
+#: vhffs-api/src/Vhffs/Panel/Object.pm:198
 msgid "Avatar management"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:97
-#: vhffs-panel/admin/broadcast_list.pl:96
+#: vhffs-panel/admin/broadcast_list.pl:94
+#: vhffs-panel/admin/broadcast_view.pl:95
 msgid "Awaiting sending"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:191 vhffs-panel/subscribe.pl:232
+#: vhffs-panel/subscribe.pl:193 vhffs-panel/subscribe.pl:247
 msgid "Back to Login"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:14 vhffs-panel/lost.pl:59
+#: vhffs-panel/lost.pl:59
 msgid "Back to login page"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:126 vhffs-panel/mysql/prefs.pl:137
+#: vhffs-panel/mysql/prefs.pl:138 vhffs-panel/pgsql/prefs.pl:126
 msgid "Bad password, should be at least 3 chars"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:73
+#: vhffs-panel/dns/create.pl:74
 msgid ""
 "Be careful ! You must give the reason why you want to host this domain on "
 "our servers."
@@ -653,20 +599,20 @@
 "tld to domain.tld"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:89
+#: vhffs-panel/admin/broadcast_view.pl:87
 msgid "Body"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:272
+#: vhffs-panel/mail/prefs.pl:271
 #, perl-format
 msgid "Box %s deleted"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:239
+#: vhffs-panel/mail/prefs.pl:238
 msgid "Box password updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:216
+#: vhffs-panel/mail/prefs.pl:215
 msgid "Box successfully added"
 msgstr ""
 
@@ -676,49 +622,67 @@
 "password will be sent to you by email!"
 msgstr ""
 
-#: vhffs-public/group.pl:72 vhffs-public/user.pl:60 vhffs-public/user.pl:64
-#: vhffs-panel/repository/prefs.pl:68 vhffs-panel/repository/create.pl:77
-#: vhffs-panel/mail/prefs.pl:185 vhffs-panel/mail/prefs.pl:212
-#: vhffs-panel/mail/prefs.pl:233 vhffs-panel/mail/prefs.pl:268
-#: vhffs-panel/mail/prefs.pl:284 vhffs-panel/mail/prefs.pl:300
-#: vhffs-panel/mail/prefs.pl:315 vhffs-panel/mail/delete.pl:75
-#: vhffs-panel/mail/create.pl:74 vhffs-panel/git/prefs.pl:70
-#: vhffs-panel/git/delete.pl:74 vhffs-panel/git/create.pl:79
-#: vhffs-panel/dns/prefs.pl:76 vhffs-panel/dns/delete.pl:79
-#: vhffs-panel/dns/create.pl:49 vhffs-panel/pgsql/prefs.pl:121
-#: vhffs-panel/pgsql/delete.pl:81 vhffs-panel/pgsql/create.pl:82
-#: vhffs-panel/admin/object/edit.pl:80
-#: vhffs-panel/admin/object/edit_submit.pl:78
-#: vhffs-panel/admin/object/delete_avatar.pl:82
+#: vhffs-panel/admin/tag/request/details.pl:68
+#: vhffs-panel/admin/tag/request/details.pl:137 vhffs-public/group.pl:53
+msgid "CGI Error"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:71 vhffs-panel/mysql/prefs.pl:133
+#: vhffs-panel/mysql/create.pl:82 vhffs-panel/mysql/delete.pl:74
+#: vhffs-panel/pgsql/prefs.pl:121 vhffs-panel/pgsql/create.pl:82
+#: vhffs-panel/pgsql/delete.pl:80 vhffs-panel/admin/broadcast_view.pl:77
+#: vhffs-panel/admin/broadcast_submit.pl:80
+#: vhffs-panel/admin/broadcast_delete.pl:80
 #: vhffs-panel/admin/moderation_submit.pl:77
-#: vhffs-panel/admin/broadcast_delete.pl:84
-#: vhffs-panel/admin/broadcast_submit.pl:84
-#: vhffs-panel/admin/broadcast_view.pl:79 vhffs-panel/cvs/prefs.pl:67
-#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/delete.pl:74
-#: vhffs-panel/cvs/create.pl:80 vhffs-panel/group/prefs.pl:84
-#: vhffs-panel/group/prefs.pl:105 vhffs-panel/group/prefs.pl:123
-#: vhffs-panel/group/prefs.pl:164 vhffs-panel/acl/view.pl:85
-#: vhffs-panel/mysql/prefs.pl:70 vhffs-panel/mysql/prefs.pl:132
-#: vhffs-panel/mysql/delete.pl:75 vhffs-panel/mysql/create.pl:82
-#: vhffs-panel/object/resubmit.pl:63 vhffs-panel/object/resubmit.pl:87
-#: vhffs-panel/object/quickdelete.pl:63 vhffs-panel/svn/prefs.pl:66
-#: vhffs-panel/svn/prefs.pl:139 vhffs-panel/svn/delete.pl:73
-#: vhffs-panel/svn/create.pl:79 vhffs-panel/mailinglist/prefs.pl:210
-#: vhffs-panel/mailinglist/prefs.pl:235 vhffs-panel/mailinglist/prefs.pl:256
-#: vhffs-panel/mailinglist/prefs.pl:276 vhffs-panel/mailinglist/delete.pl:79
-#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/web/prefs.pl:130
-#: vhffs-panel/web/create.pl:77 vhffs-panel/user/prefs.pl:114
-#: vhffs-panel/user/prefs.pl:469 vhffs-panel/history.pl:84
+#: vhffs-panel/admin/object/delete_avatar.pl:80
+#: vhffs-panel/admin/object/edit_submit.pl:76
+#: vhffs-panel/admin/object/edit.pl:78 vhffs-panel/history.pl:82
+#: vhffs-panel/mailinglist/prefs.pl:210 vhffs-panel/mailinglist/prefs.pl:235
+#: vhffs-panel/mailinglist/prefs.pl:256 vhffs-panel/mailinglist/prefs.pl:276
+#: vhffs-panel/mailinglist/create.pl:81 vhffs-panel/mailinglist/delete.pl:77
+#: vhffs-panel/cron/prefs.pl:70 vhffs-panel/cron/prefs.pl:174
+#: vhffs-panel/cron/create.pl:84 vhffs-panel/cron/delete.pl:74
+#: vhffs-panel/repository/prefs.pl:67 vhffs-panel/repository/create.pl:77
+#: vhffs-panel/user/prefs.pl:116 vhffs-panel/user/prefs.pl:494
+#: vhffs-panel/svn/prefs.pl:67 vhffs-panel/svn/prefs.pl:140
+#: vhffs-panel/svn/create.pl:79 vhffs-panel/svn/delete.pl:72
+#: vhffs-panel/object/quickdelete.pl:62 vhffs-panel/object/resubmit.pl:62
+#: vhffs-panel/object/resubmit.pl:86 vhffs-panel/dns/prefs.pl:76
+#: vhffs-panel/dns/create.pl:50 vhffs-panel/dns/delete.pl:71
+#: vhffs-panel/group/prefs.pl:89 vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:128 vhffs-panel/group/prefs.pl:169
+#: vhffs-panel/mail/prefs.pl:184 vhffs-panel/mail/prefs.pl:211
+#: vhffs-panel/mail/prefs.pl:232 vhffs-panel/mail/prefs.pl:267
+#: vhffs-panel/mail/prefs.pl:283 vhffs-panel/mail/prefs.pl:299
+#: vhffs-panel/mail/prefs.pl:314 vhffs-panel/mail/create.pl:75
+#: vhffs-panel/mail/delete.pl:73 vhffs-panel/cvs/prefs.pl:67
+#: vhffs-panel/cvs/prefs.pl:80 vhffs-panel/cvs/create.pl:80
+#: vhffs-panel/cvs/delete.pl:73 vhffs-panel/git/prefs.pl:71
+#: vhffs-panel/git/create.pl:79 vhffs-panel/git/delete.pl:73
+#: vhffs-panel/acl/view.pl:85 vhffs-panel/web/prefs.pl:127
+#: vhffs-panel/web/create.pl:77
 #, perl-format
 msgid "CGI Error !"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:74
+#: vhffs-panel/repository/delete.pl:73
 #, perl-format
 msgid "CGI Error ! %s"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:169
+#: vhffs-panel/admin/tag/category/edit.pl:62
+#: vhffs-panel/admin/tag/create.pl:85 vhffs-panel/admin/tag/edit.pl:63
+msgid "CGI Error!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:90
+#: vhffs-panel/admin/tag/category/edit.pl:106 vhffs-panel/admin/tag/edit.pl:98
+#: vhffs-panel/group/prefs.pl:332 vhffs-panel/group/prefs.pl:365
+#: vhffs-panel/group/prefs.pl:399
+msgid "CGI error"
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:144
 msgid "CGI error !"
 msgstr ""
 
@@ -734,30 +698,19 @@
 msgid "CNAME Record updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:116
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:120
 msgid "CVS"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:188
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:188
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:208
 msgid "CVS Admin"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:42
-msgid "CVS Repositories for this group"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:41
-msgid "CVS Repository"
-msgstr ""
-
 #: vhffs-panel/admin/cvs/list.pl:76
 msgid "CVS Root"
 msgstr ""
 
-#: vhffs-panel/cvs/index.pl:60
+#: vhffs-panel/cvs/index.pl:61
 #, perl-format
 msgid "CVS repositories for %s"
 msgstr ""
@@ -766,11 +719,11 @@
 msgid "CVS repositories' administration"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:85 vhffs-panel/cvs/prefs.pl:98
+#: vhffs-panel/cvs/prefs.pl:85
 msgid "CVS repository updated"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:120
+#: vhffs-panel/admin/stats.pl:119
 msgid "CVS stats"
 msgstr ""
 
@@ -794,7 +747,11 @@
 msgid "Can't access"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:184
+#: vhffs-panel/cron/delete.pl:89
+msgid "Cannot apply changes"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:186
 msgid "Cannot apply changes to the user"
 msgstr ""
 
@@ -802,28 +759,27 @@
 msgid "Cannot apply modifications"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:103
+#: vhffs-panel/mailinglist/delete.pl:101
 msgid "Cannot commit changes on this object, will NOT be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:352
+#: vhffs-api/src/Vhffs/Panel/Main.pm:357
 msgid ""
 "Cannot create or fetch session file, please check that /tmp is readable and "
 "writeable"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:174
+#: vhffs-panel/subscribe.pl:176
 msgid "Cannot create user, the username you entered already exists"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:96
+#: vhffs-panel/admin/object/delete_avatar.pl:94
 msgid "Cannot delete this avatar"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit.pl:85
-#: vhffs-panel/admin/object/edit_submit.pl:82
-#: vhffs-panel/admin/object/delete_avatar.pl:86
+#: vhffs-panel/admin/object/delete_avatar.pl:84
+#: vhffs-panel/admin/object/edit_submit.pl:80
+#: vhffs-panel/admin/object/edit.pl:83
 msgid "Cannot fetch object"
 msgstr ""
 
@@ -831,7 +787,7 @@
 msgid "Cannot find object"
 msgstr ""
 
-#: vhffs-panel/history.pl:89
+#: vhffs-panel/history.pl:87
 msgid "Cannot get information on this object"
 msgstr ""
 
@@ -840,28 +796,28 @@
 msgid "Cannot get informations on object #%d"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:71 vhffs-panel/git/prefs.pl:75
-#: vhffs-panel/dns/prefs.pl:81 vhffs-panel/dns/delete.pl:83
-#: vhffs-panel/pgsql/prefs.pl:68 vhffs-panel/cvs/prefs.pl:70
-#: vhffs-panel/mysql/prefs.pl:75 vhffs-panel/svn/prefs.pl:71
-#: vhffs-panel/mailinglist/delete.pl:83 vhffs-panel/web/prefs.pl:74
-#: vhffs-panel/user/prefs.pl:73
+#: vhffs-panel/mysql/prefs.pl:76 vhffs-panel/pgsql/prefs.pl:68
+#: vhffs-panel/mailinglist/delete.pl:81 vhffs-panel/cron/prefs.pl:75
+#: vhffs-panel/repository/prefs.pl:70 vhffs-panel/user/prefs.pl:74
+#: vhffs-panel/svn/prefs.pl:72 vhffs-panel/dns/prefs.pl:81
+#: vhffs-panel/dns/delete.pl:75 vhffs-panel/cvs/prefs.pl:70
+#: vhffs-panel/git/prefs.pl:76 vhffs-panel/web/prefs.pl:71
 msgid "Cannot get informations on this object"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:74
+#: vhffs-panel/admin/stats.pl:73
 msgid "Cannot get statistics"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:78
+#: vhffs-panel/cvs/delete.pl:77
 msgid "Cannot retrieve informations about this CVS repository"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:78
+#: vhffs-panel/repository/delete.pl:77
 msgid "Cannot retrieve informations about this Download repository"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:78 vhffs-panel/svn/delete.pl:77
+#: vhffs-panel/svn/delete.pl:76 vhffs-panel/git/delete.pl:77
 msgid "Cannot retrieve informations about this repository"
 msgstr ""
 
@@ -869,64 +825,75 @@
 msgid "Cannot send message, CGI error..."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:105
+#: vhffs-panel/mail/prefs.pl:104
 msgid "Catchall address"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:199
+#: vhffs-panel/mail/prefs.pl:198
 msgid "Catchall address successfully changed"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:180
+#: vhffs-panel/mail/prefs.pl:179
 msgid "Catchall isn't enabled on this platform"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:108
+#: vhffs-panel/mail/prefs.pl:107
 msgid "Catchall mail"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:55
-msgid "Change Forward"
+#: vhffs-panel/admin/tag/create.pl:68
+msgid "Category"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:57
-msgid "Change Password"
+#: vhffs-panel/group/prefs.pl:404
+msgid "Category can't be empty"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:130
-msgid "Change catchall forward"
+#: vhffs-panel/admin/tag/category/list.pl:59
+msgid "Category deleted"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:80
-msgid "Change rights"
+#: vhffs-panel/admin/tag/create.pl:107
+msgid "Category does not exists"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:237
+#: vhffs-panel/admin/tag/request/details.pl:173
+msgid "Category not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:65
+msgid "Category not found!"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:129
+msgid "Change catchall forward"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:243
 msgid "Change spam protection status for your account\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:94 vhffs-panel/admin/su.pl:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:94
+#: vhffs-panel/admin/su.pl:72 vhffs-api/src/Vhffs/Panel/Admin.pm:94
 msgid "Change user-id"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:248
+#: vhffs-panel/user/prefs.pl:254
 msgid "Changed anti-virus status for your account\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:306 vhffs-panel/subscribe.pl:228
+#: vhffs-panel/user/prefs.pl:323 vhffs-panel/subscribe.pl:243
 msgid "City"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:126
+#: vhffs-panel/user/prefs.pl:128
 msgid "City is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:109
+#: vhffs-panel/mailinglist/prefs.pl:108
 msgid "Closed"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:238
+#: vhffs-panel/subscribe.pl:257
 msgid "Code confirmation"
 msgstr ""
 
@@ -934,46 +901,66 @@
 msgid "Codes do not match"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:310
+#: vhffs-panel/cron/prefs.pl:139
+msgid "Collided, something went wrong, recovering"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:327
 msgid "Confirm Password"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:241
 msgid "Confirmation code was wrong.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:240
+#: vhffs-panel/subscribe.pl:259
 msgid "Confirmation code, contact administrator team if you can't read it"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:237
+#: vhffs-panel/mail/prefs.pl:236
 msgid "Could not change box password"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:252
+#: vhffs-panel/mail/prefs.pl:251
 #, perl-format
 msgid "Could not update antivirus status for box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:244
 #, perl-format
 msgid "Could not update spam status for box %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:308 vhffs-panel/subscribe.pl:229
+#: vhffs-panel/user/prefs.pl:325 vhffs-panel/subscribe.pl:244
 msgid "Country"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:135
+#: vhffs-panel/user/prefs.pl:137
 msgid "Country is not correct !"
 msgstr ""
 
+#: vhffs-panel/admin/tag/category/create.pl:77
+#: vhffs-panel/admin/tag/create.pl:72
+msgid "Create"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:66
+msgid "Create Tag"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:66
+msgid "Create Tag Category"
+msgstr ""
+
 #: vhffs-panel/cvs/create.pl:100
 msgid "Create a CVS Repository"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:68
+#: vhffs-panel/cron/create.pl:104
+msgid "Create a Cron job"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:69
 msgid "Create a DNS"
 msgstr ""
 
@@ -989,7 +976,7 @@
 msgid "Create a PostgreSQL database"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:84
+#: vhffs-panel/group/create.pl:98
 msgid "Create a Project"
 msgstr ""
 
@@ -1001,7 +988,7 @@
 msgid "Create a git Repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:90
+#: vhffs-panel/mail/create.pl:91
 msgid "Create a mail space"
 msgstr ""
 
@@ -1013,54 +1000,79 @@
 msgid "Create a web space"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:152
+msgid "Create new category"
+msgstr ""
+
 #: vhffs-panel/group/index.pl:63
 msgid "Create new project"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:24 vhffs-api/src/Vhffs/Panel/Object.pm:126
-#: vhffs-panel/admin/object/edit.pl:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:126
-msgid "Created"
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
+msgid "Create new tag"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:124
 #: vhffs-panel/admin/object/edit.pl:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:125
+msgid "Created"
+msgstr ""
+
+#: vhffs-panel/admin/object/edit.pl:117
+#: vhffs-api/src/Vhffs/Panel/Object.pm:123
 msgid "Creating error"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:23
-msgid "Creation error"
+#: vhffs-panel/cron/prefs.pl:90
+msgid "Cron job Administration"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:247 vhffs-panel/user/prefs.pl:337
-msgid "Current avatar"
+#: vhffs-panel/cron/prefs.pl:189
+msgid "Cron job successfully updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:450
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:450
-msgid "Current group:"
+#: vhffs-panel/cron/index.pl:61
+#, perl-format
+msgid "Cron jobs for %s"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/list.pl:76 vhffs-panel/admin/mysql/list.pl:82
+#: vhffs-panel/admin/cron/index.pl:56
+msgid "Cron jobs' administration"
+msgstr ""
+
+#: vhffs-panel/admin/cron/list.pl:82
+msgid "Cron path"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:77 vhffs-api/src/Vhffs/Panel/Menu.pm:127
+msgid "Crons"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:348
+msgid "Crons Admin"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:354 vhffs-panel/group/prefs.pl:260
+msgid "Current avatar"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/list.pl:82 vhffs-panel/admin/pgsql/list.pl:76
 msgid "DB Name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:293
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:313
 msgid "DNS Admin"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:227
+#: vhffs-panel/dns/prefs.pl:226
 #, perl-format
 msgid "DNS Administration - %s"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:74
+#: vhffs-panel/dns/create.pl:75
 msgid "DNS servers:"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:112
+#: vhffs-panel/admin/stats.pl:111
 msgid "DNS stats"
 msgstr ""
 
@@ -1068,45 +1080,30 @@
 msgid "DNS' administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:210 vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:240 vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:264 vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:287 vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:343 vhffs-api/src/Vhffs/Panel/DNS.pm:355
-#: vhffs-panel/ajax/help.pl:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:162
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:228
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:252
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:264
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:287
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:316
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:331
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:343
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:355
+#: vhffs-panel/ajax/help.pl:49 vhffs-api/src/Vhffs/Panel/DNS.pm:163
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:199 vhffs-api/src/Vhffs/Panel/DNS.pm:211
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:229 vhffs-api/src/Vhffs/Panel/DNS.pm:241
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:253 vhffs-api/src/Vhffs/Panel/DNS.pm:266
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:278 vhffs-api/src/Vhffs/Panel/DNS.pm:291
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:304 vhffs-api/src/Vhffs/Panel/DNS.pm:321
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:336 vhffs-api/src/Vhffs/Panel/DNS.pm:348
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:360
 msgid "Database error"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:85
+#: vhffs-panel/pgsql/delete.pl:84
 msgid "Database will NOT be deleted !"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:97
+#: vhffs-panel/pgsql/delete.pl:96
 msgid "Database will be DELETE"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/group/history.pl:77
+#: vhffs-panel/admin/broadcast_view.pl:84 vhffs-panel/group/history.pl:78
 msgid "Date"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:100 vhffs-panel/admin/object/edit.pl:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:100
+#: vhffs-panel/admin/object/edit.pl:94 vhffs-api/src/Vhffs/Panel/Object.pm:99
 msgid "Date of creation"
 msgstr ""
 
@@ -1114,93 +1111,83 @@
 msgid "Default"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:810 vhffs-panel/repository/prefs.pl:93
-#: vhffs-panel/mail/prefs.pl:140 vhffs-panel/git/prefs.pl:109
-#: vhffs-panel/dns/prefs.pl:256 vhffs-panel/dns/prefs.pl:313
-#: vhffs-panel/dns/prefs.pl:325 vhffs-panel/dns/prefs.pl:338
-#: vhffs-panel/dns/prefs.pl:350 vhffs-panel/dns/prefs.pl:366
-#: vhffs-panel/dns/prefs.pl:377 vhffs-panel/dns/prefs.pl:393
-#: vhffs-panel/pgsql/prefs.pl:103 vhffs-panel/cvs/prefs.pl:120
-#: vhffs-panel/group/index.pl:65 vhffs-panel/group/prefs.pl:217
-#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/svn/prefs.pl:101
-#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/web/prefs.pl:113
-#: vhffs-panel/user/prefs.pl:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:810
+#: vhffs-panel/mysql/prefs.pl:116 vhffs-panel/pgsql/prefs.pl:103
+#: vhffs-panel/mailinglist/prefs.pl:183 vhffs-panel/cron/prefs.pl:154
+#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/user/prefs.pl:347
+#: vhffs-panel/svn/prefs.pl:102 vhffs-panel/dns/prefs.pl:255
+#: vhffs-panel/dns/prefs.pl:315 vhffs-panel/dns/prefs.pl:327
+#: vhffs-panel/dns/prefs.pl:340 vhffs-panel/dns/prefs.pl:352
+#: vhffs-panel/dns/prefs.pl:368 vhffs-panel/dns/prefs.pl:379
+#: vhffs-panel/dns/prefs.pl:395 vhffs-panel/group/prefs.pl:230
+#: vhffs-panel/group/index.pl:65 vhffs-panel/mail/prefs.pl:139
+#: vhffs-panel/cvs/prefs.pl:107 vhffs-panel/git/prefs.pl:106
+#: vhffs-panel/web/prefs.pl:110 vhffs-api/src/Vhffs/Panel/Main.pm:809
 msgid "Delete"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:325
+#: vhffs-panel/user/prefs.pl:342
 msgid "Delete YOUR user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:200
-#: vhffs-panel/admin/object/edit.pl:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:200
+#: vhffs-panel/admin/object/edit.pl:194
+#: vhffs-api/src/Vhffs/Panel/Object.pm:199
 msgid "Delete avatar for this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:81
-msgid "Delete from list"
-msgstr ""
-
 #: vhffs-panel/pgsql/prefs.pl:98
 msgid "Delete this PostgreSQL database"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:110
+#: vhffs-panel/cron/prefs.pl:149
+msgid "Delete this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/prefs.pl:111
 msgid "Delete this database"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:251
+#: vhffs-panel/dns/prefs.pl:250
 msgid "Delete this domain name from the VHFFS platform"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:56
-msgid "Delete this forward"
-msgstr ""
-
 #: vhffs-panel/mailinglist/prefs.pl:178
 msgid "Delete this list"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:135
+#: vhffs-panel/mail/prefs.pl:134
 msgid "Delete this mail domain"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_list.pl:89
+#: vhffs-panel/admin/broadcast_list.pl:87
 msgid "Delete this mailing"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:88 vhffs-panel/cvs/prefs.pl:115
-#: vhffs-panel/group/prefs.pl:212
+#: vhffs-panel/repository/prefs.pl:87 vhffs-panel/group/prefs.pl:225
+#: vhffs-panel/cvs/prefs.pl:102
 msgid "Delete this project"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:104 vhffs-panel/svn/prefs.pl:96
+#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/git/prefs.pl:101
 msgid "Delete this repository"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:108
+#: vhffs-panel/web/prefs.pl:105
 msgid "Delete this web area"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:3 vhffs-intl/template_strings.pl:5
-#: vhffs-intl/template_strings.pl:40 vhffs-api/src/Vhffs/Panel/Object.pm:102
-#: vhffs-panel/repository/create.pl:98 vhffs-panel/git/create.pl:103
-#: vhffs-panel/dns/create.pl:79 vhffs-panel/pgsql/create.pl:110
-#: vhffs-panel/admin/object/edit.pl:98 vhffs-panel/admin/moderation.pl:88
-#: vhffs-panel/cvs/create.pl:108 vhffs-panel/group/create.pl:91
-#: vhffs-panel/mysql/create.pl:110 vhffs-panel/object/resubmit.pl:128
-#: vhffs-panel/svn/create.pl:102
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:102
+#: vhffs-panel/mysql/create.pl:110 vhffs-panel/pgsql/create.pl:111
+#: vhffs-panel/admin/object/edit.pl:96 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/tag/category/create.pl:69
+#: vhffs-panel/admin/tag/category/edit.pl:80
+#: vhffs-panel/admin/tag/create.pl:71 vhffs-panel/cron/create.pl:118
+#: vhffs-panel/repository/create.pl:98 vhffs-panel/svn/create.pl:102
+#: vhffs-panel/object/resubmit.pl:128 vhffs-panel/dns/create.pl:80
+#: vhffs-panel/group/create.pl:105 vhffs-panel/cvs/create.pl:108
+#: vhffs-panel/git/create.pl:103 vhffs-api/src/Vhffs/Panel/Object.pm:101
 msgid "Description"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:31
-msgid "Description contains"
-msgstr ""
-
-#: vhffs-panel/web/prefs.pl:99
+#: vhffs-panel/web/prefs.pl:96
 msgid "Description of your webarea"
 msgstr ""
 
@@ -1208,48 +1195,43 @@
 msgid "Destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:71
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:120
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:74 vhffs-api/src/Vhffs/Panel/Menu.pm:124
 msgid "Dl repos"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:91
+#: vhffs-panel/mail/create.pl:92
 msgid "Domain"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:43 vhffs-panel/dns/create.pl:70
-#: vhffs-panel/admin/mail/list.pl:75 vhffs-panel/admin/dns/list.pl:75
+#: vhffs-panel/admin/dns/list.pl:75 vhffs-panel/admin/mail/list.pl:75
+#: vhffs-panel/dns/create.pl:71
 msgid "Domain Name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:70 vhffs-api/src/Vhffs/Panel/Menu.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:119
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:123
 msgid "Domain names"
 msgstr ""
 
-#: vhffs-panel/dns/index.pl:60
+#: vhffs-panel/dns/index.pl:61
 #, perl-format
 msgid "Domain names for %s"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:121 vhffs-panel/svn/prefs.pl:110
+#: vhffs-panel/svn/prefs.pl:111 vhffs-panel/git/prefs.pl:115
 #, perl-format
 msgid ""
 "Don't forget to subscribe %s to your mailing list if you are filtering posts"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:38
-msgid "Download Repository"
+#: vhffs-panel/subscribe.pl:271
+msgid "Don't subscribe to the newsletter"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:311
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:331
 msgid "Download repositories Admin"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:60
+#: vhffs-panel/repository/index.pl:61
 #, perl-format
 msgid "Download repositories for %s"
 msgstr ""
@@ -1262,53 +1244,50 @@
 msgid "Edit"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit.pl:91
+#: vhffs-panel/admin/object/edit.pl:89
 msgid "Edit Object"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:98
+#: vhffs-panel/admin/object/list.pl:96
 msgid "Edit this object"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:183
+#: vhffs-panel/user/prefs.pl:189
 msgid "Email address changed"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:129
+#: vhffs-panel/user/prefs.pl:131
 msgid "Email is not correct !"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:58
-msgid "Enable anti-spam"
+#: vhffs-panel/cron/create.pl:112
+msgid "Email to which report will be sent if something went wrong"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:61
-msgid "Enable anti-virus"
-msgstr ""
-
-#: vhffs-panel/mail/prefs.pl:107
+#: vhffs-panel/mail/prefs.pl:106
 msgid "Enter a mail address to catch all email for this domain"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:53 vhffs-panel/mail/index.pl:53
-#: vhffs-panel/git/index.pl:54 vhffs-panel/dns/index.pl:53
-#: vhffs-panel/pgsql/index.pl:53 vhffs-panel/cvs/index.pl:53
-#: vhffs-panel/mysql/index.pl:53 vhffs-panel/svn/index.pl:53
-#: vhffs-panel/mailinglist/index.pl:53 vhffs-panel/web/index.pl:53
+#: vhffs-panel/mysql/index.pl:54 vhffs-panel/pgsql/index.pl:54
+#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/cron/index.pl:54
+#: vhffs-panel/repository/index.pl:54 vhffs-panel/svn/index.pl:54
+#: vhffs-panel/dns/index.pl:54 vhffs-panel/mail/index.pl:54
+#: vhffs-panel/cvs/index.pl:54 vhffs-panel/git/index.pl:55
+#: vhffs-panel/web/index.pl:54
 msgid "Error"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_submit.pl:96
+#: vhffs-panel/admin/broadcast_submit.pl:92
 msgid "Error !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:212
+#: vhffs-panel/user/prefs.pl:218
 msgid ""
 "Error ! You MUST provide a password in your account when you create your "
 "popable account"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:74
+#: vhffs-panel/group/create.pl:78
 msgid "Error creating group (maybe a group with the same name already exists)"
 msgstr ""
 
@@ -1316,11 +1295,11 @@
 msgid "Error creating webarea."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:239
+#: vhffs-panel/user/prefs.pl:245
 msgid "Error for spam protection\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:250
+#: vhffs-panel/user/prefs.pl:256
 msgid "Error for virus protection\n"
 msgstr ""
 
@@ -1328,20 +1307,19 @@
 msgid "Error when uploading avatar for this object"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:96
+#: vhffs-panel/dns/delete.pl:88
 msgid "Error while switching state. DNS will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:67 vhffs-panel/group/history.pl:65
+#: vhffs-panel/group/history.pl:66 vhffs-panel/group/prefs.pl:71
 msgid "Error. This group doesn't exists"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:80
+#: vhffs-panel/group/history.pl:81
 msgid "Event"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:360
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:360
+#: vhffs-api/src/Vhffs/Panel/Main.pm:365
 msgid "Expired session ! Please login again"
 msgstr ""
 
@@ -1349,85 +1327,59 @@
 msgid "Filetype not supported, only png is supported"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:74
-msgid "Fill with project's members emails"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:8 vhffs-intl/template_strings.pl:23
-#: vhffs-panel/user/prefs.pl:303 vhffs-panel/subscribe.pl:225
+#: vhffs-panel/user/prefs.pl:320 vhffs-panel/subscribe.pl:240
 msgid "Firstname"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:120
+#: vhffs-panel/user/prefs.pl:122
 msgid "Firstname is not correct !"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:115
-msgid "Fix permissions in this repository"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:117
-msgid "Fix them !"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:116
-msgid ""
-"Fixing permissions on a repository solve permission access on the "
-"repository. Can be helpful if you encounter problems"
-msgstr ""
-
-#: vhffs-panel/mail/prefs.pl:319
+#: vhffs-panel/mail/prefs.pl:318
 #, perl-format
 msgid "Forward %s deleted"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:304
+#: vhffs-panel/mail/prefs.pl:303
 #, perl-format
 msgid "Forward %s successfully updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:288 vhffs-panel/group/prefs.pl:191
-#: vhffs-panel/user/prefs.pl:268
+#: vhffs-panel/user/prefs.pl:274 vhffs-panel/group/prefs.pl:196
+#: vhffs-panel/mail/prefs.pl:287
 msgid "Forward added"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:188
+#: vhffs-panel/group/prefs.pl:193
 msgid "Forward deleted"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:414
+#: vhffs-panel/user/prefs.pl:431
 #, perl-format
 msgid "Forward emails from %s@%s to %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:125
+#: vhffs-panel/mail/prefs.pl:124
 msgid "Forward mail"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:277
+#: vhffs-panel/user/prefs.pl:283
 msgid "Forward updated"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:120
+#: vhffs-panel/mail/prefs.pl:119
 msgid "Forwards"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:560
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:560
+#: vhffs-api/src/Vhffs/Panel/Main.pm:547
 msgid "Full history"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:118
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:122
 msgid "GIT"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:44
-msgid "GIT Repositories for this group"
-msgstr ""
-
-#: vhffs-panel/git/index.pl:61
+#: vhffs-panel/git/index.pl:62
 #, perl-format
 msgid "GIT repositories for %s"
 msgstr ""
@@ -1440,30 +1392,22 @@
 msgid "GIT root"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:133
+#: vhffs-panel/admin/stats.pl:132
 msgid "GIT stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:110 vhffs-api/src/Vhffs/Panel/Main.pm:559
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:114 vhffs-api/src/Vhffs/Panel/Main.pm:546
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:79
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:101
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:559
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:110
 msgid "General"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:91 vhffs-api/src/Vhffs/Panel/Admin.pm:76
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:95 vhffs-api/src/Vhffs/Panel/Admin.pm:76
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:76
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:93
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:91
 msgid "Get Statistics"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:206
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:206
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:226
 msgid "Git Admin"
 msgstr ""
 
@@ -1471,17 +1415,15 @@
 msgid "Give me a new password"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:808
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:808
+#: vhffs-api/src/Vhffs/Panel/Main.pm:807
 msgid "Go to administration"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:85
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:88
 msgid "Go to public area"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:302
+#: vhffs-panel/mailinglist/prefs.pl:304
 #, perl-format
 msgid ""
 "Greetings,\n"
@@ -1491,36 +1433,33 @@
 "You may get some help on listengine by sending an email to %s-request@%s "
 "with subject help.\n"
 "\n"
-"Cheers."
+"Cheers.\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:36 vhffs-panel/admin/repository/list.pl:76
-#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/git/list.pl:73
-#: vhffs-panel/admin/dns/list.pl:76 vhffs-panel/admin/pgsql/list.pl:77
-#: vhffs-panel/admin/cvs/list.pl:77 vhffs-panel/admin/mysql/list.pl:83
-#: vhffs-panel/admin/svn/list.pl:71 vhffs-panel/admin/mailinglist/list.pl:80
-#: vhffs-panel/admin/web/list.pl:71 vhffs-panel/admin/moderation.pl:87
+#: vhffs-panel/admin/mysql/list.pl:83 vhffs-panel/admin/pgsql/list.pl:77
+#: vhffs-panel/admin/mailinglist/list.pl:80 vhffs-panel/admin/cron/list.pl:83
+#: vhffs-panel/admin/repository/list.pl:76 vhffs-panel/admin/svn/list.pl:71
+#: vhffs-panel/admin/moderation.pl:86 vhffs-panel/admin/dns/list.pl:76
+#: vhffs-panel/admin/mail/list.pl:76 vhffs-panel/admin/cvs/list.pl:77
+#: vhffs-panel/admin/git/list.pl:73 vhffs-panel/admin/web/list.pl:71
 msgid "Group"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:546
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:546
+#: vhffs-api/src/Vhffs/Panel/Main.pm:533
 #, perl-format
 msgid "Group %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:135
 msgid "Group Admin"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:66
-msgid "Group Quota"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:530
+msgid "Group error"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:543
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:543
-msgid "Group error"
+#: vhffs-public/group.pl:62
+msgid "Group not found"
 msgstr ""
 
 #: vhffs-panel/acl/view.pl:87
@@ -1531,7 +1470,7 @@
 msgid "Group owning this CVS"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:75
+#: vhffs-panel/dns/create.pl:76
 msgid "Group owning this DNS"
 msgstr ""
 
@@ -1539,7 +1478,11 @@
 msgid "Group owning this Subversion repository"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:103 vhffs-panel/mysql/create.pl:103
+#: vhffs-panel/cron/create.pl:106
+msgid "Group owning this cron job"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:103 vhffs-panel/pgsql/create.pl:103
 msgid "Group owning this database"
 msgstr ""
 
@@ -1547,7 +1490,7 @@
 msgid "Group owning this git repository"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:93
+#: vhffs-panel/mail/create.pl:94
 msgid "Group owning this mail domain"
 msgstr ""
 
@@ -1563,32 +1506,29 @@
 msgid "Group owning this web space"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:97
+#: vhffs-panel/group/prefs.pl:102
 msgid "Group updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:293
+#: vhffs-panel/group/prefs.pl:303
 msgid "Group updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:1 vhffs-intl/template_strings.pl:4
-#: vhffs-intl/template_strings.pl:30 vhffs-intl/template_strings.pl:39
 #: vhffs-panel/admin/group/list.pl:80
 msgid "Groupname"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:66
+#: vhffs-panel/group/create.pl:68
 msgid ""
 "Groupname must contain between 3 and 12 characters, only letters or numbers "
 "in lower case"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:48 vhffs-api/src/Vhffs/Panel/Menu.pm:112
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:112
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:116
 msgid "Groups"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:99
+#: vhffs-panel/admin/stats.pl:98
 msgid "Groups stats"
 msgstr ""
 
@@ -1596,11 +1536,7 @@
 msgid "Groups' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:26
-msgid "Groups/Projects"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:181
+#: vhffs-panel/user/prefs.pl:187
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1613,8 +1549,7 @@
 "VHFFS administrators\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:499
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:499
+#: vhffs-api/src/Vhffs/Object.pm:514
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1635,11 +1570,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:322
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:322
+#: vhffs-api/src/Vhffs/User.pm:333
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1660,12 +1594,29 @@
 "%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:404
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:404
+#: vhffs-api/src/Vhffs/Object.pm:408
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
 "\n"
+"Your request for a %s (%s) on %s was accepted, however, moderators wanted to "
+"add some precision:\n"
+"%s.\n"
+"Please wait while we are creating your object.\n"
+"\n"
+"Cheers,\n"
+"The moderator team\n"
+"\n"
+"---------\n"
+"%s\n"
+"%s\n"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Object.pm:420
+#, perl-format
+msgid ""
+"Hello %s %s,\n"
+"\n"
 "Your request for a %s (%s) on %s was accepted.\n"
 "Please wait while we are creating your object.\n"
 "\n"
@@ -1674,11 +1625,10 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:453
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:453
+#: vhffs-api/src/Vhffs/Object.pm:468
 #, perl-format
 msgid ""
 "Hello %s %s,\n"
@@ -1698,32 +1648,25 @@
 "\n"
 "---------\n"
 "%s\n"
-"%s"
+"%s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:502
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:502
+#: vhffs-api/src/Vhffs/Panel/Main.pm:490
 #, perl-format
 msgid "Hello %s, welcome in VHFFS !"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:46
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:46
 msgid "Hello and welcome on listengine help\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:437 vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-api/src/Vhffs/Panel/Main.pm:663 vhffs-api/src/Vhffs/Panel/Main.pm:818
-#: vhffs-panel/group/prefs.pl:233 vhffs-panel/user/prefs.pl:417
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:437
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:564
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:663
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:818
+#: vhffs-panel/user/prefs.pl:434 vhffs-panel/group/prefs.pl:246
+#: vhffs-api/src/Vhffs/Panel/Main.pm:427 vhffs-api/src/Vhffs/Panel/Main.pm:553
+#: vhffs-api/src/Vhffs/Panel/Main.pm:659 vhffs-api/src/Vhffs/Panel/Main.pm:818
 msgid "Help"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:52
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:52
 msgid "Here are the basic listengine commands:\n"
 msgstr ""
 
@@ -1732,152 +1675,159 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:422
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:422
 #, perl-format
 msgid ""
 "His email address is:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:811 vhffs-panel/admin/object/list.pl:92
-#: vhffs-panel/admin/object/list.pl:99 vhffs-panel/history.pl:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:811
+#: vhffs-panel/admin/object/list.pl:90 vhffs-panel/admin/object/list.pl:97
+#: vhffs-panel/history.pl:96 vhffs-api/src/Vhffs/Panel/Main.pm:810
 msgid "History"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:203
-#: vhffs-panel/admin/object/edit.pl:198
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:203
+#: vhffs-panel/admin/object/edit.pl:196
+#: vhffs-api/src/Vhffs/Panel/Object.pm:202
 msgid "History of this object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:434
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:434
+#: vhffs-api/src/Vhffs/Panel/Main.pm:424
 msgid "Home page"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:15
-msgid "Homepage of public area"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:295 vhffs-panel/dns/prefs.pl:380
-#: vhffs-panel/dns/prefs.pl:396
+#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:398
 msgid "Host"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:288
 msgid "Host of your name server"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:165
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:165
 msgid "However this list require approval for new subscribers.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:120
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:120
 #, perl-format
 msgid "However you are (%s) already subscribed to this list.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:69
 msgid "I've lost my password"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:263
+#: vhffs-panel/dns/prefs.pl:262
 msgid "IP"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:505
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:505
+#: vhffs-api/src/Vhffs/Panel/Main.pm:493
 msgid ""
 "If you are new to VHFFS, you should start to read quickly the whole help "
 "available by clicking on the help button in the upper right of your screen"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:88
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:88
 msgid ""
 "If you don't asked to be subscribed to this mailing list,\n"
 "just forget this email\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:106
 msgid ""
 "If you haven't asked to be unsubscribed from this list,\n"
 "please don't answer to this mail\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:203
+#: vhffs-panel/group/prefs.pl:216
 msgid ""
 "If you want more disk space for your project, you must fill a form in the "
 "bug report section, in the menu. Don't forget to mention the name of the "
 "group."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:239
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:197
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:209
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:239
+#: vhffs-panel/admin/tag/request/details.pl:146
+msgid "If you want to create a new category, you have to create a new tag too"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:110
+#, perl-format
+msgid ""
+"In minutes, at which interval this cron should be started, the minimum "
+"interval is set to %d minutes"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:109
+msgid "Interval"
+msgstr ""
+
+#: vhffs-panel/cron/prefs.pl:95
+msgid "Interval between runs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:198 vhffs-api/src/Vhffs/Panel/DNS.pm:210
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:240
 msgid "Invalid IP address"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:227
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:228
 msgid "Invalid IP v6 address"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:297
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:301
 msgid "Invalid alias"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:86 vhffs-panel/mysql/create.pl:86
+#: vhffs-panel/admin/tag/create.pl:90 vhffs-panel/admin/tag/edit.pl:111
+msgid "Invalid category"
+msgstr ""
+
+#: vhffs-panel/cron/create.pl:88
 msgid ""
+"Invalid cronpath, it must contain only letters, numbers, underscore, dash, "
+"dot or slash. A valid cronpath will be something like /home/group/script.sh)"
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:86 vhffs-panel/pgsql/create.pl:86
+msgid ""
 "Invalid database name, it must contain only numbers, lowercase letters and "
 "underscore (the latter isn't allowed in first or last position) and be "
 "between 3 and 32 characters."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:286
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:286
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:290
 msgid "Invalid destination"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:311 vhffs-api/src/Vhffs/Panel/DNS.pm:327
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:311
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:327
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:315 vhffs-api/src/Vhffs/Panel/DNS.pm:332
 msgid "Invalid destination domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:298
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:302
 msgid "Invalid destination host"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:76 vhffs-panel/dns/create.pl:51
+#: vhffs-panel/dns/create.pl:52 vhffs-panel/mail/create.pl:77
 msgid "Invalid domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:263
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:265
 msgid "Invalid host"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:249 vhffs-api/src/Vhffs/Panel/DNS.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:249
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:273
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:276
 msgid "Invalid hostname"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:90
+msgid "Invalid interval, it must be a positive integer"
+msgstr ""
+
 #: vhffs-panel/mailinglist/create.pl:85
 msgid "Invalid local part"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:188
+#: vhffs-panel/git/prefs.pl:163
 msgid "Invalid mailing list address"
 msgstr ""
 
@@ -1889,53 +1839,38 @@
 msgid "Invalid password. It must contain at least 3 characters"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:312 vhffs-api/src/Vhffs/Panel/DNS.pm:328
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:312
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:328
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:316 vhffs-api/src/Vhffs/Panel/DNS.pm:333
 msgid "Invalid port"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:194 vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:341
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:194
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:224
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:341
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:254 vhffs-api/src/Vhffs/Panel/DNS.pm:279
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:345
 msgid "Invalid prefix"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:250 vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:329
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:250
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:329
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:251 vhffs-api/src/Vhffs/Panel/DNS.pm:317
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:334
 msgid "Invalid priority"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:309
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:313
 msgid "Invalid protocol syntax"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:120 vhffs-panel/group/prefs.pl:274
+#: vhffs-panel/repository/prefs.pl:119 vhffs-panel/group/prefs.pl:289
 msgid "Invalid quota"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:159 vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:237 vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:284 vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:352
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:159
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:261
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:284
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:352
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:160 vhffs-api/src/Vhffs/Panel/DNS.pm:208
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:263
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:319
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:330 vhffs-api/src/Vhffs/Panel/DNS.pm:357
 msgid "Invalid record"
 msgstr ""
 
-#: vhffs-panel/git/create.pl:81 vhffs-panel/cvs/create.pl:82
-#: vhffs-panel/svn/create.pl:81
+#: vhffs-panel/svn/create.pl:81 vhffs-panel/cvs/create.pl:82
+#: vhffs-panel/git/create.pl:81
 msgid ""
 "Invalid reponame. It must contain between 3 and 64 characters, only "
 "lowercase letters and numbers"
@@ -1945,152 +1880,140 @@
 msgid "Invalid servername (doesn't conform to domain names rules)"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:310
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:310
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:314
 msgid "Invalid service syntax"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:115
+#: vhffs-panel/subscribe.pl:117
 msgid ""
 "Invalid username, it must contain between 3 and 12 alphanumeric characters, "
 "all in lowercase"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:314 vhffs-api/src/Vhffs/Panel/DNS.pm:330
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:330
+#: vhffs-panel/admin/tag/category/edit.pl:119
+msgid "Invalid visibility"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:318 vhffs-api/src/Vhffs/Panel/DNS.pm:335
 msgid "Invalid weight"
 msgstr ""
 
-#: vhffs-panel/cvs/prefs.pl:111
+#: vhffs-panel/cvs/prefs.pl:98
 msgid "Is this CVS repository public ??"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:100 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/svn/prefs.pl:93 vhffs-panel/git/prefs.pl:97
 msgid "Is this a public repository ?"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:311
-msgid "Language"
+#: vhffs-panel/admin/tag/category/create.pl:68
+#: vhffs-panel/admin/tag/category/edit.pl:79
+#: vhffs-panel/admin/tag/create.pl:70
+msgid "Label"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:17 vhffs-intl/template_strings.pl:27
-msgid "Last Groups"
+#: vhffs-panel/user/prefs.pl:328
+msgid "Language"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:16
-msgid "Last Users"
-msgstr ""
-
-#: vhffs-public/lastgroups.pl:58
+#: vhffs-public/index.pl:48 vhffs-public/lastgroups.pl:58
 #, perl-format
 msgid "Last groups on %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:20
-msgid "Last users"
+#: vhffs-panel/cron/prefs.pl:114
+msgid "Last run date was"
 msgstr ""
 
-#: vhffs-public/lastusers.pl:60
-#, perl-format
-msgid "Last users on %s"
+#: vhffs-panel/cron/prefs.pl:119
+msgid "Last run return code was"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:9 vhffs-intl/template_strings.pl:24
-#: vhffs-panel/user/prefs.pl:304 vhffs-panel/subscribe.pl:226
+#: vhffs-panel/user/prefs.pl:321 vhffs-panel/subscribe.pl:241
 msgid "Lastname"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:123
+#: vhffs-panel/user/prefs.pl:125
 msgid "Lastname is not correct !"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:236
+#: vhffs-panel/dns/prefs.pl:235
 msgid "List all A reccords"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:237
+#: vhffs-panel/dns/prefs.pl:236
 msgid "List all AAAA reccords"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:185
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:185
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:205
 msgid "List all CVS repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:203
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:203
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
 msgid "List all Git repos"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:220
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:220
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
 msgid "List all MySQL databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:237
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:237
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
 msgid "List all Pg databases"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:167
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:167
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:187
 msgid "List all SVN repos"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:303
+#: vhffs-panel/dns/prefs.pl:305
 msgid "List all TXT records"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:112
+#: vhffs-panel/mail/prefs.pl:111
 msgid "List all accounts"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:290
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:290
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:345
+msgid "List all cron jobs"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:310
 msgid "List all domain names"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:308
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:308
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:328
 msgid "List all download repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:121
+#: vhffs-panel/mail/prefs.pl:120
 msgid "List all forwardings for this domain"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:132
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:132
 msgid "List all groups"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:254
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:254
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:274
 msgid "List all mail domains"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:272
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:272
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:292
 msgid "List all mailing lists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:147
+#: vhffs-panel/mailinglist/prefs.pl:146
 msgid "List all members"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:96
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:96
 msgid "List all objects"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:115
 msgid "List all users"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:150
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:150
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
 msgid "List all webareas"
 msgstr ""
 
@@ -2098,6 +2021,10 @@
 msgid "List of all CVS repositories"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:79
+msgid "List of all Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:72
 msgid "List of all Download repositories"
 msgstr ""
@@ -2130,7 +2057,7 @@
 msgid "List of all users"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:18 vhffs-panel/admin/web/list.pl:67
+#: vhffs-panel/admin/web/list.pl:67
 msgid "List of all websites"
 msgstr ""
 
@@ -2138,23 +2065,23 @@
 msgid "List updated"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:95
+#: vhffs-panel/mailinglist/delete.pl:93
 msgid "List will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:166
+#: vhffs-panel/admin/stats.pl:165
 msgid "Listengine stats"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:124
+#: vhffs-panel/mail/prefs.pl:123
 msgid "Local Part"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:115
+#: vhffs-panel/mail/prefs.pl:114
 msgid "Local Part for this account"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:75 vhffs-panel/lost_ack.pl:83
+#: vhffs-panel/lost_ack.pl:78 vhffs-panel/lost_ack.pl:86
 msgid "Login"
 msgstr ""
 
@@ -2162,22 +2089,15 @@
 msgid "Login failed !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:245
+#: vhffs-panel/group/prefs.pl:258
 msgid "Logo"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:439
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:439
+#: vhffs-api/src/Vhffs/Panel/Main.pm:429
 msgid "Logout"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:53 vhffs-intl/template_strings.pl:69
-msgid "MB"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:73 vhffs-api/src/Vhffs/Panel/Menu.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:73
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:122
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:76 vhffs-api/src/Vhffs/Panel/Menu.pm:126
 msgid "ML"
 msgstr ""
 
@@ -2193,34 +2113,27 @@
 msgid "MX Record updated"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:72 vhffs-api/src/Vhffs/Panel/Menu.pm:121
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:72
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:121
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:75 vhffs-api/src/Vhffs/Panel/Menu.pm:125
 msgid "Mail"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:101
+#: vhffs-panel/mail/prefs.pl:100
 msgid "Mail Administration for domain "
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:44
-msgid "Mail Domain"
-msgstr ""
-
-#: vhffs-panel/user/prefs.pl:282
+#: vhffs-panel/user/prefs.pl:288
 msgid "Mail deleted"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:80
+#: vhffs-panel/mail/create.pl:81
 msgid "Mail domain successfully created !"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:257
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:257
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:277
 msgid "Mail domains Admin"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:60
+#: vhffs-panel/mail/index.pl:61
 #, perl-format
 msgid "Mail domains for %s"
 msgstr ""
@@ -2233,52 +2146,53 @@
 msgid "Mail for the list"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:139
+#: vhffs-panel/cron/prefs.pl:99
+msgid "Mail reports to"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:138
 msgid "Mail stats"
 msgstr ""
 
+#: vhffs-panel/cron/create.pl:111
+msgid "Mail to"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:98
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:98
 msgid "Mail to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:371
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:371
 #, perl-format
 msgid "Mail with id %s"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:180
+#: vhffs-panel/user/prefs.pl:186
 msgid "Mailbox modified"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:223
+#: vhffs-panel/user/prefs.pl:229
 msgid "Mailbox successfully added"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:45 vhffs-panel/admin/mailinglist/list.pl:79
+#: vhffs-panel/admin/mailinglist/list.pl:79
 msgid "Mailing List"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:45
-msgid "Mailing Lists for this group"
-msgstr ""
-
-#: vhffs-panel/mailinglist/prefs.pl:81
+#: vhffs-panel/mailinglist/prefs.pl:80
 #, perl-format
 msgid "Mailing list %s@%s not found"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:157
+#: vhffs-panel/svn/prefs.pl:158
 msgid "Mailing list address is invalid"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:275
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:275
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:295
 msgid "Mailing lists Admin"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:60
+#: vhffs-panel/mailinglist/index.pl:61
 #, perl-format
 msgid "Mailing lists for %s"
 msgstr ""
@@ -2287,36 +2201,51 @@
 msgid "Mailing lists' administration"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_submit.pl:92
+#: vhffs-panel/admin/broadcast_submit.pl:88
 msgid "Mailing successfully added"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_delete.pl:92
+#: vhffs-panel/admin/broadcast_delete.pl:88
 msgid "Mailing successfully deleted"
 msgstr ""
 
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
+msgid "Manage existing categories"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
+msgid "Manage existing tags"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:99
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:99
 msgid "Manage mailings"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:146
+#: vhffs-panel/mailinglist/prefs.pl:145
 msgid "Manage members"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:152
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:154
+msgid "Manage requests"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:157
 msgid "Many users matched your query. Please choose between them"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:114
+#: vhffs-panel/admin/stats.pl:183
+msgid "Max tags for a group"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:113
 msgid "Members only"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:115
+#: vhffs-panel/mailinglist/prefs.pl:114
 msgid "Members only and moderated"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:80
+#: vhffs-panel/admin/broadcast.pl:78
 msgid "Message"
 msgstr ""
 
@@ -2329,42 +2258,35 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:336 vhffs-api/src/Vhffs/Listengine.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:336
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:353
 #, perl-format
 msgid "Message with id: %s"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:112
+#: vhffs-panel/mailinglist/prefs.pl:111
 msgid "Moderated for everyone"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:92 vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:95 vhffs-panel/admin/moderation.pl:74
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:77
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:92
+#: vhffs-panel/admin/moderation.pl:73 vhffs-api/src/Vhffs/Panel/Menu.pm:96
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:77 vhffs-api/src/Vhffs/Panel/Admin.pm:95
 msgid "Moderation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:85
-msgid "Moderator"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:419
+msgid "Moderator account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:429
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:429
-msgid "Moderator account"
+#: vhffs-panel/admin/tag/category/create.pl:74
+#: vhffs-panel/admin/tag/category/edit.pl:85
+msgid "Moderators"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:30 vhffs-api/src/Vhffs/Panel/Object.pm:131
-#: vhffs-panel/admin/object/edit.pl:126
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:131
+#: vhffs-panel/admin/object/edit.pl:124
+#: vhffs-api/src/Vhffs/Panel/Object.pm:130
 msgid "Modification applied"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:29 vhffs-api/src/Vhffs/Panel/Object.pm:130
-#: vhffs-panel/admin/object/edit.pl:125
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:130
+#: vhffs-panel/admin/object/edit.pl:123
+#: vhffs-api/src/Vhffs/Panel/Object.pm:129
 msgid "Modification error"
 msgstr ""
 
@@ -2372,58 +2294,46 @@
 msgid "Modifications applied successfully"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:152 vhffs-panel/git/prefs.pl:197
-#: vhffs-panel/svn/prefs.pl:163
+#: vhffs-panel/svn/prefs.pl:164 vhffs-panel/git/prefs.pl:172
 msgid ""
 "Modifications applied. Please wait while your repository is being updated"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:103 vhffs-panel/dns/prefs.pl:315
-#: vhffs-panel/dns/prefs.pl:327 vhffs-panel/dns/prefs.pl:340
-#: vhffs-panel/dns/prefs.pl:351 vhffs-panel/dns/prefs.pl:378
-#: vhffs-panel/dns/prefs.pl:394 vhffs-panel/pgsql/prefs.pl:97
-#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/mail/list.pl:84
-#: vhffs-panel/admin/git/list.pl:81 vhffs-panel/admin/dns/list.pl:84
-#: vhffs-panel/admin/pgsql/list.pl:85 vhffs-panel/admin/cvs/list.pl:84
-#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mysql/list.pl:92
-#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/mailinglist/list.pl:88
-#: vhffs-panel/admin/user/list.pl:79 vhffs-panel/cvs/prefs.pl:114
-#: vhffs-panel/group/prefs.pl:211 vhffs-panel/group/prefs.pl:229
-#: vhffs-panel/acl/view.pl:105 vhffs-panel/mysql/prefs.pl:109
-#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/web/prefs.pl:101
-#: vhffs-panel/user/prefs.pl:314
+#: vhffs-panel/mysql/prefs.pl:110 vhffs-panel/pgsql/prefs.pl:97
+#: vhffs-panel/admin/mysql/list.pl:92 vhffs-panel/admin/pgsql/list.pl:85
+#: vhffs-panel/admin/mailinglist/list.pl:88 vhffs-panel/admin/cron/list.pl:92
+#: vhffs-panel/admin/repository/list.pl:84 vhffs-panel/admin/user/list.pl:79
+#: vhffs-panel/admin/svn/list.pl:79 vhffs-panel/admin/dns/list.pl:84
+#: vhffs-panel/admin/group/list.pl:89 vhffs-panel/admin/mail/list.pl:84
+#: vhffs-panel/admin/cvs/list.pl:84 vhffs-panel/admin/git/list.pl:81
+#: vhffs-panel/cron/prefs.pl:148 vhffs-panel/user/prefs.pl:331
+#: vhffs-panel/svn/prefs.pl:96 vhffs-panel/dns/prefs.pl:317
+#: vhffs-panel/dns/prefs.pl:329 vhffs-panel/dns/prefs.pl:342
+#: vhffs-panel/dns/prefs.pl:353 vhffs-panel/dns/prefs.pl:380
+#: vhffs-panel/dns/prefs.pl:396 vhffs-panel/group/prefs.pl:224
+#: vhffs-panel/group/prefs.pl:242 vhffs-panel/cvs/prefs.pl:101
+#: vhffs-panel/git/prefs.pl:100 vhffs-panel/acl/view.pl:105
+#: vhffs-panel/web/prefs.pl:98
 msgid "Modify"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:260
-msgid "Must we redirect the DNS on our servers ?"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Main.pm:436 vhffs-panel/group/index.pl:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:436
+#: vhffs-panel/group/index.pl:54 vhffs-api/src/Vhffs/Panel/Main.pm:426
 msgid "My Projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:65 vhffs-api/src/Vhffs/Panel/Menu.pm:114
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:114
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:118
 msgid "MySQL"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:223
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:243
 msgid "MySQL Admin"
 msgstr ""
 
-#: vhffs-panel/mysql/prefs.pl:93
+#: vhffs-panel/mysql/prefs.pl:94
 msgid "MySQL Administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:39
-msgid "MySQL DB"
-msgstr ""
-
-#: vhffs-panel/mysql/index.pl:60
+#: vhffs-panel/mysql/index.pl:61
 #, perl-format
 msgid "MySQL DBs for %s"
 msgstr ""
@@ -2440,7 +2350,7 @@
 msgid "MySQL password for this database "
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:151
+#: vhffs-panel/admin/stats.pl:150
 msgid "MySQL stats"
 msgstr ""
 
@@ -2456,77 +2366,82 @@
 msgid "NS TYPE"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/group/history.pl:79
+#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:80
 msgid "Name"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:264
+#: vhffs-panel/dns/prefs.pl:263
 msgid "Name for reccord"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:307
+#: vhffs-panel/dns/prefs.pl:309
 msgid "Name for record"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:84 vhffs-panel/mysql/prefs.pl:95
+#: vhffs-panel/mysql/prefs.pl:96 vhffs-panel/pgsql/prefs.pl:84
 msgid "Name of the database"
 msgstr ""
 
+#: vhffs-panel/dns/prefs.pl:270 vhffs-panel/dns/prefs.pl:287
+#: vhffs-panel/dns/prefs.pl:294
+msgid "Name of the record"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:271
 msgid "Name of your MX"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:812
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:812
-msgid "New"
+#: vhffs-panel/cron/prefs.pl:112 vhffs-panel/cron/prefs.pl:118
+msgid "Never"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:52 vhffs-intl/template_strings.pl:68
-msgid "New Quota"
+#: vhffs-api/src/Vhffs/Panel/Main.pm:811
+msgid "New"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:271
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:271
 #, perl-format
 msgid "New language is: %s\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:60 vhffs-intl/template_strings.pl:63
-#: vhffs-panel/git/prefs.pl:102 vhffs-panel/dns/prefs.pl:262
-#: vhffs-panel/cvs/prefs.pl:113 vhffs-panel/svn/prefs.pl:94
+#: vhffs-panel/cron/prefs.pl:128
+msgid "Next run is scheduled at"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:95 vhffs-panel/dns/prefs.pl:261
+#: vhffs-panel/cvs/prefs.pl:100 vhffs-panel/git/prefs.pl:99
 msgid "No"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:319
+#: vhffs-panel/dns/prefs.pl:321
 msgid "No A type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:331
+#: vhffs-panel/dns/prefs.pl:333
 msgid "No AAAA type found"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:358
+#: vhffs-panel/dns/prefs.pl:360
 msgid "No CNAME available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:345
+#: vhffs-panel/dns/prefs.pl:347
 msgid "No MX reccord for this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:371
+#: vhffs-panel/dns/prefs.pl:373
 msgid "No NS available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:387
+#: vhffs-panel/dns/prefs.pl:389
 msgid "No SRV available on this domain"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:400
+#: vhffs-panel/dns/prefs.pl:402
 msgid "No TXT available on this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:345
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:345
+#: vhffs-api/src/Vhffs/Panel/Main.pm:350
 msgid "No cookie found, please accept the cookie and then please login again !"
 msgstr ""
 
@@ -2534,79 +2449,53 @@
 msgid "No enough rights"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:83
+#: vhffs-panel/group/history.pl:84
 msgid "No event about this group"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:208
-#: vhffs-panel/admin/object/edit.pl:204 vhffs-panel/history.pl:106
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:208
+#: vhffs-panel/admin/object/edit.pl:202 vhffs-panel/history.pl:104
+#: vhffs-api/src/Vhffs/Panel/Object.pm:207
 msgid "No event about this object"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:49
-msgid "No group"
-msgstr ""
-
-#: vhffs-public/groupsearch.pl:74
+#: vhffs-public/groupsearch.pl:78
 msgid "No group found"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:770
+#: vhffs-listengine/src/listengine.pl:773
 msgid "No message to moderate"
 msgstr ""
 
-#: vhffs-public/group.pl:79
-msgid "No such group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:13
-msgid "No user"
-msgstr ""
-
-#: vhffs-panel/group/prefs.pl:255
+#: vhffs-panel/group/prefs.pl:268
 msgid "No user for this group"
 msgstr ""
 
-#: vhffs-public/usersearch.pl:75
+#: vhffs-public/usersearch.pl:61
 msgid "No user found"
 msgstr ""
 
-#: vhffs-public/websitesearch.pl:74
-msgid "No website found"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:47
-msgid "No websites"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:255 vhffs-panel/web/prefs.pl:112
-#: vhffs-panel/user/prefs.pl:329
+#: vhffs-panel/user/prefs.pl:346 vhffs-panel/dns/prefs.pl:254
+#: vhffs-panel/web/prefs.pl:109
 msgid "No, I'm not sure, I prefer to keep it."
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:92 vhffs-panel/mail/prefs.pl:139
-#: vhffs-panel/git/prefs.pl:108 vhffs-panel/pgsql/prefs.pl:102
-#: vhffs-panel/cvs/prefs.pl:119 vhffs-panel/group/prefs.pl:216
-#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/svn/prefs.pl:100
-#: vhffs-panel/mailinglist/prefs.pl:182
+#: vhffs-panel/mysql/prefs.pl:115 vhffs-panel/pgsql/prefs.pl:102
+#: vhffs-panel/mailinglist/prefs.pl:182 vhffs-panel/cron/prefs.pl:153
+#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/svn/prefs.pl:101
+#: vhffs-panel/group/prefs.pl:229 vhffs-panel/mail/prefs.pl:138
+#: vhffs-panel/cvs/prefs.pl:106 vhffs-panel/git/prefs.pl:105
 msgid "No, I'm not sure, I prefer to keep this project."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:813
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:813
+#: vhffs-api/src/Vhffs/Panel/Main.pm:812
 msgid "None"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:84
-msgid "Normal"
-msgstr ""
-
-#: vhffs-panel/git/prefs.pl:120 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/svn/prefs.pl:110 vhffs-panel/git/prefs.pl:114
 msgid "Notify changes on mailing-list :"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:88
+#: vhffs-panel/admin/object/list.pl:86
 msgid "Object ID"
 msgstr ""
 
@@ -2614,8 +2503,7 @@
 msgid "Object deletion"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:98 vhffs-panel/admin/object/edit.pl:94
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:98
+#: vhffs-panel/admin/object/edit.pl:92 vhffs-api/src/Vhffs/Panel/Object.pm:97
 msgid "Object id"
 msgstr ""
 
@@ -2623,7 +2511,7 @@
 msgid "Object name"
 msgstr ""
 
-#: vhffs-panel/admin/object/edit_submit.pl:95
+#: vhffs-panel/admin/object/edit_submit.pl:93
 msgid "Object successfully updated"
 msgstr ""
 
@@ -2635,59 +2523,59 @@
 msgid "Object-ID error"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:145 vhffs-panel/git/prefs.pl:114
-#: vhffs-panel/dns/prefs.pl:247 vhffs-panel/svn/prefs.pl:106
-#: vhffs-panel/web/prefs.pl:105
+#: vhffs-panel/mysql/prefs.pl:108 vhffs-panel/cron/prefs.pl:146
+#: vhffs-panel/svn/prefs.pl:107 vhffs-panel/dns/prefs.pl:246
+#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:111
+#: vhffs-panel/web/prefs.pl:102
 msgid "Ok, go to ACL admin"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:81
+#: vhffs-panel/admin/broadcast.pl:79
 msgid "Ok, send it !"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:114 vhffs-panel/group/prefs.pl:279
+#: vhffs-panel/repository/prefs.pl:113 vhffs-panel/group/prefs.pl:294
 msgid "Only administrators are allowed to do this"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:463
+#: vhffs-panel/user/prefs.pl:488
 msgid "Only administrators can do this"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:58
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:58
 msgid "Only this list administrators can use the following commands.\n"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:111
+#: vhffs-panel/mailinglist/prefs.pl:110
 msgid "Open for everyone"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:113
+#: vhffs-panel/mailinglist/prefs.pl:112
 msgid "Open for members, moderated for non-members"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:108
+#: vhffs-panel/mailinglist/prefs.pl:107
 msgid "Open, approval required"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:107
+#: vhffs-panel/mailinglist/prefs.pl:106
 msgid "Open, no approval required"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:71 vhffs-panel/git/prefs.pl:119
-#: vhffs-panel/svn/prefs.pl:108 vhffs-panel/mailinglist/prefs.pl:105
+#: vhffs-panel/mailinglist/prefs.pl:104 vhffs-panel/svn/prefs.pl:109
+#: vhffs-panel/git/prefs.pl:113
 msgid "Options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:6 vhffs-intl/template_strings.pl:11
-msgid "Owned by"
+#: vhffs-panel/subscribe.pl:260
+msgid "Or listen to the code"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:88
+#: vhffs-panel/group/create.pl:102
 msgid "Owner"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:90
+#: vhffs-panel/admin/object/list.pl:88
 msgid "Owner group"
 msgstr ""
 
@@ -2695,61 +2583,56 @@
 msgid "Owner name"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/object/list.pl:87
 msgid "Owner user"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:67 vhffs-panel/mail/prefs.pl:116
-#: vhffs-panel/user/prefs.pl:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:67
+#: vhffs-panel/user/prefs.pl:326 vhffs-panel/mail/prefs.pl:115
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:67
 msgid "Password"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:135 vhffs-panel/mysql/prefs.pl:146
+#: vhffs-panel/mysql/prefs.pl:147 vhffs-panel/pgsql/prefs.pl:135
 msgid "Password change request taken in account, please wait for processing"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:168
+#: vhffs-panel/user/prefs.pl:170
 msgid "Password changed"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:90 vhffs-panel/mysql/prefs.pl:101
+#: vhffs-panel/mysql/prefs.pl:102 vhffs-panel/pgsql/prefs.pl:90
 msgid "Password for this database"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:82
+#: vhffs-panel/lost_ack.pl:85
 msgid "Password recovery failed!"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:141
+#: vhffs-panel/user/prefs.pl:143
 msgid "Passwords don't match"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:66 vhffs-api/src/Vhffs/Panel/Menu.pm:115
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:115
-msgid "PgSQL"
+#: vhffs-panel/cron/prefs.pl:92 vhffs-panel/cron/create.pl:107
+msgid "Path"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:40
-msgid "PgSQL DB"
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:69 vhffs-api/src/Vhffs/Panel/Menu.pm:119
+msgid "PgSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:158
+#: vhffs-panel/admin/stats.pl:157
 msgid "PgSQL stats"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:324
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:324
+#: vhffs-api/src/Vhffs/Panel/Main.pm:326
 msgid "Platform temporary closed."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:313
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:313
+#: vhffs-api/src/Vhffs/Panel/Main.pm:315
 msgid "Platform temporary closed<br/>database error"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:92 vhffs-panel/object/resubmit.pl:131
+#: vhffs-panel/object/resubmit.pl:131 vhffs-panel/group/create.pl:106
 #: vhffs-panel/web/create.pl:104
 msgid ""
 "Please consider that this description is going to be displayed in the public "
@@ -2758,64 +2641,63 @@
 "it with the best content you are able to do."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:159
+#: vhffs-panel/subscribe.pl:161
 msgid "Please enter a correct city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:163
+#: vhffs-panel/subscribe.pl:165
 msgid "Please enter a correct country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:151
+#: vhffs-panel/subscribe.pl:153
 msgid "Please enter a correct firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:155
+#: vhffs-panel/subscribe.pl:157
 msgid "Please enter a correct lastname"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:64
 msgid "Please enter your username and password"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:222
+#: vhffs-panel/subscribe.pl:237
 msgid ""
 "Please fill in all fields, a mail containing your password will be sent to "
 "you"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:299
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:299
 msgid "Please read help of listengine\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:196
 msgid "Please try again !\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:242
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:242
 msgid "Please try again.\n"
 msgstr ""
 
-#: vhffs-panel/lost_ack.pl:74
+#: vhffs-panel/lost_ack.pl:77
 #, perl-format
 msgid "Please wait %s, a new password will be sent to you in a few minutes..."
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:189
+#: vhffs-panel/subscribe.pl:191
 msgid ""
 "Please wait while we are creating the account, it will take some minutes"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:296 vhffs-panel/dns/prefs.pl:381
+#: vhffs-panel/admin/stats.pl:185
+msgid "Popular tags"
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
 msgid "Port"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:240
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:260
 msgid "PostgreSQL Admin"
 msgstr ""
 
@@ -2823,7 +2705,7 @@
 msgid "PostgreSQL Administration"
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:60
+#: vhffs-panel/pgsql/index.pl:61
 #, perl-format
 msgid "PostgreSQL DBs for %s"
 msgstr ""
@@ -2840,26 +2722,23 @@
 msgid "PostgreSQL password for this database "
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:110
+#: vhffs-panel/mailinglist/prefs.pl:109
 msgid "Posting control:"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:558
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:558
+#: vhffs-api/src/Vhffs/Panel/Main.pm:545
 msgid "Preferences"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:195 vhffs-api/src/Vhffs/Panel/DNS.pm:225
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:225
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
 msgid "Prefix already exists"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:138
+#: vhffs-panel/mailinglist/prefs.pl:137
 msgid "Prefix on subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:297 vhffs-panel/dns/prefs.pl:382
+#: vhffs-panel/dns/prefs.pl:299 vhffs-panel/dns/prefs.pl:384
 msgid "Priority"
 msgstr ""
 
@@ -2867,87 +2746,85 @@
 msgid "Priority of your MX"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:341
+#: vhffs-panel/dns/prefs.pl:343
 msgid "Priority: "
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:207
+#: vhffs-panel/group/prefs.pl:220
 msgid "Project Description"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:75
+#: vhffs-panel/group/history.pl:76
 msgid "Project History"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:85
+#: vhffs-panel/group/create.pl:99
 msgid "Project Name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:205
+#: vhffs-panel/group/prefs.pl:218
 msgid "Project Owner"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:201
+#: vhffs-panel/group/prefs.pl:214
 msgid "Project Preferences"
 msgstr ""
 
-#: vhffs-panel/group/create.pl:76
+#: vhffs-panel/group/create.pl:89
 msgid "Project Successfully created !"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:226
+#: vhffs-panel/group/prefs.pl:239
 msgid "Project contact"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:209 vhffs-panel/group/create.pl:87
+#: vhffs-panel/group/prefs.pl:222 vhffs-panel/group/create.pl:101
 msgid "Project full name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:451
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:451
-msgid "Project home"
-msgstr ""
-
 #: vhffs-panel/group/index.pl:62
 msgid "Projects you contribute to"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:809 vhffs-panel/group/index.pl:64
-#: vhffs-panel/object/resubmit.pl:108
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:809
+#: vhffs-panel/object/resubmit.pl:108 vhffs-panel/group/index.pl:64
+#: vhffs-api/src/Vhffs/Panel/Main.pm:808
 msgid "Propose a new description"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:293
+#: vhffs-panel/dns/prefs.pl:295
 msgid "Protocol"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:99 vhffs-panel/svn/prefs.pl:91
+#: vhffs-panel/admin/tag/category/create.pl:73
+#: vhffs-panel/admin/tag/category/edit.pl:84 vhffs-panel/svn/prefs.pl:92
+#: vhffs-panel/git/prefs.pl:96
 msgid "Public"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:136
+#: vhffs-panel/admin/tag/category/create.pl:72
+#: vhffs-panel/admin/tag/category/edit.pl:83
+msgid "Public (available on group creation)"
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:135
 msgid "Public archives"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:70
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:70
+#: vhffs-api/src/Vhffs/Panel/Main.pm:71
 msgid "Public area is not available on this platform."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:69
+#: vhffs-api/src/Vhffs/Panel/Main.pm:70
 msgid "Public area not available"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:550 vhffs-panel/repository/prefs.pl:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:550
+#: vhffs-panel/repository/prefs.pl:84 vhffs-api/src/Vhffs/Panel/Main.pm:537
 #, perl-format
 msgid "Quota (used/total) : %s/%s"
 msgstr ""
 
-#: vhffs-public/extern/newgroupsrss.pl:103
 #: vhffs-public/extern/newusersrss.pl:102
+#: vhffs-public/extern/newgroupsrss.pl:103
 msgid "RSS infos are not published"
 msgstr ""
 
@@ -2959,60 +2836,64 @@
 msgid "Reason of refusal"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:239
+#: vhffs-panel/user/prefs.pl:467
+msgid "Receive mails from the newsletter"
+msgstr ""
+
+#: vhffs-panel/subscribe.pl:258
 msgid "Recopy the code"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:161 vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:238 vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:285 vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:353
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:161
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:208
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:262
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:285
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:326
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:353
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:162 vhffs-api/src/Vhffs/Panel/DNS.pm:209
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:239 vhffs-api/src/Vhffs/Panel/DNS.pm:264
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:289 vhffs-api/src/Vhffs/Panel/DNS.pm:331
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:358
 msgid "Record does not exists"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:160
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:160
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:161
 msgid "Record type doesn't exists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:90 vhffs-panel/admin/moderation.pl:117
+#: vhffs-panel/admin/moderation.pl:89 vhffs-panel/admin/moderation.pl:116
 msgid "Refuse"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:254
+#: vhffs-panel/group/prefs.pl:267
 msgid "Remove"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:137
+#: vhffs-panel/mailinglist/prefs.pl:136
 msgid "Reply to: on list"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:92 vhffs-panel/git/create.pl:96
-#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/cvs/create.pl:102
-#: vhffs-panel/svn/create.pl:96
+#: vhffs-panel/admin/repository/list.pl:75 vhffs-panel/repository/create.pl:92
+#: vhffs-panel/svn/create.pl:96 vhffs-panel/cvs/create.pl:102
+#: vhffs-panel/git/create.pl:96
 msgid "Repository Name"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:50
-msgid "Repository Quota"
+#: vhffs-panel/repository/prefs.pl:128
+msgid "Repository updated, please wait while quota is updated on filesystem"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:133
-msgid "Repository updated, please wait while quota is updated on filesystem"
+#: vhffs-panel/group/prefs.pl:444
+msgid "Request canceled"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:433
+msgid "Request not found"
+msgstr ""
+
 #: vhffs-panel/mailinglist/prefs.pl:263
 #, perl-format
 msgid "Rights for subscriber %s updated"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:137
+msgid "Running"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:198
 msgid "SRV Record added"
 msgstr ""
@@ -3025,26 +2906,19 @@
 msgid "SRV Record updated"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:290
+#: vhffs-panel/dns/prefs.pl:291
 msgid "SRV TYPE"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:68 vhffs-api/src/Vhffs/Panel/Menu.pm:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:68
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:117
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:71 vhffs-api/src/Vhffs/Panel/Menu.pm:121
 msgid "SVN"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:170
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:170
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:190
 msgid "SVN Admin"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:42
-msgid "SVN Repository"
-msgstr ""
-
-#: vhffs-panel/svn/index.pl:60
+#: vhffs-panel/svn/index.pl:61
 #, perl-format
 msgid "SVN repositories for %s"
 msgstr ""
@@ -3057,117 +2931,91 @@
 msgid "SVN root"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:127
+#: vhffs-panel/admin/stats.pl:126
 msgid "SVN stats"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:141
+#: vhffs-panel/mailinglist/prefs.pl:140
 msgid "Save options"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:25 vhffs-intl/template_strings.pl:32
-#: vhffs-intl/template_strings.pl:38
-msgid "Search"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:29
-msgid "Search a group"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:35
-msgid "Search a website"
-msgstr ""
-
-#: vhffs-panel/admin/object/search.pl:77
+#: vhffs-panel/admin/object/search.pl:75
 msgid "Search an object (give object_id)"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:21
-msgid "Search an user"
-msgstr ""
-
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:186 vhffs-panel/admin/cvs/search.pl:78
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:186
+#: vhffs-panel/admin/cvs/search.pl:76 vhffs-api/src/Vhffs/Panel/Admin.pm:206
 msgid "Search for a CVS repository"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:78
+#: vhffs-panel/admin/repository/search.pl:76
 msgid "Search for a Download repository"
 msgstr ""
 
-#: vhffs-panel/admin/git/search.pl:80
+#: vhffs-panel/admin/git/search.pl:78
 msgid "Search for a GIT repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:204
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:204
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:224
 msgid "Search for a Git repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:221
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:221
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:241
 msgid "Search for a MySQL database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:238
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:238
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:258
 msgid "Search for a Pg database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:168 vhffs-panel/admin/svn/search.pl:80
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:168
+#: vhffs-panel/admin/svn/search.pl:78 vhffs-api/src/Vhffs/Panel/Admin.pm:188
 msgid "Search for a SVN repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/search.pl:79 vhffs-panel/admin/mysql/search.pl:79
+#: vhffs-panel/admin/cron/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:346
+msgid "Search for a cron job"
+msgstr ""
+
+#: vhffs-panel/admin/mysql/search.pl:77 vhffs-panel/admin/pgsql/search.pl:77
 msgid "Search for a database"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:291 vhffs-panel/admin/dns/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:291
+#: vhffs-panel/admin/dns/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:311
 msgid "Search for a domain name"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:309
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:309
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:329
 msgid "Search for a download repository"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:133 vhffs-panel/admin/group/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:133
+#: vhffs-panel/admin/group/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:133
 msgid "Search for a group"
 msgstr ""
 
-#: vhffs-panel/admin/mailinglist/search.pl:78
+#: vhffs-panel/admin/mailinglist/search.pl:76
 msgid "Search for a list"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:255 vhffs-panel/admin/mail/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:255
+#: vhffs-panel/admin/mail/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:275
 msgid "Search for a mail domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:273
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:273
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:293
 msgid "Search for a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/web/search.pl:79
+#: vhffs-panel/admin/web/search.pl:77
 msgid "Search for a web area"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:151
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:151
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:171
 msgid "Search for a webarea"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:97
 msgid "Search for an object"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:116 vhffs-panel/admin/user/search.pl:79
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:116
+#: vhffs-panel/admin/user/search.pl:77 vhffs-api/src/Vhffs/Panel/Admin.pm:116
 msgid "Search for an user"
 msgstr ""
 
@@ -3175,12 +3023,12 @@
 msgid "Search result"
 msgstr ""
 
-#: vhffs-panel/admin/object/list.pl:81
+#: vhffs-panel/admin/object/list.pl:79
 msgid "Search result "
 msgstr ""
 
-#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/mailinglist/list.pl:72
-#: vhffs-panel/admin/web/list.pl:63 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mailinglist/list.pl:72 vhffs-panel/admin/user/list.pl:63
+#: vhffs-panel/admin/mail/list.pl:68 vhffs-panel/admin/web/list.pl:63
 msgid "Search result for"
 msgstr ""
 
@@ -3188,6 +3036,10 @@
 msgid "Search result for CVS repository"
 msgstr ""
 
+#: vhffs-panel/admin/cron/list.pl:75
+msgid "Search result for Cron jobs"
+msgstr ""
+
 #: vhffs-panel/admin/repository/list.pl:68
 msgid "Search result for Download repository"
 msgstr ""
@@ -3196,7 +3048,7 @@
 msgid "Search result for Subversion repository"
 msgstr ""
 
-#: vhffs-panel/admin/pgsql/list.pl:69 vhffs-panel/admin/mysql/list.pl:75
+#: vhffs-panel/admin/mysql/list.pl:75 vhffs-panel/admin/pgsql/list.pl:69
 msgid "Search result for database"
 msgstr ""
 
@@ -3208,32 +3060,36 @@
 msgid "Search result for git repository"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:189
-msgid "Selected mailbox doesn't exist for this mail domain"
+#: vhffs-public/groupsearch.pl:87
+msgid "Search results"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:103 vhffs-panel/repository/create.pl:97
-#: vhffs-panel/mail/create.pl:96 vhffs-panel/git/create.pl:102
-#: vhffs-panel/dns/create.pl:78 vhffs-panel/pgsql/create.pl:109
-#: vhffs-panel/admin/object/edit.pl:99 vhffs-panel/admin/broadcast_view.pl:101
-#: vhffs-panel/admin/broadcast_list.pl:100 vhffs-panel/cvs/create.pl:107
-#: vhffs-panel/group/create.pl:90 vhffs-panel/mysql/create.pl:109
-#: vhffs-panel/svn/create.pl:101 vhffs-panel/mailinglist/create.pl:112
-#: vhffs-panel/web/create.pl:102 vhffs-panel/alert.pl:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:103
+#: vhffs-panel/mail/prefs.pl:188
+msgid ""
+"Selected mailbox doesn't exist for this mail domain or is not yet active."
+msgstr ""
+
+#: vhffs-panel/mysql/create.pl:109 vhffs-panel/pgsql/create.pl:110
+#: vhffs-panel/admin/broadcast_list.pl:98
+#: vhffs-panel/admin/broadcast_view.pl:99 vhffs-panel/admin/object/edit.pl:97
+#: vhffs-panel/mailinglist/create.pl:112 vhffs-panel/cron/create.pl:117
+#: vhffs-panel/repository/create.pl:97 vhffs-panel/svn/create.pl:101
+#: vhffs-panel/alert.pl:60 vhffs-panel/dns/create.pl:79
+#: vhffs-panel/group/create.pl:104 vhffs-panel/mail/create.pl:97
+#: vhffs-panel/cvs/create.pl:107 vhffs-panel/git/create.pl:102
+#: vhffs-panel/web/create.pl:102 vhffs-api/src/Vhffs/Panel/Object.pm:102
 msgid "Send"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast.pl:77
+#: vhffs-panel/admin/broadcast.pl:75
 msgid "Send an email to all hosted people"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:300
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:300
 msgid "Send an email with the subject \"help\" to the following address: \n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:336 vhffs-panel/user/prefs.pl:338
+#: vhffs-panel/user/prefs.pl:353 vhffs-panel/user/prefs.pl:355
 msgid "Send my avatar"
 msgstr ""
 
@@ -3241,52 +3097,53 @@
 msgid "Servername"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:294
+#: vhffs-panel/dns/prefs.pl:296
 msgid "Service"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:313
+#: vhffs-panel/user/prefs.pl:330
 msgid "Shell"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/mail/list.pl:86
-#: vhffs-panel/admin/git/list.pl:83 vhffs-panel/admin/dns/list.pl:86
-#: vhffs-panel/admin/pgsql/list.pl:87 vhffs-panel/admin/cvs/list.pl:86
-#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mysql/list.pl:94
-#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/mailinglist/list.pl:90
-#: vhffs-panel/admin/web/list.pl:82 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/mysql/list.pl:94 vhffs-panel/admin/pgsql/list.pl:87
+#: vhffs-panel/admin/mailinglist/list.pl:90 vhffs-panel/admin/cron/list.pl:94
+#: vhffs-panel/admin/repository/list.pl:86 vhffs-panel/admin/user/list.pl:81
+#: vhffs-panel/admin/svn/list.pl:81 vhffs-panel/admin/dns/list.pl:86
+#: vhffs-panel/admin/group/list.pl:91 vhffs-panel/admin/mail/list.pl:86
+#: vhffs-panel/admin/cvs/list.pl:86 vhffs-panel/admin/git/list.pl:83
+#: vhffs-panel/admin/web/list.pl:82
 msgid "Show"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:73
-msgid "Signature"
+#: vhffs-panel/cron/prefs.pl:135
+msgid "Sleeping"
 msgstr ""
 
 #: vhffs-panel/acl/view.pl:92
 msgid "Sorry, can't add or update ACL"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:247
+#: vhffs-panel/mail/prefs.pl:246
 msgid "Spam status updated"
 msgstr ""
 
-#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/mail/list.pl:77
-#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/dns/list.pl:77
-#: vhffs-panel/admin/pgsql/list.pl:78 vhffs-panel/admin/cvs/list.pl:78
-#: vhffs-panel/admin/group/list.pl:82 vhffs-panel/admin/mysql/list.pl:84
-#: vhffs-panel/admin/object/list.pl:91 vhffs-panel/admin/svn/list.pl:72
-#: vhffs-panel/admin/mailinglist/list.pl:81 vhffs-panel/admin/web/list.pl:72
-#: vhffs-panel/admin/user/list.pl:72 vhffs-panel/admin/broadcast_view.pl:88
+#: vhffs-panel/admin/mysql/list.pl:84 vhffs-panel/admin/pgsql/list.pl:78
+#: vhffs-panel/admin/mailinglist/list.pl:81
+#: vhffs-panel/admin/broadcast_view.pl:86 vhffs-panel/admin/cron/list.pl:84
+#: vhffs-panel/admin/repository/list.pl:77 vhffs-panel/admin/user/list.pl:72
+#: vhffs-panel/admin/svn/list.pl:72 vhffs-panel/admin/object/list.pl:89
+#: vhffs-panel/admin/dns/list.pl:77 vhffs-panel/admin/group/list.pl:82
+#: vhffs-panel/admin/mail/list.pl:77 vhffs-panel/admin/cvs/list.pl:78
+#: vhffs-panel/admin/git/list.pl:74 vhffs-panel/admin/web/list.pl:72
+#: vhffs-panel/cron/prefs.pl:131
 msgid "State"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:101 vhffs-panel/admin/object/edit.pl:97
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:101
+#: vhffs-panel/admin/object/edit.pl:95 vhffs-api/src/Vhffs/Panel/Object.pm:100
 msgid "Status"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:664
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:664
+#: vhffs-api/src/Vhffs/Panel/Main.pm:660
 msgid "Stay over an icon to see its description."
 msgstr ""
 
@@ -3298,32 +3155,30 @@
 msgid "Subdomain name"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:87 vhffs-panel/admin/broadcast.pl:79
+#: vhffs-panel/admin/broadcast_view.pl:85 vhffs-panel/admin/broadcast.pl:77
 #: vhffs-panel/alert.pl:58
 msgid "Subject"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:273 vhffs-panel/dns/prefs.pl:279
-#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/object/resubmit.pl:134
+#: vhffs-panel/object/resubmit.pl:134 vhffs-panel/dns/prefs.pl:273
+#: vhffs-panel/dns/prefs.pl:279 vhffs-panel/dns/prefs.pl:302
 msgid "Submit"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:438
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:438
+#: vhffs-api/src/Vhffs/Panel/Main.pm:428
 msgid "Submit a bug"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:70 vhffs-panel/subscribe.pl:231
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:70
+#: vhffs-panel/subscribe.pl:246 vhffs-api/src/Vhffs/Panel/Commons.pm:72
 msgid "Subscribe"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:106
+#: vhffs-panel/mailinglist/prefs.pl:105
 msgid "Subscribe control:"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:77
-msgid "Subscribed"
+#: vhffs-panel/subscribe.pl:266 vhffs-panel/subscribe.pl:268
+msgid "Subscribe to the newsletter"
 msgstr ""
 
 #: vhffs-panel/mailinglist/prefs.pl:242
@@ -3331,12 +3186,11 @@
 msgid "Subscriber %s deleted"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:221
+#: vhffs-panel/subscribe.pl:236
 msgid "Subscription"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:135
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:135
 #, perl-format
 msgid ""
 "Subscription to the following list is forbidden:\n"
@@ -3345,39 +3199,105 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:43
-msgid "Subversion Repositories for this group"
-msgstr ""
-
 #: vhffs-panel/object/upavatar.pl:126
 msgid "Successfully created or updated avatar"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:26 vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-api/src/Vhffs/Panel/Object.pm:128
-#: vhffs-panel/admin/object/edit.pl:122 vhffs-panel/admin/object/edit.pl:123
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:128
+#: vhffs-panel/admin/object/edit.pl:121
+#: vhffs-api/src/Vhffs/Panel/Object.pm:127
 msgid "Suspended"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:27
-msgid "Suspended before deletion"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:203
+#: vhffs-panel/dns/prefs.pl:202
 msgid "TXT Record added"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:214
+#: vhffs-panel/dns/prefs.pl:213
 msgid "TXT Record deleted"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:209
+#: vhffs-panel/dns/prefs.pl:208
 msgid "TXT Record updated"
 msgstr ""
 
-#: vhffs-panel/mail/create.pl:97
+#: vhffs-panel/group/prefs.pl:350
+msgid "Tag added"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/list.pl:69
+msgid "Tag categories"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/create.pl:57
+msgid "Tag category successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/category/edit.pl:69
+msgid "Tag category successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:59 vhffs-panel/group/prefs.pl:383
+msgid "Tag deleted"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:409
+msgid "Tag name can't be empty"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:180 vhffs-panel/group/prefs.pl:339
+#: vhffs-panel/group/prefs.pl:372
+msgid "Tag not found"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:66
+msgid "Tag not found!"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:83
+msgid "Tag request accepted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:93
+msgid "Tag request deleted"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:101
+msgid "Tag request details"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:75
+msgid "Tag request not found"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:418
+msgid "Tag request saved, please wait while a moderator approve it"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:57
+msgid "Tag successfully created"
+msgstr ""
+
+#: vhffs-panel/admin/tag/edit.pl:70
+msgid "Tag successfully updated"
+msgstr ""
+
+#: vhffs-panel/admin/tag/list.pl:69
+msgid "Tags"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:156
+msgid "Tags Admin"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:174
+msgid "Tags stats"
+msgstr ""
+
+#: vhffs-panel/admin/tag/index.pl:56
+msgid "Tags' administration"
+msgstr ""
+
+#: vhffs-panel/mail/create.pl:98
 msgid "Tell us for what purpose you want to create this mail domain"
 msgstr ""
 
@@ -3389,13 +3309,11 @@
 msgid "Tell us what the use of this web space will be"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:306
+#: vhffs-panel/dns/prefs.pl:308
 msgid "Text"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:342 vhffs-api/src/Vhffs/Panel/DNS.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:342
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:354
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:346 vhffs-api/src/Vhffs/Panel/DNS.pm:359
 msgid "Text can't be empty"
 msgstr ""
 
@@ -3403,7 +3321,11 @@
 msgid "The CVS object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/dns/create.pl:57
+#: vhffs-panel/cron/create.pl:94
+msgid "The Cron job was successfully created !"
+msgstr ""
+
+#: vhffs-panel/dns/create.pl:58
 msgid "The DNS object was successfully created !"
 msgstr ""
 
@@ -3423,60 +3345,56 @@
 msgid "The SVN object was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:339
+#: vhffs-panel/user/prefs.pl:356
 msgid ""
 "The avatar is a pictures that describes you. You can upload an PNG image and "
 "use it as avatar. This image will then appear in the public section."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:246
+#: vhffs-panel/group/prefs.pl:259
 msgid "The avatar is an image to describe the group"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:195
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:195
 msgid "The confirmation code was wrong\n"
 msgstr ""
 
-#: vhffs-panel/pgsql/create.pl:102 vhffs-panel/mysql/create.pl:102
+#: vhffs-panel/mysql/create.pl:102 vhffs-panel/pgsql/create.pl:102
 #, perl-format
 msgid ""
 "The database name is prefixed by your groupname followed by an underscore (%"
 "s_dbname). The database user is the database full name (%s_dbname)."
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:181
+#: vhffs-panel/cron/prefs.pl:180 vhffs-panel/cron/create.pl:92
+#: vhffs-panel/group/prefs.pl:186
 msgid "The email you entered fails syntax check"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:90 vhffs-panel/group/create.pl:72
+#: vhffs-panel/group/prefs.pl:95 vhffs-panel/group/create.pl:74
 msgid "The first letter of groupname and full name must be the same"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:389
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:389
 #, perl-format
 msgid ""
 "The following address %s is not allowed to execute commands on the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:210
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:210
 #, perl-format
 msgid ""
 "The following address %s is not on the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:518
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:518
+#: vhffs-api/src/Vhffs/Panel/Main.pm:506
 msgid ""
 "The following projects have reached or are going to reach the disk quota "
 "limit, please take a look !"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:270
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:270
 #, perl-format
 msgid ""
 "The listengine language preference was changed for the following address %"
@@ -3488,17 +3406,15 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:320
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:320
 msgid "The message does not exists or was moderated before you.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:317
 #, perl-format
 msgid "The message with the following id %s"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:95 vhffs-panel/object/resubmit.pl:98
+#: vhffs-panel/object/resubmit.pl:94 vhffs-panel/object/resubmit.pl:98
 msgid "The new description has been submitted"
 msgstr ""
 
@@ -3507,7 +3423,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:122
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:122
 msgid ""
 "The state of you subscription was not changed, you are still subscribed\n"
 msgstr ""
@@ -3516,11 +3431,11 @@
 msgid "The webarea was successfully created !"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:312
+#: vhffs-panel/user/prefs.pl:329
 msgid "Theme"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:261
+#: vhffs-panel/user/prefs.pl:267
 msgid ""
 "There is a problem with the address you filled in your profile, unable to "
 "add forwarding"
@@ -3532,105 +3447,156 @@
 "domain before creating a mailing list"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:79
+#: vhffs-panel/admin/moderation.pl:78
 msgid "There is nothing to moderate"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:412
+#: vhffs-panel/user/prefs.pl:429
 msgid "There is two possible usages :"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:86
+#: vhffs-panel/cvs/delete.pl:85
 msgid "This CVS repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/cvs/delete.pl:97
+#: vhffs-panel/cvs/delete.pl:96
 msgid "This CVS will be deleted"
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:73
+#: vhffs-panel/pgsql/delete.pl:72
 msgid "This DB doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:86
+#: vhffs-panel/repository/delete.pl:85
 msgid "This Download repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/delete.pl:99
+#: vhffs-panel/repository/delete.pl:98
 msgid "This Download repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:89 vhffs-panel/mail/prefs.pl:136
-#: vhffs-panel/git/prefs.pl:105 vhffs-panel/dns/prefs.pl:252
-#: vhffs-panel/pgsql/prefs.pl:99 vhffs-panel/cvs/prefs.pl:116
-#: vhffs-panel/group/prefs.pl:213 vhffs-panel/mysql/prefs.pl:111
-#: vhffs-panel/svn/prefs.pl:97 vhffs-panel/mailinglist/prefs.pl:179
-#: vhffs-panel/web/prefs.pl:109
+#: vhffs-panel/group/prefs.pl:226
 msgid ""
 "This action is non-reversible. All services associated to this project will "
 "be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:326
-msgid "This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL."
+#: vhffs-panel/cron/prefs.pl:150
+msgid "This action is non-reversible. This Cron job will be DESTROYED."
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:214
+#: vhffs-panel/mysql/prefs.pl:112
+msgid "This action is non-reversible. This MySQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/pgsql/prefs.pl:99
 msgid ""
+"This action is non-reversible. This PostgreSQL database will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/cvs/prefs.pl:103
+msgid "This action is non-reversible. This cvs repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/dns/prefs.pl:251
+msgid "This action is non-reversible. This domain name will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/repository/prefs.pl:88
+msgid ""
+"This action is non-reversible. This download repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/git/prefs.pl:102
+msgid "This action is non-reversible. This git repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:135
+msgid "This action is non-reversible. This mail area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mailinglist/prefs.pl:179
+msgid "This action is non-reversible. This mailing list will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:98
+msgid ""
+"This action is non-reversible. This subversion repository will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/web/prefs.pl:106
+msgid "This action is non-reversible. This web area will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:343
+msgid "This action is non-reversible. Your user will be DESTROYED."
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:213
+msgid ""
 "This box already exists for this domain or parameters are not valid. Check "
 "your domain."
 msgstr ""
 
-#: vhffs-panel/pgsql/delete.pl:93
+#: vhffs-panel/cron/delete.pl:70
+msgid "This cron job doesn't exist in VHFFS database"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:82
+msgid "This cron job will NOT be deleted"
+msgstr ""
+
+#: vhffs-panel/cron/delete.pl:93
+msgid "This cron job will be deleted"
+msgstr ""
+
+#: vhffs-panel/pgsql/delete.pl:92
 msgid "This database cannot be deleted"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:71
+#: vhffs-panel/mysql/delete.pl:70
 msgid "This database doesn't exist in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/mysql/delete.pl:83
+#: vhffs-panel/mysql/delete.pl:82
 msgid "This database will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:105
+#: vhffs-panel/dns/delete.pl:97
 msgid "This domain will NOT be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/dns/delete.pl:100
+#: vhffs-panel/dns/delete.pl:92
 msgid "This domain will be DELETED from Vhffs platform"
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:90
+#: vhffs-panel/git/delete.pl:89
 msgid "This git repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:85
+#: vhffs-panel/group/delete.pl:84
 msgid "This group will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:315
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:315
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:320
 msgid "This host is already registered for this service"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:103
+#: vhffs-panel/mail/delete.pl:101
 msgid "This mail domain WILL BE DELETED"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:91
+#: vhffs-panel/mail/delete.pl:89
 msgid "This mail domain will NOT be DELETED"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:104
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:104
 #, perl-format
 msgid ""
 "This mail must contains the following subject : \"confirm unsubscribe %s\"\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:86
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:86
 #, perl-format
 msgid ""
 "This mail must have the following subject : \"confirm subscribe %s\"\n"
@@ -3638,7 +3604,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:405
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:405
 #, perl-format
 msgid ""
 "This mail was sent by %s with the following subject:\n"
@@ -3646,37 +3611,37 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:68 vhffs-panel/object/quickdelete.pl:68
+#: vhffs-panel/object/quickdelete.pl:67 vhffs-panel/object/resubmit.pl:67
 msgid "This object does not exist"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:105
+#: vhffs-panel/admin/object/delete_avatar.pl:103
 msgid "This object does not have an avatar"
 msgstr ""
 
-#: vhffs-panel/object/quickdelete.pl:86 vhffs-panel/object/quickdelete.pl:89
+#: vhffs-panel/object/quickdelete.pl:85 vhffs-panel/object/quickdelete.pl:89
 msgid "This object has been deleted"
 msgstr ""
 
-#: vhffs-panel/group/history.pl:68
+#: vhffs-panel/group/history.pl:69
 msgid "This object is not functional yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:83 vhffs-panel/git/delete.pl:86
-#: vhffs-panel/group/delete.pl:72 vhffs-panel/mailinglist/delete.pl:87
-#: vhffs-panel/web/prefs.pl:80
+#: vhffs-panel/mailinglist/delete.pl:85 vhffs-panel/group/delete.pl:71
+#: vhffs-panel/mail/delete.pl:81 vhffs-panel/git/delete.pl:85
+#: vhffs-panel/web/prefs.pl:77
 msgid "This object is not functionnal yet. Please wait creation or moderation."
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:72 vhffs-panel/object/quickdelete.pl:72
+#: vhffs-panel/object/quickdelete.pl:71 vhffs-panel/object/resubmit.pl:71
 msgid "This object is not in refused state"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:96
+#: vhffs-panel/web/delete.pl:94
 msgid "This object will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/group/delete.pl:76 vhffs-panel/web/delete.pl:101
+#: vhffs-panel/group/delete.pl:75 vhffs-panel/web/delete.pl:99
 msgid "This object will NOT be DELETED"
 msgstr ""
 
@@ -3684,60 +3649,56 @@
 msgid "This platform does not provide avatar support"
 msgstr ""
 
-#: vhffs-panel/admin/object/delete_avatar.pl:74
+#: vhffs-panel/admin/object/delete_avatar.pl:72
 msgid "This platform does not support avatar"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:314
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:314
+#: vhffs-api/src/Vhffs/Panel/Main.pm:316
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks or system has database errors. Please come back in a few "
 "minutes to log in."
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:325
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:325
+#: vhffs-api/src/Vhffs/Panel/Main.pm:327
 msgid ""
 "This platform is temporary closed. Administrators are performing some "
 "maintenances tasks. Please come back in a few minutes to log in."
 msgstr ""
 
-#: vhffs-panel/git/delete.pl:103 vhffs-panel/svn/delete.pl:98
+#: vhffs-panel/svn/delete.pl:97 vhffs-panel/git/delete.pl:102
 msgid "This repository will be deleted"
 msgstr ""
 
-#: vhffs-panel/svn/delete.pl:85
+#: vhffs-panel/svn/delete.pl:84
 msgid "This subversion repository will NOT be deleted"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:76
+#: vhffs-panel/user/delete.pl:74
 msgid "This user is always in a group"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:87
+#: vhffs-panel/user/delete.pl:85
 msgid "This user will BE DELETED"
 msgstr ""
 
-#: vhffs-panel/user/delete.pl:93
+#: vhffs-panel/user/delete.pl:91
 msgid "This user will NOT be DELETED"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:112
+#: vhffs-panel/group/prefs.pl:117
 msgid "This user will be removed from this group as soon as possible"
 msgstr ""
 
-#: vhffs-panel/web/delete.pl:79
+#: vhffs-panel/web/delete.pl:77
 msgid "This web area doesn't exist in VHFFS database"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:424
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:424
 msgid "To accept this subscriber, send a message to\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:406
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:406
 #, perl-format
 msgid ""
 "To put this post on the list, send a message to:\n"
@@ -3745,7 +3706,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:427
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:427
 msgid "To refuse this subscriber, send a message to\n"
 msgstr ""
 
@@ -3753,116 +3713,127 @@
 msgid "Topic not found"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:94
+#: vhffs-panel/admin/stats.pl:93
 msgid "Total Admin Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:121
+#: vhffs-panel/admin/stats.pl:120
 msgid "Total CVS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:113
+#: vhffs-panel/admin/stats.pl:112
 msgid "Total DNS in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:134
+#: vhffs-panel/admin/stats.pl:133
 msgid "Total GIT in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:140
+#: vhffs-panel/admin/stats.pl:139
 msgid "Total Mail domains in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:96
+#: vhffs-panel/admin/stats.pl:95
 msgid "Total Moderator Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:152
+#: vhffs-panel/admin/stats.pl:151
 msgid "Total MySQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:159
+#: vhffs-panel/admin/stats.pl:158
 msgid "Total PostgreSQL in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:128
+#: vhffs-panel/admin/stats.pl:127
 msgid "Total SVN in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:92
+#: vhffs-panel/admin/stats.pl:91
 msgid "Total Users in VHFFS database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:106
+#: vhffs-panel/admin/stats.pl:105
 msgid "Total Web Areas in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:123
+#: vhffs-panel/admin/stats.pl:122
 msgid "Total activated CVS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:115
+#: vhffs-panel/admin/stats.pl:114
 msgid "Total activated DNS"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:136
+#: vhffs-panel/admin/stats.pl:135
 msgid "Total activated GIT"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:142
+#: vhffs-panel/admin/stats.pl:141
 msgid "Total activated Mail domains"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:154
+#: vhffs-panel/admin/stats.pl:153
 msgid "Total activated MySQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:161
+#: vhffs-panel/admin/stats.pl:160
 msgid "Total activated PostgreSQL"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:130
+#: vhffs-panel/admin/stats.pl:129
 msgid "Total activated SVN"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:108
+#: vhffs-panel/admin/stats.pl:107
 msgid "Total activated Web Areas"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:102
+#: vhffs-panel/admin/stats.pl:101
 msgid "Total activated groups"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:169
+#: vhffs-panel/admin/stats.pl:168
 msgid "Total activated lists"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:100
+#: vhffs-panel/admin/stats.pl:175
+msgid "Total categories"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:99
 msgid "Total groups in database"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:146
+#: vhffs-panel/admin/stats.pl:145
 msgid "Total hosted boxes"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:144
+#: vhffs-panel/admin/stats.pl:143
 msgid "Total hosted forwards"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:167
+#: vhffs-panel/admin/stats.pl:166
 msgid "Total lists in moderation"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:171
+#: vhffs-panel/admin/stats.pl:170
 msgid "Total subscribtion for lists"
 msgstr ""
 
-#: vhffs-panel/admin/moderation.pl:84 vhffs-panel/group/history.pl:78
+#: vhffs-panel/admin/stats.pl:181
+msgid "Total tagged groups"
+msgstr ""
+
+#: vhffs-panel/admin/stats.pl:177
+msgid "Total tags used"
+msgstr ""
+
+#: vhffs-panel/admin/moderation.pl:83 vhffs-panel/group/history.pl:79
 msgid "Type"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:99 vhffs-panel/admin/object/edit.pl:95
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:99
+#: vhffs-panel/admin/object/edit.pl:93 vhffs-api/src/Vhffs/Panel/Object.pm:98
 msgid "UID of owner"
 msgstr ""
 
@@ -3896,32 +3867,36 @@
 msgid "Unable to add SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:202
+#: vhffs-panel/dns/prefs.pl:201
 #, perl-format
 msgid "Unable to add TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:286
+#: vhffs-panel/mail/prefs.pl:285
 #, perl-format
 msgid "Unable to add forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:137 vhffs-panel/group/prefs.pl:171
+#: vhffs-panel/group/prefs.pl:352
+msgid "Unable to add tag, check it was not already added to your project"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:142 vhffs-panel/group/prefs.pl:176
 msgid ""
 "Unable to add user, he might already be in the group (waiting for addition "
 "or deletion)"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:131 vhffs-panel/mysql/prefs.pl:142
+#: vhffs-panel/mysql/prefs.pl:143 vhffs-panel/pgsql/prefs.pl:131
+#: vhffs-panel/cron/prefs.pl:186
 msgid "Unable to apply changes"
 msgstr ""
 
-#: vhffs-panel/git/prefs.pl:149 vhffs-panel/git/prefs.pl:194
-#: vhffs-panel/web/prefs.pl:141
+#: vhffs-panel/git/prefs.pl:169 vhffs-panel/web/prefs.pl:138
 msgid "Unable to apply modifications"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:131 vhffs-panel/group/prefs.pl:291
+#: vhffs-panel/repository/prefs.pl:126 vhffs-panel/group/prefs.pl:301
 msgid "Unable to apply modifications, please try again later"
 msgstr ""
 
@@ -3930,6 +3905,17 @@
 msgid "Unable to change rights for subscriber %s"
 msgstr ""
 
+#: vhffs-panel/admin/tag/category/create.pl:100
+#: vhffs-panel/admin/tag/request/details.pl:161
+msgid "Unable to create category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/create.pl:112
+#: vhffs-panel/admin/tag/request/details.pl:166
+#: vhffs-panel/admin/tag/request/details.pl:192
+msgid "Unable to create tag"
+msgstr ""
+
 #: vhffs-panel/dns/prefs.pl:112
 #, perl-format
 msgid "Unable to delete A record: %s"
@@ -3960,74 +3946,84 @@
 msgid "Unable to delete SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:213
+#: vhffs-panel/dns/prefs.pl:212
 #, perl-format
 msgid "Unable to delete TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:270
+#: vhffs-panel/mail/prefs.pl:269
 #, perl-format
 msgid "Unable to delete box %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:317
+#: vhffs-panel/admin/tag/category/list.pl:61
+msgid "Unable to delete category"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:316
 #, perl-format
 msgid "Unable to delete forward %s"
 msgstr ""
 
-#: vhffs-panel/mail/delete.pl:99
+#: vhffs-panel/admin/tag/list.pl:61 vhffs-panel/group/prefs.pl:385
+msgid "Unable to delete tag"
+msgstr ""
+
+#: vhffs-panel/mail/delete.pl:97
 msgid "Unable to delete this domain"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:196 vhffs-api/src/Vhffs/Panel/DNS.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:196
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:226
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:197 vhffs-api/src/Vhffs/Panel/DNS.pm:227
 msgid ""
 "Unable to find default redirection address, please contact administrators"
 msgstr ""
 
-#: vhffs-panel/cvs/index.pl:63
+#: vhffs-panel/cvs/index.pl:64
 msgid "Unable to get CVS repositories"
 msgstr ""
 
-#: vhffs-panel/dns/index.pl:63
+#: vhffs-panel/dns/index.pl:64
 msgid "Unable to get DNS"
 msgstr ""
 
-#: vhffs-panel/git/index.pl:64
+#: vhffs-panel/git/index.pl:65
 msgid "Unable to get GIT repositories"
 msgstr ""
 
-#: vhffs-panel/mysql/index.pl:63
+#: vhffs-panel/mysql/index.pl:64
 msgid "Unable to get MySQL databases."
 msgstr ""
 
-#: vhffs-panel/pgsql/index.pl:63
+#: vhffs-panel/pgsql/index.pl:64
 msgid "Unable to get PgSQL databases"
 msgstr ""
 
-#: vhffs-panel/svn/index.pl:63
+#: vhffs-panel/svn/index.pl:64
 msgid "Unable to get SVN repositories"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:74 vhffs-panel/mail/delete.pl:79
+#: vhffs-panel/cron/index.pl:64
+msgid "Unable to get cron jobs"
+msgstr ""
+
+#: vhffs-panel/mail/prefs.pl:73 vhffs-panel/mail/delete.pl:77
 #, perl-format
 msgid "Unable to get information on mail domain %s"
 msgstr ""
 
-#: vhffs-panel/mail/index.pl:63
+#: vhffs-panel/mail/index.pl:64
 msgid "Unable to get mail domains"
 msgstr ""
 
-#: vhffs-panel/mailinglist/index.pl:63
+#: vhffs-panel/mailinglist/index.pl:64
 msgid "Unable to get mailing lists"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:63
+#: vhffs-panel/repository/index.pl:64
 msgid "Unable to get repositories"
 msgstr ""
 
-#: vhffs-panel/web/index.pl:63
+#: vhffs-panel/web/index.pl:64
 msgid "Unable to get webareas"
 msgstr ""
 
@@ -4056,17 +4052,17 @@
 msgid "Unable to modify SRV record: %s"
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:208
+#: vhffs-panel/dns/prefs.pl:207
 #, perl-format
 msgid "Unable to modify TXT record: %s"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:302
+#: vhffs-panel/mail/prefs.pl:301
 #, perl-format
 msgid "Unable to modify forward %s"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:114
+#: vhffs-panel/group/prefs.pl:119
 msgid "Unable to remove user from group"
 msgstr ""
 
@@ -4074,79 +4070,69 @@
 msgid "Unable to save object"
 msgstr ""
 
-#: vhffs-panel/svn/prefs.pl:168
+#: vhffs-panel/admin/tag/category/edit.pl:71
+msgid "Unable to update category"
+msgstr ""
+
+#: vhffs-panel/svn/prefs.pl:169
 msgid "Unable to update repository"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:475
+#: vhffs-panel/admin/tag/edit.pl:72
+msgid "Unable to update tag"
+msgstr ""
+
+#: vhffs-panel/user/prefs.pl:500
 msgid "Unable to update user, please try again later"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:298
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:298
 msgid ""
 "Unknow command\n"
 "\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Functions.pm:452 vhffs-api/src/Vhffs/Functions.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:452
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Functions.pm:457
+#: vhffs-api/src/Vhffs/Functions.pm:510 vhffs-api/src/Vhffs/Functions.pm:515
 msgid "Unknown"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:163 vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:211 vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:241 vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:265 vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:288 vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:317 vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-api/src/Vhffs/Panel/DNS.pm:344 vhffs-api/src/Vhffs/Panel/DNS.pm:356
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:199
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:229
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:241
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:253
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:265
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:276
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:288
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:301
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:317
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:332
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:344
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/DNS.pm:356
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:164 vhffs-api/src/Vhffs/Panel/DNS.pm:200
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:212 vhffs-api/src/Vhffs/Panel/DNS.pm:230
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:242 vhffs-api/src/Vhffs/Panel/DNS.pm:255
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:267 vhffs-api/src/Vhffs/Panel/DNS.pm:280
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:292 vhffs-api/src/Vhffs/Panel/DNS.pm:305
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:322 vhffs-api/src/Vhffs/Panel/DNS.pm:337
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:349 vhffs-api/src/Vhffs/Panel/DNS.pm:361
 msgid "Unknown error"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_view.pl:105
-#: vhffs-panel/admin/broadcast_list.pl:104
+#: vhffs-panel/admin/broadcast_list.pl:102
+#: vhffs-panel/admin/broadcast_view.pl:103
 msgid "Unknown status"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:240
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:240
 #, perl-format
 msgid "Unsubscribe for the list %s was not complete.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:64 vhffs-panel/group/prefs.pl:244
+#: vhffs-panel/admin/tag/category/edit.pl:88 vhffs-panel/group/prefs.pl:257
 msgid "Update"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:87
-msgid "Update Permissions"
+#: vhffs-panel/admin/tag/edit.pl:78
+msgid "Update Tag"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:54 vhffs-intl/template_strings.pl:70
-msgid "Update Quota"
+#: vhffs-panel/admin/tag/category/edit.pl:77
+msgid "Update Tag Category"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:248
+#: vhffs-panel/group/prefs.pl:261
 msgid "Update avatar"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:144
+#: vhffs-panel/mailinglist/prefs.pl:143
 msgid "Update signature"
 msgstr ""
 
@@ -4154,32 +4140,31 @@
 msgid "Uploaded file is too big. The maximum size is 20 Kbytes."
 msgstr ""
 
-#: vhffs-panel/dns/prefs.pl:240
+#: vhffs-panel/dns/prefs.pl:239
 #, perl-format
 msgid "Use @ for origin (%s)"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:413
+#: vhffs-panel/user/prefs.pl:430
 #, perl-format
 msgid ""
 "Use VHFFS servers to manage this mail,<br/>you should use use the host pop.%"
 "s or imap.%s to fetch your mails"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:424
+#: vhffs-panel/user/prefs.pl:441
 msgid "Use anti-spam protection"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:432
+#: vhffs-panel/user/prefs.pl:449
 msgid "Use anti-virus protection"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:51 vhffs-intl/template_strings.pl:67
-msgid "Used Quota"
+#: vhffs-panel/dns/prefs.pl:259
+msgid "Use our servers as destination IP for this A record?"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:35 vhffs-panel/admin/moderation.pl:86
-#: vhffs-panel/acl/view.pl:103
+#: vhffs-panel/admin/moderation.pl:85 vhffs-panel/acl/view.pl:103
 msgid "User"
 msgstr ""
 
@@ -4189,26 +4174,22 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Admin.pm:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:118
 msgid "User Admin"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:435 vhffs-panel/user/prefs.pl:297
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:435
+#: vhffs-panel/user/prefs.pl:314 vhffs-api/src/Vhffs/Panel/Main.pm:425
 msgid "User Preferences"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:188
+#: vhffs-panel/subscribe.pl:190
 msgid "User Successfully created"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:432
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:432
+#: vhffs-api/src/Vhffs/Panel/Main.pm:422
 msgid "User account"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:368
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:368
+#: vhffs-api/src/Vhffs/Panel/Main.pm:373
 msgid "User does not exist"
 msgstr ""
 
@@ -4216,47 +4197,34 @@
 msgid "User is not active yet"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:144
+#: vhffs-panel/group/prefs.pl:149
 msgid "User not found"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:477
+#: vhffs-panel/user/prefs.pl:502
 msgid "User successfully updated"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:134 vhffs-panel/group/prefs.pl:168
+#: vhffs-panel/group/prefs.pl:139 vhffs-panel/group/prefs.pl:173
 msgid "User will be added as soon as possible"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:82
-msgid "User's Permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:83
-msgid "User's permissions"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:7 vhffs-intl/template_strings.pl:22
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:65 vhffs-panel/admin/user/list.pl:70
-#: vhffs-panel/admin/su.pl:73 vhffs-panel/group/prefs.pl:238
-#: vhffs-panel/user/prefs.pl:301 vhffs-panel/lost.pl:57
-#: vhffs-panel/subscribe.pl:223
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:65
+#: vhffs-panel/admin/user/list.pl:70 vhffs-panel/admin/su.pl:73
+#: vhffs-panel/user/prefs.pl:318 vhffs-panel/group/prefs.pl:251
+#: vhffs-panel/subscribe.pl:238 vhffs-panel/lost.pl:57
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:65
 msgid "Username"
 msgstr ""
 
-#: vhffs-panel/pgsql/prefs.pl:87 vhffs-panel/mysql/prefs.pl:98
+#: vhffs-panel/mysql/prefs.pl:99 vhffs-panel/pgsql/prefs.pl:87
 msgid "Username for this database"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:2 vhffs-intl/template_strings.pl:12
-#: vhffs-intl/template_strings.pl:19 vhffs-api/src/Vhffs/Panel/Menu.pm:111
-#: vhffs-panel/group/prefs.pl:256
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:111
+#: vhffs-panel/group/prefs.pl:269 vhffs-api/src/Vhffs/Panel/Menu.pm:115
 msgid "Users"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:91
+#: vhffs-panel/admin/stats.pl:90
 msgid "Users stats"
 msgstr ""
 
@@ -4264,64 +4232,57 @@
 msgid "Users' administration"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:21 vhffs-api/src/Vhffs/Panel/Object.pm:122
-#: vhffs-panel/admin/object/edit.pl:117
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:122
+#: vhffs-panel/admin/object/edit.pl:115
+#: vhffs-api/src/Vhffs/Panel/Object.pm:121
 msgid "Validation refused"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:89
+#: vhffs-panel/admin/stats.pl:88
 msgid "Vhffs Statistics"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:10
-msgid "View Archives"
-msgstr ""
-
-#: vhffs-panel/admin/broadcast_view.pl:85
+#: vhffs-panel/admin/broadcast_view.pl:83
 msgid "View mailing"
 msgstr ""
 
-#: vhffs-panel/admin/broadcast_list.pl:90
+#: vhffs-panel/admin/broadcast_list.pl:88
 msgid "View this mailing"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:254
+#: vhffs-panel/mail/prefs.pl:253
 msgid "Virus status updated"
 msgstr ""
 
-#: vhffs-panel/admin/stats.pl:105
-msgid "WEB stats"
+#: vhffs-panel/admin/tag/category/create.pl:70
+#: vhffs-panel/admin/tag/category/edit.pl:81
+msgid "Visibility"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:75
-msgid "Waiting for confirmation"
+#: vhffs-panel/admin/stats.pl:104
+msgid "WEB stats"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:22 vhffs-api/src/Vhffs/Panel/Object.pm:123
-#: vhffs-panel/admin/object/edit.pl:118
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:123
+#: vhffs-panel/admin/object/edit.pl:116
+#: vhffs-api/src/Vhffs/Panel/Object.pm:122
 msgid "Waiting for creation"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:78
-msgid "Waiting for deletion"
+#: vhffs-panel/admin/object/edit.pl:122
+#: vhffs-api/src/Vhffs/Panel/Object.pm:128
+msgid "Waiting for modification"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:28 vhffs-api/src/Vhffs/Panel/Object.pm:129
-#: vhffs-panel/admin/object/edit.pl:124
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:129
-msgid "Waiting for modification"
+#: vhffs-panel/admin/object/edit.pl:120
+#: vhffs-api/src/Vhffs/Panel/Object.pm:126
+msgid "Waiting for suspension"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:20 vhffs-intl/template_strings.pl:76
-#: vhffs-api/src/Vhffs/Panel/Object.pm:121
-#: vhffs-panel/admin/object/edit.pl:116
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:121
+#: vhffs-panel/admin/object/edit.pl:114
+#: vhffs-api/src/Vhffs/Panel/Object.pm:120
 msgid "Waiting for validation"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:149
+#: vhffs-panel/user/prefs.pl:151
 msgid "Wanted shell is not in the shell list"
 msgstr ""
 
@@ -4329,14 +4290,7 @@
 msgid "Warn the admin team"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:65 vhffs-intl/template_strings.pl:72
-msgid ""
-"Warning, password change isn't immediate, you've to check periodically to "
-"see if it's done"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:481
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:481
 #, perl-format
 msgid ""
 "We confirm that you REFUSED the subscription of:\n"
@@ -4348,7 +4302,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:457
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:457
 #, perl-format
 msgid ""
 "We confirm that you accepted the subscription of:\n"
@@ -4359,40 +4312,33 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:227
+#: vhffs-panel/group/prefs.pl:240
 #, perl-format
 msgid "We offer you the possibility to forward emails from %s@%s."
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:443
+#: vhffs-panel/user/prefs.pl:460
 #, perl-format
 msgid "We offer you the possibility to have one email box on the domain %s"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Menu.pm:64 vhffs-api/src/Vhffs/Panel/Menu.pm:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Menu.pm:113
+#: vhffs-api/src/Vhffs/Panel/Menu.pm:67 vhffs-api/src/Vhffs/Panel/Menu.pm:117
 msgid "Web"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Admin.pm:153
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Admin.pm:153
+#: vhffs-api/src/Vhffs/Panel/Admin.pm:173
 msgid "Web Admin"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:93
+#: vhffs-panel/web/prefs.pl:90
 msgid "Web Area Administration"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:143
+#: vhffs-panel/web/prefs.pl:140
 msgid "Web area successfully modified"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:37
-msgid "Webarea"
-msgstr ""
-
-#: vhffs-panel/web/index.pl:60
+#: vhffs-panel/web/index.pl:61
 #, perl-format
 msgid "Webareas for %s"
 msgstr ""
@@ -4401,65 +4347,45 @@
 msgid "Webareas' administration"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:37
-msgid "Website description"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:36
-msgid "Website name"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:33
-msgid "Websites"
-msgstr ""
-
-#: vhffs-intl/template_strings.pl:41 vhffs-public/group.pl:99
-msgid "Websites for this group"
-msgstr ""
-
-#: vhffs-panel/dns/prefs.pl:298 vhffs-panel/dns/prefs.pl:383
+#: vhffs-panel/dns/prefs.pl:300 vhffs-panel/dns/prefs.pl:385
 msgid "Weight"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Panel/Commons.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:62
 #, perl-format
 msgid "Welcome on %s"
 msgstr ""
 
-#: vhffs-panel/mailinglist/delete.pl:107
+#: vhffs-panel/mailinglist/delete.pl:105
 msgid "Will be DELETED in a few minutes"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:31 vhffs-api/src/Vhffs/Panel/Object.pm:132
-#: vhffs-panel/admin/object/edit.pl:127
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:132
+#: vhffs-panel/admin/object/edit.pl:125
+#: vhffs-api/src/Vhffs/Panel/Object.pm:131
 msgid "Will be deleted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Commons.pm:81
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Commons.pm:81
+#: vhffs-api/src/Vhffs/Panel/Commons.pm:84
 #, perl-format
 msgid "Woah, %s users and %s groups already trust %s"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:59 vhffs-intl/template_strings.pl:62
-#: vhffs-panel/git/prefs.pl:101 vhffs-panel/dns/prefs.pl:261
-#: vhffs-panel/cvs/prefs.pl:112 vhffs-panel/svn/prefs.pl:93
+#: vhffs-panel/svn/prefs.pl:94 vhffs-panel/dns/prefs.pl:260
+#: vhffs-panel/cvs/prefs.pl:99 vhffs-panel/git/prefs.pl:98
 msgid "Yes"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:91 vhffs-panel/mail/prefs.pl:138
-#: vhffs-panel/git/prefs.pl:107 vhffs-panel/dns/prefs.pl:254
-#: vhffs-panel/pgsql/prefs.pl:101 vhffs-panel/cvs/prefs.pl:118
-#: vhffs-panel/group/prefs.pl:215 vhffs-panel/mysql/prefs.pl:113
-#: vhffs-panel/svn/prefs.pl:99 vhffs-panel/mailinglist/prefs.pl:181
-#: vhffs-panel/web/prefs.pl:111 vhffs-panel/user/prefs.pl:328
+#: vhffs-panel/mysql/prefs.pl:114 vhffs-panel/pgsql/prefs.pl:101
+#: vhffs-panel/mailinglist/prefs.pl:181 vhffs-panel/cron/prefs.pl:152
+#: vhffs-panel/repository/prefs.pl:90 vhffs-panel/user/prefs.pl:345
+#: vhffs-panel/svn/prefs.pl:100 vhffs-panel/dns/prefs.pl:253
+#: vhffs-panel/group/prefs.pl:228 vhffs-panel/mail/prefs.pl:137
+#: vhffs-panel/cvs/prefs.pl:105 vhffs-panel/git/prefs.pl:104
+#: vhffs-panel/web/prefs.pl:108
 msgid "Yes I'm sure of what I do"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:227
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:227
 msgid "You are not a subscriber on this list.\n"
 msgstr ""
 
@@ -4467,7 +4393,7 @@
 msgid "You are not allowed to add members (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/object/resubmit.pl:77 vhffs-panel/object/quickdelete.pl:77
+#: vhffs-panel/object/quickdelete.pl:76 vhffs-panel/object/resubmit.pl:76
 msgid "You are not allowed to do it, you don't own this object"
 msgstr ""
 
@@ -4475,48 +4401,45 @@
 msgid "You are not allowed to manager subscribers' rights (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:177 vhffs-panel/mail/prefs.pl:207
-#: vhffs-panel/mail/prefs.pl:225 vhffs-panel/mail/prefs.pl:265
-#: vhffs-panel/mail/prefs.pl:279 vhffs-panel/mail/prefs.pl:295
-#: vhffs-panel/mail/prefs.pl:311
+#: vhffs-panel/mail/prefs.pl:176 vhffs-panel/mail/prefs.pl:206
+#: vhffs-panel/mail/prefs.pl:224 vhffs-panel/mail/prefs.pl:264
+#: vhffs-panel/mail/prefs.pl:278 vhffs-panel/mail/prefs.pl:294
+#: vhffs-panel/mail/prefs.pl:310
 msgid "You are not allowed to modify this object"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:125
+#: vhffs-panel/web/prefs.pl:122
 msgid "You are not allowed to modify this web area"
 msgstr ""
 
-#: vhffs-panel/admin/repository/search.pl:71
-#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/mail/search.pl:72
-#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/git/search.pl:73
-#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/dns/search.pl:72
-#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/pgsql/search.pl:72
-#: vhffs-panel/admin/pgsql/list.pl:60 vhffs-panel/admin/cvs/search.pl:71
-#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/group/search.pl:72
-#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mysql/search.pl:72
-#: vhffs-panel/admin/mysql/list.pl:66 vhffs-panel/admin/object/edit.pl:74
-#: vhffs-panel/admin/object/search.pl:71
-#: vhffs-panel/admin/object/edit_submit.pl:74
-#: vhffs-panel/admin/object/list.pl:72
-#: vhffs-panel/admin/object/delete_avatar.pl:78
-#: vhffs-panel/admin/svn/search.pl:73 vhffs-panel/admin/svn/list.pl:55
-#: vhffs-panel/admin/mailinglist/search.pl:71
-#: vhffs-panel/admin/mailinglist/list.pl:63 vhffs-panel/admin/web/search.pl:72
-#: vhffs-panel/admin/web/list.pl:54 vhffs-panel/admin/user/search.pl:72
-#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast_view.pl:73
-#: vhffs-panel/admin/broadcast_list.pl:71 vhffs-panel/admin/stats.pl:82
-#: vhffs-panel/admin/broadcast.pl:70
+#: vhffs-panel/admin/mysql/search.pl:70 vhffs-panel/admin/mysql/list.pl:66
+#: vhffs-panel/admin/pgsql/search.pl:70 vhffs-panel/admin/pgsql/list.pl:60
+#: vhffs-panel/admin/stats.pl:81 vhffs-panel/admin/broadcast_list.pl:69
+#: vhffs-panel/admin/mailinglist/search.pl:69
+#: vhffs-panel/admin/mailinglist/list.pl:63
+#: vhffs-panel/admin/broadcast_view.pl:71 vhffs-panel/admin/cron/search.pl:70
+#: vhffs-panel/admin/cron/list.pl:66 vhffs-panel/admin/repository/search.pl:69
+#: vhffs-panel/admin/repository/list.pl:59 vhffs-panel/admin/user/search.pl:70
+#: vhffs-panel/admin/user/list.pl:55 vhffs-panel/admin/broadcast.pl:68
+#: vhffs-panel/admin/svn/search.pl:71 vhffs-panel/admin/svn/list.pl:55
+#: vhffs-panel/admin/object/delete_avatar.pl:76
+#: vhffs-panel/admin/object/edit_submit.pl:72
+#: vhffs-panel/admin/object/edit.pl:72 vhffs-panel/admin/object/search.pl:69
+#: vhffs-panel/admin/object/list.pl:70 vhffs-panel/admin/dns/search.pl:70
+#: vhffs-panel/admin/dns/list.pl:59 vhffs-panel/admin/group/search.pl:70
+#: vhffs-panel/admin/group/list.pl:65 vhffs-panel/admin/mail/search.pl:70
+#: vhffs-panel/admin/mail/list.pl:59 vhffs-panel/admin/cvs/search.pl:69
+#: vhffs-panel/admin/cvs/list.pl:60 vhffs-panel/admin/git/search.pl:71
+#: vhffs-panel/admin/git/list.pl:56 vhffs-panel/admin/web/search.pl:70
+#: vhffs-panel/admin/web/list.pl:54
 msgid "You are not allowed to see it"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:186 vhffs-api/src/Vhffs/Panel/Main.pm:207
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:186
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:207
+#: vhffs-api/src/Vhffs/Panel/Main.pm:187 vhffs-api/src/Vhffs/Panel/Main.pm:208
 msgid "You are not granted to access this page"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:119
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:119
 #, perl-format
 msgid ""
 "You asked to be subscribed to the following list:\n"
@@ -4525,35 +4448,45 @@
 "\n"
 msgstr ""
 
-#: vhffs-panel/mail/prefs.pl:144 vhffs-panel/git/prefs.pl:113
-#: vhffs-panel/dns/prefs.pl:246 vhffs-panel/svn/prefs.pl:105
-#: vhffs-panel/web/prefs.pl:104
+#: vhffs-panel/mysql/prefs.pl:107 vhffs-panel/cron/prefs.pl:145
+#: vhffs-panel/svn/prefs.pl:106 vhffs-panel/dns/prefs.pl:245
+#: vhffs-panel/mail/prefs.pl:143 vhffs-panel/git/prefs.pl:110
+#: vhffs-panel/web/prefs.pl:101
 msgid ""
 "You can Manage rights on this service for each user in the VHFFS database. "
 "Please read help before manage it."
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:49
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:49
 msgid "You can also send a command list in the mail body.\n"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:110
+#: vhffs-panel/group/prefs.pl:438
+msgid "You can only delete requests attached to your group"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:273
+msgid "You cannot add NS records on origin"
+msgstr ""
+
+#: vhffs-api/src/Vhffs/Panel/DNS.pm:157
+msgid "You cannot delete NS records on origin"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:115
 msgid "You cannot remove the owner of the group"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:89
+#: vhffs-panel/subscribe.pl:77
 msgid "You cannot subscribe to VHFFS"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:226
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:226
 #, perl-format
 msgid "You cannot unsubscribe from the list %s\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:211
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:211
 msgid "You demand was refused\n"
 msgstr ""
 
@@ -4561,8 +4494,15 @@
 msgid "You do not own this domain !"
 msgstr ""
 
+#: vhffs-panel/group/prefs.pl:345
+msgid "You don't have enough privileges to add this tag"
+msgstr ""
+
+#: vhffs-panel/group/prefs.pl:378
+msgid "You don't have enough privileges to delete this tag"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:182
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:182
 #, perl-format
 msgid ""
 "You have been successfully removed from the following list:\n"
@@ -4570,33 +4510,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:255
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:255
 #, perl-format
 msgid "You have been successfully removed from the list %s.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:147 vhffs-api/src/Vhffs/Listengine.pm:163
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:147
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:163
 #, perl-format
 msgid ""
 "You have been successfully subscribed to the following mailing list:\n"
 "  %s\n"
 msgstr ""
 
-#: vhffs-panel/web/prefs.pl:135
+#: vhffs-panel/admin/tag/category/edit.pl:115
+#: vhffs-panel/admin/tag/create.pl:100 vhffs-panel/admin/tag/edit.pl:107
+#: vhffs-panel/web/prefs.pl:132
 msgid "You have to enter a description"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:125 vhffs-panel/group/prefs.pl:284
-msgid "You have to enter a quota greater than the current used quota"
+#: vhffs-panel/admin/tag/category/edit.pl:111
+#: vhffs-panel/admin/tag/create.pl:95 vhffs-panel/admin/tag/edit.pl:103
+msgid "You have to enter a label"
 msgstr ""
 
-#: vhffs-panel/repository/index.pl:54 vhffs-panel/mail/index.pl:54
-#: vhffs-panel/git/index.pl:55 vhffs-panel/dns/index.pl:54
-#: vhffs-panel/pgsql/index.pl:54 vhffs-panel/cvs/index.pl:54
-#: vhffs-panel/mysql/index.pl:54 vhffs-panel/svn/index.pl:54
-#: vhffs-panel/mailinglist/index.pl:54 vhffs-panel/web/index.pl:54
+#: vhffs-panel/admin/tag/category/create.pl:95
+#: vhffs-panel/admin/tag/request/details.pl:151
+msgid "You have to enter a label and a description for the category"
+msgstr ""
+
+#: vhffs-panel/admin/tag/request/details.pl:156
+#: vhffs-panel/admin/tag/request/details.pl:185
+msgid "You have to enter a label and a description for the tag"
+msgstr ""
+
+#: vhffs-public/usersearch.pl:52
+msgid "You have to enter an username"
+msgstr ""
+
+#: vhffs-panel/mysql/index.pl:55 vhffs-panel/pgsql/index.pl:55
+#: vhffs-panel/mailinglist/index.pl:55 vhffs-panel/cron/index.pl:55
+#: vhffs-panel/repository/index.pl:55 vhffs-panel/svn/index.pl:55
+#: vhffs-panel/dns/index.pl:55 vhffs-panel/mail/index.pl:55
+#: vhffs-panel/cvs/index.pl:55 vhffs-panel/git/index.pl:56
+#: vhffs-panel/web/index.pl:55
 msgid "You have to select a group first"
 msgstr ""
 
@@ -4610,73 +4565,68 @@
 
 #: vhffs-api/src/Vhffs/Listengine.pm:149 vhffs-api/src/Vhffs/Listengine.pm:168
 #: vhffs-api/src/Vhffs/Listengine.pm:443
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:149
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:168
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:443
 msgid "You may get some help on listengine by sending an email to\n"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:204
+#: vhffs-panel/user/prefs.pl:210
 msgid "You must choose a method for your mail"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:85 vhffs-api/src/Vhffs/Listengine.pm:103
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:85
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:103
 msgid "You must confirm your request by sending a confirmation email\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:143
+#: vhffs-panel/subscribe.pl:145
 msgid "You must declare a valid mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:123
+#: vhffs-panel/subscribe.pl:125
 msgid "You must declare your city"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:119
+#: vhffs-panel/subscribe.pl:121
 msgid "You must declare your country"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:131
+#: vhffs-panel/subscribe.pl:133
 msgid "You must declare your firstname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:135
+#: vhffs-panel/subscribe.pl:137
 msgid "You must declare your lastname"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:139
+#: vhffs-panel/subscribe.pl:141
 msgid "You must declare your mail address"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:111
+#: vhffs-panel/subscribe.pl:113
 msgid "You must declare your username"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:127
+#: vhffs-panel/subscribe.pl:129
 msgid "You must declare your zipcode"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:79 vhffs-panel/mail/create.pl:78
-#: vhffs-panel/git/create.pl:83 vhffs-panel/dns/create.pl:53
-#: vhffs-panel/pgsql/create.pl:84 vhffs-panel/cvs/create.pl:84
-#: vhffs-panel/group/prefs.pl:86 vhffs-panel/group/create.pl:68
-#: vhffs-panel/mysql/create.pl:84 vhffs-panel/object/resubmit.pl:90
-#: vhffs-panel/svn/create.pl:83 vhffs-panel/mailinglist/create.pl:83
-#: vhffs-panel/web/create.pl:81
+#: vhffs-panel/mysql/create.pl:84 vhffs-panel/pgsql/create.pl:84
+#: vhffs-panel/mailinglist/create.pl:83 vhffs-panel/cron/create.pl:86
+#: vhffs-panel/repository/create.pl:79 vhffs-panel/svn/create.pl:83
+#: vhffs-panel/object/resubmit.pl:89 vhffs-panel/dns/create.pl:54
+#: vhffs-panel/group/prefs.pl:91 vhffs-panel/group/create.pl:70
+#: vhffs-panel/mail/create.pl:79 vhffs-panel/cvs/create.pl:84
+#: vhffs-panel/git/create.pl:83 vhffs-panel/web/create.pl:81
 msgid "You must enter a description"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:88 vhffs-panel/group/create.pl:70
+#: vhffs-panel/group/prefs.pl:93 vhffs-panel/group/create.pl:72
 msgid "You must enter a full name"
 msgstr ""
 
-#: vhffs-panel/group/prefs.pl:126
+#: vhffs-panel/group/prefs.pl:131
 msgid "You must enter an username"
 msgstr ""
 
-#: vhffs-panel/group/view.pl:55
+#: vhffs-panel/group/view.pl:57
 msgid "You must specify a project name"
 msgstr ""
 
@@ -4685,46 +4635,48 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:166
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:166
 msgid "You will receive an email with the decision of administrators.\n"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Main.pm:375
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Main.pm:375
+#: vhffs-api/src/Vhffs/Panel/Main.pm:380
 msgid "You're are not allowed to browse panel"
 msgstr ""
 
-#: vhffs-panel/repository/create.pl:64 vhffs-panel/mail/create.pl:60
-#: vhffs-panel/git/create.pl:64 vhffs-panel/dns/create.pl:34
-#: vhffs-panel/pgsql/create.pl:63 vhffs-panel/admin/moderation_submit.pl:67
-#: vhffs-panel/admin/broadcast_delete.pl:79
-#: vhffs-panel/admin/broadcast_submit.pl:79 vhffs-panel/admin/moderation.pl:70
-#: vhffs-panel/cvs/create.pl:64 vhffs-panel/group/prefs.pl:78
-#: vhffs-panel/group/prefs.pl:108 vhffs-panel/group/prefs.pl:119
-#: vhffs-panel/group/prefs.pl:160 vhffs-panel/group/prefs.pl:177
-#: vhffs-panel/group/history.pl:71 vhffs-panel/group/delete.pl:68
-#: vhffs-panel/mysql/create.pl:63 vhffs-panel/svn/create.pl:63
-#: vhffs-panel/mailinglist/create.pl:62 vhffs-panel/web/prefs.pl:84
-#: vhffs-panel/web/create.pl:63
+#: vhffs-panel/mysql/create.pl:63 vhffs-panel/pgsql/create.pl:63
+#: vhffs-panel/admin/broadcast_submit.pl:75
+#: vhffs-panel/admin/broadcast_delete.pl:75
+#: vhffs-panel/admin/moderation_submit.pl:67
+#: vhffs-panel/admin/moderation.pl:69 vhffs-panel/mailinglist/create.pl:62
+#: vhffs-panel/cron/create.pl:65 vhffs-panel/repository/create.pl:64
+#: vhffs-panel/svn/create.pl:63 vhffs-panel/dns/create.pl:35
+#: vhffs-panel/group/history.pl:72 vhffs-panel/group/prefs.pl:83
+#: vhffs-panel/group/prefs.pl:113 vhffs-panel/group/prefs.pl:124
+#: vhffs-panel/group/prefs.pl:165 vhffs-panel/group/prefs.pl:182
+#: vhffs-panel/group/prefs.pl:325 vhffs-panel/group/prefs.pl:358
+#: vhffs-panel/group/prefs.pl:391 vhffs-panel/group/prefs.pl:424
+#: vhffs-panel/group/delete.pl:67 vhffs-panel/mail/create.pl:61
+#: vhffs-panel/cvs/create.pl:64 vhffs-panel/git/create.pl:64
+#: vhffs-panel/web/prefs.pl:81 vhffs-panel/web/create.pl:63
 msgid "You're not allowed to do this (ACL rights)"
 msgstr ""
 
-#: vhffs-panel/repository/prefs.pl:74 vhffs-panel/repository/delete.pl:82
-#: vhffs-panel/mail/prefs.pl:77 vhffs-panel/mail/delete.pl:87
-#: vhffs-panel/git/prefs.pl:80 vhffs-panel/git/prefs.pl:142
-#: vhffs-panel/git/prefs.pl:164 vhffs-panel/git/delete.pl:82
+#: vhffs-panel/mysql/prefs.pl:81 vhffs-panel/mysql/prefs.pl:127
+#: vhffs-panel/mysql/delete.pl:78 vhffs-panel/pgsql/prefs.pl:71
+#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:76
+#: vhffs-panel/mailinglist/prefs.pl:83 vhffs-panel/mailinglist/prefs.pl:205
+#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:89
+#: vhffs-panel/cron/prefs.pl:80 vhffs-panel/cron/prefs.pl:167
+#: vhffs-panel/cron/delete.pl:78 vhffs-panel/repository/prefs.pl:73
+#: vhffs-panel/repository/delete.pl:81 vhffs-panel/user/prefs.pl:79
+#: vhffs-panel/user/prefs.pl:85 vhffs-panel/svn/prefs.pl:77
+#: vhffs-panel/svn/prefs.pl:135 vhffs-panel/svn/delete.pl:80
 #: vhffs-panel/dns/prefs.pl:86 vhffs-panel/dns/prefs.pl:95
-#: vhffs-panel/dns/delete.pl:87 vhffs-panel/pgsql/prefs.pl:71
-#: vhffs-panel/pgsql/prefs.pl:115 vhffs-panel/pgsql/delete.pl:77
+#: vhffs-panel/dns/delete.pl:79 vhffs-panel/group/prefs.pl:74
+#: vhffs-panel/mail/prefs.pl:76 vhffs-panel/mail/delete.pl:85
 #: vhffs-panel/cvs/prefs.pl:73 vhffs-panel/cvs/prefs.pl:78
-#: vhffs-panel/cvs/prefs.pl:94 vhffs-panel/cvs/delete.pl:82
-#: vhffs-panel/group/prefs.pl:70 vhffs-panel/mysql/prefs.pl:80
-#: vhffs-panel/mysql/delete.pl:79 vhffs-panel/svn/prefs.pl:76
-#: vhffs-panel/svn/prefs.pl:134 vhffs-panel/svn/delete.pl:81
-#: vhffs-panel/mailinglist/prefs.pl:84 vhffs-panel/mailinglist/prefs.pl:205
-#: vhffs-panel/mailinglist/prefs.pl:230 vhffs-panel/mailinglist/delete.pl:91
-#: vhffs-panel/web/delete.pl:83 vhffs-panel/user/prefs.pl:78
-#: vhffs-panel/user/prefs.pl:84
+#: vhffs-panel/cvs/delete.pl:81 vhffs-panel/git/prefs.pl:81
+#: vhffs-panel/git/prefs.pl:139 vhffs-panel/git/delete.pl:81
+#: vhffs-panel/web/delete.pl:81
 msgid ""
 "You're not allowed to do this, object is not in active state or you don't "
 "have enough ACL rights"
@@ -4734,7 +4686,7 @@
 msgid "You're not allowed to manage this object's ACL"
 msgstr ""
 
-#: vhffs-panel/acl/view.pl:76 vhffs-panel/history.pl:94
+#: vhffs-panel/history.pl:92 vhffs-panel/acl/view.pl:76
 msgid "You're not allowed to view this object's ACL"
 msgstr ""
 
@@ -4742,21 +4694,19 @@
 msgid "You're not an administrator"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:512
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:512
+#: vhffs-api/src/Vhffs/Object.pm:527
 #, perl-format
 msgid "Your %s (%s) on %s has been deleted due to lack of updates"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/User.pm:333
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/User.pm:333
+#: vhffs-api/src/Vhffs/User.pm:344
 #, perl-format
 msgid ""
 "Your account (%s) on %s has been deleted because it was unused for a long "
 "time"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:243
+#: vhffs-panel/subscribe.pl:277
 msgid ""
 "Your email address. It will be used to contact you when needed and as a "
 "destination address if you use our email forwarding service"
@@ -4770,20 +4720,17 @@
 msgid "Your projects"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:416
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:416
+#: vhffs-api/src/Vhffs/Object.pm:431
 #, perl-format
 msgid "Your request for a %s (%s) on %s was accepted"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Object.pm:466
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:466
+#: vhffs-api/src/Vhffs/Object.pm:481
 #, perl-format
 msgid "Your request for a %s (%s) on %s was refused"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:441
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:441
 #, perl-format
 msgid ""
 "Your subscription was accepted to the following mailing list:\n"
@@ -4791,7 +4738,6 @@
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:469
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:469
 #, perl-format
 msgid ""
 "Your subscription was refused to the following mailing list:\n"
@@ -4800,133 +4746,100 @@
 "Have a nice day.\n"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:242
+#: vhffs-panel/subscribe.pl:276
 msgid ""
 "Your username. It must contains only alphanumeric characters in lowercase, "
 "its length must be between 3 and 12 chars"
 msgstr ""
 
-#: vhffs-panel/subscribe.pl:147
+#: vhffs-panel/subscribe.pl:149
 msgid "Your zipcode is not correct! Please enter a correct zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:305 vhffs-panel/subscribe.pl:227
+#: vhffs-panel/user/prefs.pl:322 vhffs-panel/subscribe.pl:242
 msgid "Zipcode"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:132
+#: vhffs-panel/user/prefs.pl:134
 msgid "Zipcode is not correct !"
 msgstr ""
 
-#: vhffs-panel/mailinglist/prefs.pl:301
+#: vhffs-panel/mailinglist/prefs.pl:303
 #, perl-format
 msgid "[%s] You've been added to the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:355
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:355
 msgid "cannot be removed from the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:319
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:319
 msgid "cannot be removed.\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:53
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:53
 msgid "help\t\t - show this help\n"
 msgstr ""
 
-#: vhffs-intl/extra_strings.pl:17
-msgid "help_user_admin"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:13
-msgid "help_user_bug"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:12
-msgid "help_user_help"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:14
-msgid "help_user_logout"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:11
-msgid "help_user_preferences"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:16
-msgid "help_user_project"
-msgstr ""
-
-#: vhffs-intl/extra_strings.pl:15
-msgid "help_user_projects"
-msgstr ""
-
 #: vhffs-api/src/Vhffs/Listengine.pm:372
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:372
 #, perl-format
 msgid "in the moderation queue of the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:56
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:56
 msgid "lang [fr|us|es]\t - set listengine language\n"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:960
+#: vhffs-listengine/src/listengine.pl:964
 #, perl-format
 msgid "listengine - list of messages to moderate for %s"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:843
-#: vhffs-listengine/src/listengine.pl:865
-#: vhffs-listengine/src/listengine.pl:876
+#: vhffs-listengine/src/listengine.pl:847
+#: vhffs-listengine/src/listengine.pl:869
+#: vhffs-listengine/src/listengine.pl:880
 msgid "listengine help"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:908
-#: vhffs-listengine/src/listengine.pl:919
-#: vhffs-listengine/src/listengine.pl:935
-#: vhffs-listengine/src/listengine.pl:947
-#: vhffs-listengine/src/listengine.pl:974
-#: vhffs-listengine/src/listengine.pl:985
+#: vhffs-listengine/src/listengine.pl:912
+#: vhffs-listengine/src/listengine.pl:923
+#: vhffs-listengine/src/listengine.pl:939
+#: vhffs-listengine/src/listengine.pl:951
+#: vhffs-listengine/src/listengine.pl:978
+#: vhffs-listengine/src/listengine.pl:989
 msgid "listengine moderation"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:893
+#: vhffs-listengine/src/listengine.pl:897
 msgid "listengine result command"
 msgstr ""
 
-#: vhffs-listengine/src/listengine.pl:1026
+#: vhffs-listengine/src/listengine.pl:1030
 msgid "listengine: unknown command"
 msgstr ""
 
-#: vhffs-panel/user/prefs.pl:302 vhffs-panel/subscribe.pl:224
+#: vhffs-panel/user/prefs.pl:319 vhffs-panel/subscribe.pl:239
 msgid "mail"
 msgstr ""
 
+#: vhffs-panel/cron/prefs.pl:97
+msgid "minutes"
+msgstr ""
+
 #: vhffs-api/src/Vhffs/Listengine.pm:61
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:61
 msgid "moderate XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:62
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:62
 msgid ""
 "moderate accept XXXXX\t\t\t - accept the message with message-id XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:64
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:64
 msgid "moderate list\t\t\t - give the message list for moderation\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:63
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:63
 msgid ""
 "moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n"
 msgstr ""
@@ -4935,91 +4848,72 @@
 msgid "new site"
 msgstr ""
 
-#: vhffs-api/src/Vhffs/Panel/Object.pm:118
-#: vhffs-panel/admin/object/edit.pl:113
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Panel/Object.pm:118
+#: vhffs-panel/admin/object/edit.pl:111
+#: vhffs-api/src/Vhffs/Panel/Object.pm:117
 msgid "no date"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Object.pm:380
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Object.pm:380
 msgid "no reason given"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:318 vhffs-api/src/Vhffs/Listengine.pm:354
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:318
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:354
 #, perl-format
 msgid "present in the moderation queue for the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:54
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:54
 msgid "subscribe\t - subscribe the shipper to the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:59
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:59
 msgid ""
 "subscription accept XXXXX\t\t - accept the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:60
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:60
 msgid ""
 "subscription refuse XXXXX\t\t - refuse the subscription with key XXXXX\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:55
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:55
 msgid "unsubscribe\t - unsubscribe from this list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:69
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:69
 msgid "user info user@xxxxxxxxxx\t\t - show user information\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:67
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:67
 msgid "user right RIGHT user@xxxxxxxxxx\t - change right for this user\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:66
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:66
 msgid ""
 "user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on "
 "the list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:65
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:65
 msgid ""
 "user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:337
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:337
 #, perl-format
 msgid "was removed from the moderation queue from the list %s"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:373
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:373
 msgid "was sent on the list.\n"
 msgstr ""
 
-#: vhffs-intl/template_strings.pl:46
-msgid "website(s)"
-msgstr ""
-
-#: vhffs-panel/group/create.pl:86
+#: vhffs-panel/group/create.pl:100
 msgid ""
 "with only lowercase alphanumerical letters, no space, from 3 to 12 characters"
 msgstr ""
 
 #: vhffs-api/src/Vhffs/Listengine.pm:407
-#: vhffs-4.1-trunk/vhffs-api/src/Vhffs/Listengine.pm:407
 #, perl-format
 msgid ""
 "with the following subject :\n"


Property changes on: branches/vhffs-design/vhffs-irc
___________________________________________________________________
Added: svn:ignore
   + Makefile
Makefile.in


Copied: branches/vhffs-design/vhffs-irc/Makefile.am (from rev 1556, trunk/vhffs-irc/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-irc/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-irc/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,19 @@
+if INSTALL_IRC
+
+ircdir = @IRCDIR@
+dist_irc_SCRIPTS = modobot.pl
+
+# Define the substitution we need to point perl script at correct location
+do_sed = $(SED) --in-place \
+        -e 's,%PERL%,$(PERL),g' \
+        -e 's,'%VHFFS_LIB_DIR%',$(VHFFS_LIBDIR),g'
+
+# Because automake, exec-hook is executed before install-scripts
+# so install-data is after. Here we use a data-hook
+install-data-hook :
+	for f in $(dist_irc_SCRIPTS) ; do \
+		$(do_sed) $(DESTDIR)$(ircdir)/$$f; \
+	done
+
+
+endif

Modified: branches/vhffs-design/vhffs-irc/modobot.pl
===================================================================
--- branches/vhffs-design/vhffs-irc/modobot.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-irc/modobot.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!%PERL%
 
 # modobot is an IRC bot which allow you to validate
 # VHFFS objects through IRC
@@ -12,7 +12,7 @@
 use Locale::gettext;
 use Encode;
 
-use lib '/usr/share/vhffs/api';
+use lib '%VHFFS_LIB_DIR%';
 use Vhffs::User;
 use Vhffs::Group;
 use Vhffs::Main;
@@ -63,10 +63,15 @@
 {
 	my $seq = shift;  # set that to 1 in order to display only new entries
 
+	unless( $vhffs->is_valid )  {
+		$vhffs->reconnect();
+		irc_msg( 'what the fuck!?' );
+	}
+
 	my $objects = Vhffs::Object::getall( $vhffs, undef, Vhffs::Constants::WAITING_FOR_VALIDATION );
 	if( defined $objects )  {
 		foreach my $obj ( @{$objects} ) {
-			next if( $seq && exists( ${%oldobjects}{$obj->get_oid} ) );
+			next if( $seq && exists( $oldobjects{$obj->get_oid} ) );
 
 			my $user = $obj->get_user;
 			my $group = $obj->get_group;
@@ -79,7 +84,7 @@
 			$msg .= "\n[".format_tags_list($group).']';
 			irc_msg( $msg );
 
-			${%oldobjects}{$obj->get_oid} = '';
+			$oldobjects{$obj->get_oid} = '';
 		}
 	}
 }
@@ -120,6 +125,18 @@
 
 	my $object = Vhffs::ObjectFactory::fetch_object( $vhffs , $oid );
 
+	my $wfreason;
+	my $charset;
+	eval { $wfreason = Encode::decode_utf8( $reason , Encode::FB_CROAK ); };
+	if( $@ )  {
+		#decoding from utf8 failed, falling back to iso
+		$wfreason = Encode::decode('iso-8859-1', $reason);
+		$charset = 'ISO';
+	}
+	else  {
+		$charset = 'UTF-8';
+	}
+
 	unless( defined $object )
 	{
 		irc_msg ('Error : Cannot fetch object');
@@ -133,25 +150,14 @@
 	else
 	{
 		if( $status == 1 )  {
-			if( $object->moderate_accept < 0 )  {
+			if( $object->moderate_accept( $wfreason ) < 0 )  {
 				irc_msg('Error while committing changes');
 			}
 			else {
-				irc_msg( 'Object '.$oid.' accepted' );
+				irc_msg( 'Object '.$oid.' accepted ('.$charset.' detected)' );
 			}
 		}
 		else  {
-			my $wfreason;
-			my $charset;
-			eval { $wfreason = Encode::decode_utf8( $reason , Encode::FB_CROAK ); };
-			if( $@ )  {
-				#decoding from utf8 failed, falling back to iso
-				$wfreason = Encode::decode('iso-8859-1', $reason);
-				$charset = 'ISO';
-			}
-			else  {
-				$charset = 'UTF-8';
-			}
 
 			if( $object->moderate_refuse( $wfreason ) < 0 )  {
 				irc_msg('Error while committing changes');
@@ -160,7 +166,7 @@
 				irc_msg( 'Object '.$oid.' refused ('.$charset.' detected)' );
 			}
 		}
-		delete ${%oldobjects}{$oid};
+		delete $oldobjects{$oid};
 	}
 	return 0;
 }
@@ -203,8 +209,7 @@
 
 sub is_modo
 {
-    my $user = Vhffs::User::get_by_username( $vhffs, shift );
-    return ( (defined $user) && ($user->is_moderator == 1 || $user->is_admin == 1) );
+	return (defined $_[0] && ($_[0]->is_moderator || $_[0]->is_admin ) )
 } # is_modo
 
 sub get_desc
@@ -344,7 +349,7 @@
     my @text = split (/\n/, $wrapper->wrap($text));
     while ($text = shift @text)
     {
-        $bot->privmsg($chan, $text);
+        $bot->privmsg($chan, Encode::encode_utf8($text) );
         sleep 2;
         sleep 8 if (($cmpt%10) == 9);
         $cmpt++;
@@ -356,31 +361,36 @@
     my ($self, $event)=@_;
     my ($nick, $mynick)=($event->nick, $self->nick);
     my $texte=$event->{args}[0];
+    my $user = Vhffs::User::get_by_username($vhffs, $nick);
 
-    if ($texte =~ m/^${mynick}: accept [0-9]+$/)
+    if ($texte =~ m/^${mynick}: accept [0-9]+.*$/)
     {
-        if (is_modo ($nick) == 1)
-	{
-	    $texte =~ s/^${mynick}: accept //;
-            moderate( $texte , 1 );
-	}
+        if (is_modo ($user) == 1)
+		{
+		    my $oid = $texte;
+		    my $raison = $texte;
+			Vhffs::Main::current_user_uid($user->get_uid);
+		    $raison =~ s/^${mynick}: accept [0-9]+ *//;
+		    $oid =~ s/^${mynick}: accept ([0-9]+).*$/$1/;
+       	    moderate( $oid , 1 , $raison);
+		}
     }
     elsif ($texte =~ m/^${mynick}: refuse [0-9]+ .*$/)
     {
-        if (is_modo ($nick) == 1)
-	{
-	    my $oid = $texte;
-	    my $raison = $texte;
-	    $raison =~ s/^${mynick}: refuse [0-9]+ //;
-	    $oid =~ s/^${mynick}: refuse ([0-9]+) .*$/$1/;
-            moderate( $oid , 0 , $raison);
-	}
+        if (is_modo ($user) == 1) {
+			my $oid = $texte;
+			my $raison = $texte;
+			Vhffs::Main::current_user_uid($user->get_uid);
+			$raison =~ s/^${mynick}: refuse [0-9]+ +//;
+			$oid =~ s/^${mynick}: refuse ([0-9]+) .*$/$1/;
+			moderate( $oid , 0 , $raison);
+		}
     }
     elsif ($texte =~ m/^${mynick}: help$/)
     {
         irc_msg("Commands :");
         irc_msg("help - show this help");
-        irc_msg("accept <oid> - accept object with id <oid>");
+        irc_msg("accept <oid> [reason] - accept object with id <oid> for reason [reason]");
         irc_msg("refuse <oid> <reason> - refuse object with id <oid> for reason <reason>");
 	irc_msg("list - force listing of all objects waiting for moderation");
 	irc_msg("desc <group> - give the description of <group>");
@@ -440,10 +450,11 @@
 
     elsif ($texte =~ m/^${mynick}: setquota [a-z0-9]+ .*$/)
     {
-        if (is_modo ($nick) == 1)
+        if (is_modo ($user) == 1)
         {
             my $groupname = $texte;
             my $quotavalue = $texte;
+			Vhffs::Main::current_user_uid($user->get_uid);
             $quotavalue =~ s/^${mynick}: setquota [a-z0-9]+ //;
             $groupname =~ s/^${mynick}: setquota ([a-z0-9]+) .*$/$1/;
             set_quota($groupname,$quotavalue);

Modified: branches/vhffs-design/vhffs-listengine/src/listengine.pl
===================================================================
--- branches/vhffs-design/vhffs-listengine/src/listengine.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-listengine/src/listengine.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -38,20 +38,18 @@
 use locale;
 use Locale::gettext;
 use Mail::Internet;
+use DateTime;
+use DateTime::Format::Mail;
 use lib '%VHFFS_LIB_DIR%';
 use Vhffs::Main;
 use Vhffs::Services::MailingList;
 use Vhffs::Listengine;
 use Vhffs::Functions;
 
-#		open (MYFILE, '>/tmp/grunt');
-#		print MYFILE "FROM: '$from'  FROMPERM: '$subs->{$from}{'perm'}'   SUB: '$subscriber'   SUBPERM:  '$subs->{$subscriber}{'perm'}'   SUBHASH: '$subs->{$subscriber}{'hash'}'    HASH:  '$hash'\n";
-#		close (MYFILE);
-
 #Huho, if the program stop heres, you have some problems with your MTA configuration
 if( $#ARGV != 2 )
 {
-	print "involve as: listengine action local_part domain\n";
+	print 'involve as: listengine action local_part domain'."\n";
 	exit 1;
 }
 
@@ -81,50 +79,54 @@
     my $list = shift;
     my $mailinglistconfig = $vhffs->get_config->get_service('mailinglist');
 
-    $header->replace( 'List-Unsubscribe' ,"<mailto:".$list->get_localpart."-request"."\@".$list->get_domain."?subject=unsubscribe>" );
-    $header->replace( 'List-Subscribe' ,"<mailto:".$list->get_localpart."-request"."\@".$list->get_domain."?subject=subscribe>" );
-    $header->replace( 'List-Help' ,"<mailto:".$list->get_localpart."-request"."\@".$list->get_domain."?subject=help>" );
+    $header->replace( 'List-Unsubscribe' ,'<mailto:'.$list->get_listrequestname.'?subject=unsubscribe>' );
+    $header->replace( 'List-Subscribe' ,'<mailto:'.$list->get_listrequestname.'?subject=subscribe>' );
+    $header->replace( 'List-Help' ,'<mailto:'.$list->get_listrequestname.'?subject=help>' );
     $header->replace( 'List-Software' , 'Listengine, VHFFS '.Vhffs::Constants::VHFFS_VERSION );
-    $header->replace( 'List-Id' , $list->get_localpart.".".$list->get_domain );
-    $header->replace( 'List-Post' , '<mailto:'.$list->get_localpart."@".$list->get_domain.'>' );
+    $header->replace( 'List-Id' , $list->get_localpart.'.'.$list->get_domain );
+    $header->replace( 'List-Post' , '<mailto:'.$list->get_listname.'>' );
     $header->replace( 'List-Archive' , '<'.$mailinglistconfig->{'url_archives'}.'/'.$list->get_domain.'/'.$list->get_localpart.'>' ) if( $mailinglistconfig->{'url_archives'} );
     $header->replace( 'Precedence' , 'list' );
 
     #Replace the Reply-To field if selected in the panel  
-    $header->replace( 'Reply-To' , $list->get_localpart ."\@" . $list->get_domain ) if( $list->get_replyto == 1 );
+    $header->replace( 'Reply-To' , $list->get_listname ) if( $list->get_replyto == 1 );
 }
 
 
+sub datetime_rfc2822
+{
+	my $maildate = DateTime::Format::Mail->new();
+	my $dt = DateTime->now;
+	$dt->set_time_zone( 'local' );
+	return $maildate->format_datetime( $dt );
+}
 
+
 sub sendmail
 {
-    my $mail  = shift;
-    my $addrs = shift;
-    my @tos;
+	my $mail  = shift;
+	my $addrs = shift;
+	return 1 unless( defined $mail && defined $addrs );
 
-    if( ref($addrs) eq "ARRAY" )
-    {
-	foreach my $v ( @{$addrs} )
-	{
-	    push @tos , $v;
+	# single to
+	if( ref($addrs) ne 'ARRAY' ) {
+		my @to = ( $addrs );
+		$addrs = \@to;
 	}
-    }
-    else
-    {
-	push @tos , $addrs;
-    }
 
+	return 1 unless @{$addrs};
+
 	if( defined $SENDMAIL_PATH )  {
 
 		my $dir = $DIRECTORY.'/errors/';
-		Vhffs::Functions::create_dir( $dir ) if( ! -d $dir );
+		Vhffs::Functions::create_dir( $dir ) unless -d $dir;
 		my $errorf = '/dev/null';
-		$errorf = $dir.time() if( -d $dir );  # not perfect but should be sufficient to fix errors
+		$errorf = $dir.time().'_'.$$ if -d $dir;
 
-		open(SENDMAIL, "| $SENDMAIL_PATH 2> $errorf > /dev/null" ) or die( "Error - cannot open BSMTP input" );
+		open(SENDMAIL, '| '.$SENDMAIL_PATH.' 2> '.$errorf.' 1>&2' ) or die( 'Error - cannot open BSMTP input' );
 		print SENDMAIL 'HELO '.$DOMAIN."\n";
 
-		foreach my $adr (@tos)
+		foreach my $adr ( @{$addrs} )
 		{
 			chomp $adr;
 
@@ -133,7 +135,7 @@
 			print SENDMAIL 'RCPT TO:<'.$adr.'>'."\n";
 			print SENDMAIL 'DATA'."\n";
 			print SENDMAIL $mail->as_string;
-			print SENDMAIL "\n.\n";
+			print SENDMAIL "\n".'.'."\n";
 		}
 
 		print SENDMAIL 'QUIT'."\n";
@@ -143,21 +145,20 @@
 		unlink $errorf if ( -f $errorf  &&  ! -s $errorf );
 	}
 	else {
-		my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([\.a-zA-Z_\-0-9^\s]+)\.(\w+))/);
-		$from = lc $from;
-
-		foreach my $adr (@tos)
+		foreach my $adr ( @{$addrs} )
 		{
 			my $smtp = Net::SMTP->new( $SMTP_SERVER,
 				Hello => $DOMAIN,
 			);
 
-			$smtp->mail( $from );
+			$smtp->mail( $LISTMASTER );
 			$smtp->to( $adr );
 			$smtp->data( $mail->as_string );
 			$smtp->quit;
 		}
 	}
+
+	return 0;
 }
 
 
@@ -181,8 +182,8 @@
     my $directory = $DIRECTORY.'/archives/'.$list->get_domain.'/'.$list->get_localpart.'/'.$year.'/'.$month.'/'.$day;
     Vhffs::Functions::create_dir( $directory ) if( ! -d $directory );
 
-    my $file = "$directory/".$message_id;
-    open( FILE , ">$file");
+    my $file = $directory.'/'.$message_id;
+    open( FILE , '>'.$file);
     print FILE $mail->as_string;
     close( FILE );
 }
@@ -197,7 +198,7 @@
     my $header;
     my $email;
     my ( $message_id  ) =  ($mail->get( 'Message-Id' ) =~ /<(.+)>/);
-    my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([\.a-zA-Z_\-0-9^\s]+)\.(\w+))/);
+    my ( $from ) = ( $mail->get('From') =~ /([^\s\@<"]+\@[^">\@\s]+)>?[^\@]*$/ );
     $from = lc $from;
     my $directory = get_moderation_dir( $list );
     my $subject = $mail->get('Subject');
@@ -205,30 +206,30 @@
     Vhffs::Functions::create_dir( $directory ) if( ! -d $directory );
     
     my $filehash = Digest::MD5::md5_hex( $message_id );
-    my $file = "$directory/".$filehash;
+    my $file = $directory.'/'.$filehash;
         
-    open( FILE , ">$file");
+    open( FILE , '>'.$file);
     print FILE $mail->as_string;
     close( FILE );
     
     foreach ( keys %{$members} )
     {
 	#Prepare the destinataire for the mail
-	push( @tos , $_ ) if( $members->{$_}{perm} == Vhffs::Constants::ML_RIGHT_ADMIN );
+	push( @tos , $_ ) if( $members->{$_}{'perm'} == Vhffs::Constants::ML_RIGHT_ADMIN );
     }
 
     $header = new Mail::Header( );
     $header->replace( 'From' ,  $LISTMASTER );
     $header->replace( 'To' ,  join(', ' , @tos) );
-    $header->replace( 'Subject' ,  "moderate $filehash" );
-    $header->replace( 'Reply-To' , $list->get_localpart ."-request"."\@".$list->get_domain);
+    $header->replace( 'Subject' ,  'moderate '.$filehash );
+    $header->replace( 'Reply-To' , $list->get_listrequestname );
         
     $email = Mail::Internet->new(  [ <> ]  , 
 				   Header => $header,
 				   Body => Vhffs::Listengine::mail_moderate_message( $list , $filehash , $from , $subject )
 				   );
     
-    sendmail( $email , \@tos ) if( ( defined $email ) && ( $#tos >= 0 ) );
+    sendmail( $email , \@tos );
 }
 
 
@@ -245,7 +246,7 @@
 
     if( $sub_ctrl == Vhffs::Constants::ML_SUBSCRIBE_CLOSED )
     {
-	$message = "Subscription are not allowed for this list";
+	$message = 'Subscription are not allowed for this list';
 	push @body , $message ;	
 	push @body , "\n";
 	
@@ -272,7 +273,7 @@
 	    my $subject = 'confirm subscribe '.$pass;
 	    $subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 	    $header->replace( 'Subject' ,  $subject );
-	    $header->replace( 'Reply-To' , $list->get_localpart ."-request"."\@".$list->get_domain);
+	    $header->replace( 'Reply-To' , $list->get_listrequestname);
 	    
 	    $email = Mail::Internet->new(  [ <> ]  , 
 					   Header => $header,
@@ -295,7 +296,7 @@
 	}
     }
 
-    sendmail( $email , $from ) if( defined $email );
+    sendmail( $email , $from );
 }
 
 
@@ -318,7 +319,7 @@
 
 	if( ( $hash == -1 ) || ( $hash == -2 ) )
 	{
-	    $header->replace( 'Subject' ,  "error while unsubscribe" );
+	    $header->replace( 'Subject' ,  'error while unsubscribe' );
 	    $email = Mail::Internet->new(  [ <> ] , 
 					   Header => $header ,
 					   Body => Vhffs::Listengine::mail_sub_not_exist( $list , $from )
@@ -326,7 +327,7 @@
 	}
 	elsif( $hash == -3 )
 	{
-	    $header->replace( 'Subject' ,  "Error while unsubscribe" );
+	    $header->replace( 'Subject' ,  'Error while unsubscribe' );
 	    #If $hash == -3, the subscriber was not a subscriber or admin but has different rights (waiting for confirm ...)
 	    $email = Mail::Internet->new(  [ <> ] , 
 					      Header => $header ,
@@ -335,8 +336,8 @@
 	}
 	else
 	{
-	    $header->replace( 'Subject' ,  "confirm unsubscribe $hash" );
-	    $header->replace( 'Reply-To' , $list->get_localpart ."-request"."\@".$list->get_domain);
+	    $header->replace( 'Subject' ,  'confirm unsubscribe '.$hash );
+	    $header->replace( 'Reply-To' , $list->get_listrequestname);
 	    
 	    $email = Mail::Internet->new(  [ <> ] , 
 					   Header => $header ,
@@ -365,7 +366,7 @@
 		my $subject = 'Successfully subscribed';
 		$subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 		$header->replace( 'Subject' , $subject );
-		$header->replace('Date' , gmtime()." +00");
+		$header->replace('Date' , datetime_rfc2822() );
 
 		# validation needed or not ?
 		if( $list->get_sub_ctrl == Vhffs::Constants::ML_SUBSCRIBE_APPROVAL_REQUIRED )  {
@@ -394,14 +395,14 @@
 			my $subject = 'approval '.$from;
 			$subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 			$header->replace( 'Subject' , $subject );
-			$header->replace( 'Reply-To' , $list->get_localpart ."-request"."\@".$list->get_domain);
+			$header->replace( 'Reply-To' , $list->get_listrequestname);
 
 			$email = Mail::Internet->new(  [ <> ]  , 
 				   Header => $header,
 				   Body => Vhffs::Listengine::mail_moderate_subscriber( $list , $from , $pass )
 				   );
     
-			sendmail( $email , \@tos ) if( ( defined $email ) && ( $#tos >= 0 ) );
+			sendmail( $email , \@tos );
 		}
 		else  {
 
@@ -423,7 +424,7 @@
 	    my $subject = 'Subscribe error';
 	    $subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 	    $header->replace( 'Subject' , $subject );
-    	    $header->replace('Date' , gmtime()." +00");
+    	    $header->replace('Date' , datetime_rfc2822() );
 	    
 	    my $email = Mail::Internet->new(  [ <> ] , 
 					      Header => $header ,
@@ -452,8 +453,8 @@
 	    $header = new Mail::Header( );
 	    $header->replace( 'To' ,  $from );
 	    $header->replace( 'From' ,  $LISTMASTER );
-	    $header->replace( 'Subject' , "Successfully unsubscribe" );
-    	    $header->replace('Date' , gmtime()." +00");
+	    $header->replace( 'Subject' , 'Successfully unsubscribe' );
+    	    $header->replace('Date' , datetime_rfc2822() );
 	    
 	    
 	    $email = Mail::Internet->new(  [ <> ] , 
@@ -500,7 +501,7 @@
 		my $subject = 'Subscription accepted';
 		$subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 		$header->replace( 'Subject' , $subject );
-		$header->replace('Date' , gmtime()." +00");
+		$header->replace('Date' , datetime_rfc2822() );
 
 		my $email = Mail::Internet->new(  [ <> ] ,
 			Header => $header ,
@@ -518,7 +519,7 @@
 		# send a mail to all admins
 		foreach ( keys %{$members} )
 		{
-			push( @tos , $_ ) if( $members->{$_}{perm} == Vhffs::Constants::ML_RIGHT_ADMIN );
+			push( @tos , $_ ) if( $members->{$_}{'perm'} == Vhffs::Constants::ML_RIGHT_ADMIN );
 		}
 
 		$header = new Mail::Header( );
@@ -533,7 +534,7 @@
 			   Body => Vhffs::Listengine::mail_moderate_subscription_accept_ack( $list , $subscriber )
 			   );
     
-		sendmail( $email , \@tos ) if( ( defined $email ) && ( $#tos >= 0 ) );		
+		sendmail( $email , \@tos );	
     }
     else
     {
@@ -543,7 +544,7 @@
 	    my $subject = 'Subscription moderation error';
 	    $subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 	    $header->replace( 'Subject' , $subject );
-    	    $header->replace('Date' , gmtime()." +00");
+    	    $header->replace('Date' , datetime_rfc2822() );
 	    
 	    my $email = Mail::Internet->new(  [ <> ] , 
 					      Header => $header ,
@@ -573,7 +574,7 @@
 		my $subject = 'Subscription refused';
 		$subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 		$header->replace( 'Subject' , $subject );
-		$header->replace('Date' , gmtime()." +00");
+		$header->replace('Date' , datetime_rfc2822() );
 
 		my $email = Mail::Internet->new(  [ <> ] ,
 			Header => $header ,
@@ -590,7 +591,7 @@
 		# send a mail to all admins
 		foreach ( keys %{$members} )
 		{
-			push( @tos , $_ ) if( $members->{$_}{perm} == Vhffs::Constants::ML_RIGHT_ADMIN );
+			push( @tos , $_ ) if( $members->{$_}{'perm'} == Vhffs::Constants::ML_RIGHT_ADMIN );
 		}
 
 		$header = new Mail::Header( );
@@ -605,7 +606,7 @@
 			   Body => Vhffs::Listengine::mail_moderate_subscription_refuse_ack( $list , $subscriber )
 			   );
     
-		sendmail( $email , \@tos ) if( ( defined $email ) && ( $#tos >= 0 ) );		
+		sendmail( $email , \@tos );	
     }
     else
     {
@@ -615,7 +616,7 @@
 	    my $subject = 'Subscription moderation error';
 	    $subject = '['.$list->get_prefix.'] '.$subject if( length( $list->get_prefix ) > 0 );
 	    $header->replace( 'Subject' , $subject );
-    	    $header->replace('Date' , gmtime()." +00");
+    	    $header->replace('Date' , datetime_rfc2822() );
 	    
 	    my $email = Mail::Internet->new(  [ <> ] , 
 					      Header => $header ,
@@ -633,34 +634,32 @@
 {
 	my $mail = shift;
 	my $list = shift;
-	my $listmail = $list->get_localpart . "\@" . $list->get_domain;
 	my $subs = $list->get_members;
    
 	my @tos;
 
 	add_list_header( $mail , $list );
 
-	#Add prefix if not null
-	my $subject = $mail->get('Subject');
-	my $tsubject = $subject;
-	$tsubject =~ s/[\n\r]//g;
+	# Add prefix if not null
 	my $prefix = $list->get_prefix;
-	my $qprefix = quotemeta $prefix;
-	unless ( $tsubject =~ /\[$qprefix\]/)
-	{
-		$mail->replace( 'Subject' , '['.$prefix.'] '.$subject ) if( length( $prefix ) > 0 );
+	if( length( $prefix ) > 0 ) {
+		my $subject = $mail->get('Subject');
+		my $tsubject = Encode::decode('MIME-Header', $subject);
+		$tsubject =~ s/[\n\r]//g;
+		my $qprefix = quotemeta $prefix;
+		$mail->replace( 'Subject' , '['.$prefix.'] '.$subject ) unless ( $tsubject =~ /\[$qprefix\]/ );
 	}
 
 	# Add list's signature at the bottom of mail
 	if(defined(my $signature = $list->get_signature)) {
 		my $body = $mail->body;
-		push @$body, "---\n".$signature;
+		push @$body, '---'."\n".$signature."\n";
 	}
 
 	foreach ( keys %{$subs} )
 	{
 		#Send mail to user if he is a confirmed subscriber
-		push( @tos , $_ ) if( $subs->{$_}{perm} != Vhffs::Constants::ML_RIGHT_SUB_WAITING_FOR_REPLY  &&  $subs->{$_}{member} ne $listmail );
+		push( @tos , $_ ) if( $subs->{$_}{'perm'} != Vhffs::Constants::ML_RIGHT_SUB_WAITING_FOR_REPLY  &&  $subs->{$_}{'member'} ne $list->get_listname );
 	}
 
 	sendmail( $mail , \@tos );
@@ -675,29 +674,29 @@
 
 	exit -1 if( ! defined $list );
     
-	my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([a\.-zA-Z_\-0-9^\s]+)\.(\w+))/);
+	my ( $from ) = ( $mail->get('From') =~ /([^\s\@<"]+\@[^">\@\s]+)>?[^\@]*$/ );
         $from = lc $from;
 	my $subject = $mail->get('Subject');
 	my $subs = $list->get_members;
     
 	# we need to know if the sender is a member, an admin, or other
-	my $user_class = "other";  #assume other
-	$user_class = "member" if( defined $subs->{$from}  &&  $subs->{$from}{perm} == Vhffs::Constants::ML_RIGHT_SUB );
-	$user_class = "admin" if( defined $subs->{$from}  &&  $subs->{$from}{perm} == Vhffs::Constants::ML_RIGHT_ADMIN );
+	my $user_class = 'other';  #assume other
+	$user_class = 'member' if( defined $subs->{$from}  &&  $subs->{$from}{'perm'} == Vhffs::Constants::ML_RIGHT_SUB );
+	$user_class = 'admin' if( defined $subs->{$from}  &&  $subs->{$from}{'perm'} == Vhffs::Constants::ML_RIGHT_ADMIN );
 
 	my $post_ctrl = $list->get_post_ctrl;
 
-	if( $user_class eq "admin"  ||  $post_ctrl == Vhffs::Constants::ML_POSTING_OPEN_ALL )  {
+	if( $user_class eq 'admin'  ||  $post_ctrl == Vhffs::Constants::ML_POSTING_OPEN_ALL )  {
 		sendmail_to_list( $mail , $list );
 	}
-	elsif ( $user_class eq "member" )  {
+	elsif ( $user_class eq 'member' )  {
 		if( $post_ctrl == Vhffs::Constants::ML_POSTING_MEMBERS_ONLY  ||  $post_ctrl == Vhffs::Constants::ML_POSTING_OPEN_MEMBERS_MODERATED_OTHERS ) {
 			sendmail_to_list( $mail , $list )
 		} elsif ( $post_ctrl == Vhffs::Constants::ML_POSTING_MODERATED_ALL  ||  $post_ctrl == Vhffs::Constants::ML_POSTING_MEMBERS_ONLY_MODERATED ) {
 			put_in_moderation( $mail , $list );
 		}
 	}
-	elsif ( $user_class eq "other" )  {
+	elsif ( $user_class eq 'other' )  {
 		if( $post_ctrl == Vhffs::Constants::ML_POSTING_MODERATED_ALL  ||  $post_ctrl == Vhffs::Constants::ML_POSTING_OPEN_MEMBERS_MODERATED_OTHERS ) {
 			put_in_moderation( $mail , $list );		
 		}
@@ -708,7 +707,7 @@
 sub get_moderation_dir
 {
     my $list = shift;
-    return( $DIRECTORY . "/moderation/" . $list->get_domain . "/" . $list->get_localpart  );
+    return( $DIRECTORY . '/moderation/' . $list->get_domain . '/' . $list->get_localpart  );
 }
 
 sub validate_message
@@ -718,7 +717,7 @@
     my @tempmail;
     chomp( $hash );
     my $dir  = get_moderation_dir( $list );
-    my $file = $dir . "/" . $hash;
+    my $file = $dir . '/' . $hash;
    
     return -1 if( ! -d $dir );
     return -2 if( ! -f $file );
@@ -748,7 +747,7 @@
     my $hash = shift;
     chomp( $hash );
     my $dir  = get_moderation_dir( $list );
-    my $file = $dir . "/" . $hash;
+    my $file = $dir . '/' . $hash;
     return -1 if( ! -d $dir );
     return -2 if( ! -f $file );
 
@@ -771,7 +770,7 @@
 
     if( ! -d $dir )
     {
-	push( @result , gettext("No message to moderate") );
+	push( @result , gettext('No message to moderate') );
 	push( @result , "\n" );
     }
     else
@@ -782,16 +781,16 @@
 	foreach $file ( @files )
 	{
 	    next if( ( $file eq '.' ) || ( $file eq '..' ) );
-	    $complete = $dir . "/" . $file ;
+	    $complete = $dir . '/' . $file ;
 	    
 	    if( -f $complete )
 	    {
 		$mail = fetch_mail_from_file( $complete );
 		next if( ! defined $mail );
 		
-		push( @result , "Sender: " . $mail->get('From:') );
-		push( @result , "Subject: " . $mail->get('Subject:') );
-		push( @result , "Id in listengine: " . $file );
+		push( @result , 'Sender: ' . $mail->get('From:') );
+		push( @result , 'Subject: ' . $mail->get('Subject:') );
+		push( @result , 'Id in listengine: ' . $file );
 		push( @result , "\n\n");
 	    }
 	}
@@ -816,7 +815,7 @@
     my $mail = shift;
     my $list = shift;
 
-    my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([\.a-zA-Z_\-0-9^\s]+)\.(\w+))/);
+    my ( $from ) = ( $mail->get('From') =~ /([^\s\@<"]+\@[^">\@\s]+)>?[^\@]*$/ );
     $from = lc $from;
     my $subject = $mail->get('Subject');
     my $action;
@@ -832,8 +831,8 @@
 	#If the user specified a lang, we change it to get internationalized messages
 	if( defined $lang )
 	{
-		bindtextdomain("vhffs", '%localedir%');
-		textdomain("vhffs");
+		bindtextdomain('vhffs', '%localedir%');
+		textdomain('vhffs');
 	}
 
 
@@ -845,8 +844,8 @@
 			     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine help") );
-    	$email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine help') );
+    	$email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
     }
     elsif( $subject =~ /^subscribe$/i )
@@ -867,8 +866,8 @@
 					 );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine help") );
-		$email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine help') );
+		$email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	}
 	else
@@ -878,8 +877,8 @@
 					 );
 	    $email->replace('From' ,  $LISTMASTER );
 	    $email->replace('To' ,  $from );
-	    $email->replace('Subject' , gettext("listengine help") );
-    	    $email->replace('Date' , gmtime()." +00");
+	    $email->replace('Subject' , gettext('listengine help') );
+    	    $email->replace('Date' , datetime_rfc2822() );
 	    sendmail( $email , $from );
 	}
     }
@@ -895,8 +894,8 @@
 					 );
 	    $email->replace('From' ,  $LISTMASTER );
 	    $email->replace('To' ,  $from );
-	    $email->replace('Subject' , gettext("listengine result command") );
-    	    $email->replace('Date' , gmtime()." +00");
+	    $email->replace('Subject' , gettext('listengine result command') );
+    	    $email->replace('Date' , datetime_rfc2822() );
 	    sendmail( $email , $from );
 	   
 	}
@@ -910,8 +909,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	    }
 	    else
@@ -921,8 +920,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	    }
 	 
@@ -937,8 +936,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 		return;
 	    }
@@ -949,8 +948,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	    }
 	    return;
@@ -962,8 +961,8 @@
 					 );
 	    $email->replace('From' ,  $LISTMASTER );
 	    $email->replace('To' ,  $from );
-	    $email->replace('Subject' , sprintf( gettext("listengine - list of messages to moderate for %s") , $list->get_listname  ) );
-    	    $email->replace('Date' , gmtime()." +00");
+	    $email->replace('Subject' , sprintf( gettext('listengine - list of messages to moderate for %s') , $list->get_listname  ) );
+    	    $email->replace('Date' , datetime_rfc2822() );
 	    sendmail( $email , $from );
 	    return;
 	}
@@ -976,8 +975,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	    }
 	    else
@@ -987,8 +986,8 @@
 					     );
 		$email->replace('From' ,  $LISTMASTER );
 		$email->replace('To' ,  $from );
-		$email->replace('Subject' , gettext("listengine moderation") );
-    	        $email->replace('Date' , gmtime()." +00");
+		$email->replace('Subject' , gettext('listengine moderation') );
+    	        $email->replace('Date' , datetime_rfc2822() );
 		sendmail( $email , $from );
 	    }
 	}
@@ -1028,8 +1027,8 @@
 			     );
 		$mail->replace('From' ,  $LISTMASTER );
 		$mail->replace('To' ,  $from );
-		$mail->replace('Subject' , gettext("listengine: unknown command") );
-  	  	$mail->replace('Date' , gmtime()." +00");
+		$mail->replace('Subject' , gettext('listengine: unknown command') );
+  	  	$mail->replace('Date' , datetime_rfc2822() );
 		sendmail( $mail , $from );
     }
 
@@ -1107,15 +1106,15 @@
 sub get_lang
 {
     my $mail = shift;
-    my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([\.a-zA-Z_\-0-9^\s]+)\.(\w+))/);
+    my ( $from ) = ( $mail->get('From') =~ /([^\s\@<"]+\@[^">\@\s]+)>?[^\@]*$/ );
     $from = lc $from;
 
     my $lang = Vhffs::Services::MailingList::get_language_for_sub( $vhffs , $from );
     if( defined $lang )
     {	
 	#Change current locale to user preferences if defined
-		bindtextdomain("vhffs", '%localedir%');
-		textdomain("vhffs");
+		bindtextdomain('vhffs', '%localedir%');
+		textdomain('vhffs');
 		setlocale(LC_ALL, $lang  );
     }
 }
@@ -1127,15 +1126,16 @@
 ##############################
 sub verify_mail_with_list
 {
-        my $list = shift;
-        my $mail = shift;
+	my $list = shift;
+	my $mail = shift;
 
-	my ( $from ) = ( $mail->get('From') =~ /(([\+\.a-zA-Z_\-0-9^\s]+)@([\.a-zA-Z_\-0-9^\s]+)\.(\w+))/);
+	my ( $from ) = ( $mail->get('From') =~ /([^\s\@<"]+\@[^">\@\s]+)>?[^\@]*$/ );
+	exit( 0 ) unless defined $from;
+	exit( 0 ) if( $from eq '' );
+
 	$from = lc $from;
-
-        my $temp = $list->get_localpart."-request\@".$list->get_domain;
-        exit( 0 ) if( $from eq $list->get_listname);
-        exit( 0 ) if( $from eq $temp);
+	#there is no reason to accept From set to the request address
+	exit( 0 ) if( $from eq $list->get_listrequestname );
 }
 
 
@@ -1155,7 +1155,7 @@
 
 #Build the list object from VHFFS
 my $list = Vhffs::Services::MailingList::get_by_mladdress( $vhffs , $lpart , $domain );
-exit( 0 ) if(!defined $list);
+exit( 0 ) unless defined $list;
 
 
 verify_mail_with_list( $list , $mail );


Property changes on: branches/vhffs-design/vhffs-mw
___________________________________________________________________
Added: svn:ignore
   + Makefile
Makefile.in


Copied: branches/vhffs-design/vhffs-mw/Makefile.am (from rev 1556, trunk/vhffs-mw/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-mw/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-mw/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,6 @@
+if INSTALL_EXTRA
+
+mediawikidir=@EXTRADIR@/mediawiki
+dist_mediawiki_DATA=VHFFSAuthPlugin.php
+
+endif

Modified: branches/vhffs-design/vhffs-packages/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-packages/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,9 +1,14 @@
 EXTRA_DIST = \
-	mysql40/mysql-mysqldb.patch.sql \
+	mysql40/mysqldb.patch.sql \
 	mysql40/output \
-	mysql40/mysql-username-len.patch \
+	mysql40/username-len.patch \
 	mysql40/mysql-server.README.Debian.addon \
 	mysql40/build \
+	mysql41/mysqldb.patch.sql \
+	mysql41/output \
+	mysql41/username-len.patch \
+	mysql41/mysql-server.README.Debian.addon \
+	mysql41/build \
 	oldbuildwithdput.pl \
 	buildall.sh \
 	old/php/output \
@@ -15,14 +20,8 @@
 	old/suphp/build \
 	old/suphp/argv.patch \
 	old/suphp/suphp.h.patch \
-	mysql41/mysql-mysqldb.patch.sql \
-	mysql41/output \
-	mysql41/mysql-username-len.patch \
-	mysql41/mysql-server.README.Debian.addon \
-	mysql41/build \
-	patches/pureftpd-passivemodeandssl.patch \
-	patches/mysql-username-len.patch \
-	patches/pureftpd-customerproof-tf.patch \
+	patches/pureftpd/passivemodeandssl.patch \
+	patches/pureftpd/customerproof-tf.patch \
 	pure-ftpd/output \
 	pure-ftpd/build \
 	README

Deleted: branches/vhffs-design/vhffs-packages/mysql40/mysql-mysqldb.patch.sql
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql40/mysql-mysqldb.patch.sql	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/mysql40/mysql-mysqldb.patch.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,6 +0,0 @@
-USE mysql ;
-ALTER TABLE `columns_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `db` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `host` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL ;
-ALTER TABLE `tables_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `user` CHANGE `Host` `Host` VARCHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` VARCHAR( 128 ) BINARY NOT NULL ;

Deleted: branches/vhffs-design/vhffs-packages/mysql40/mysql-username-len.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql40/mysql-username-len.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/mysql40/mysql-username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,14 +0,0 @@
-diff -Nru a/include/mysql_com.h b/include/mysql_com.h
---- a/include/mysql_com.h	2004-09-07 00:29:46.000000000 +0200
-+++ b/include/mysql_com.h	2004-11-07 23:33:36.000000000 +0100
-@@ -22,8 +22,8 @@
- #define _mysql_com_h
- 
- #define NAME_LEN	64		/* Field/table name length */
--#define HOSTNAME_LENGTH 60
--#define USERNAME_LENGTH 16
-+#define HOSTNAME_LENGTH 64
-+#define USERNAME_LENGTH 128
- #define SERVER_VERSION_LENGTH 60
- 
- #define LOCAL_HOST	"localhost"

Copied: branches/vhffs-design/vhffs-packages/mysql40/mysqldb.patch.sql (from rev 1556, trunk/vhffs-packages/mysql40/mysqldb.patch.sql)
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql40/mysqldb.patch.sql	                        (rev 0)
+++ branches/vhffs-design/vhffs-packages/mysql40/mysqldb.patch.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,6 @@
+USE mysql ;
+ALTER TABLE `columns_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `db` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `host` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL ;
+ALTER TABLE `tables_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `user` CHANGE `Host` `Host` VARCHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` VARCHAR( 128 ) BINARY NOT NULL ;

Copied: branches/vhffs-design/vhffs-packages/mysql40/username-len.patch (from rev 1556, trunk/vhffs-packages/mysql40/username-len.patch)
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql40/username-len.patch	                        (rev 0)
+++ branches/vhffs-design/vhffs-packages/mysql40/username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,14 @@
+diff -Nru a/include/mysql_com.h b/include/mysql_com.h
+--- a/include/mysql_com.h	2004-09-07 00:29:46.000000000 +0200
++++ b/include/mysql_com.h	2004-11-07 23:33:36.000000000 +0100
+@@ -22,8 +22,8 @@
+ #define _mysql_com_h
+ 
+ #define NAME_LEN	64		/* Field/table name length */
+-#define HOSTNAME_LENGTH 60
+-#define USERNAME_LENGTH 16
++#define HOSTNAME_LENGTH 64
++#define USERNAME_LENGTH 128
+ #define SERVER_VERSION_LENGTH 60
+ 
+ #define LOCAL_HOST	"localhost"

Deleted: branches/vhffs-design/vhffs-packages/mysql41/mysql-mysqldb.patch.sql
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql41/mysql-mysqldb.patch.sql	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/mysql41/mysql-mysqldb.patch.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,6 +0,0 @@
-USE mysql ;
-ALTER TABLE `columns_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `db` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `host` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL ;
-ALTER TABLE `tables_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
-ALTER TABLE `user` CHANGE `Host` `Host` VARCHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` VARCHAR( 128 ) BINARY NOT NULL ;

Deleted: branches/vhffs-design/vhffs-packages/mysql41/mysql-username-len.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql41/mysql-username-len.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/mysql41/mysql-username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,14 +0,0 @@
-diff -Nru a/include/mysql_com.h b/include/mysql_com.h
---- a/include/mysql_com.h	2004-09-07 00:29:46.000000000 +0200
-+++ b/include/mysql_com.h	2004-11-07 23:33:36.000000000 +0100
-@@ -22,8 +22,8 @@
- #define _mysql_com_h
- 
- #define NAME_LEN	64		/* Field/table name length */
--#define HOSTNAME_LENGTH 60
--#define USERNAME_LENGTH 16
-+#define HOSTNAME_LENGTH 64
-+#define USERNAME_LENGTH 128
- #define SERVER_VERSION_LENGTH 60
- 
- #define LOCAL_HOST	"localhost"

Copied: branches/vhffs-design/vhffs-packages/mysql41/mysqldb.patch.sql (from rev 1556, trunk/vhffs-packages/mysql41/mysqldb.patch.sql)
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql41/mysqldb.patch.sql	                        (rev 0)
+++ branches/vhffs-design/vhffs-packages/mysql41/mysqldb.patch.sql	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,6 @@
+USE mysql ;
+ALTER TABLE `columns_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `db` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `host` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL ;
+ALTER TABLE `tables_priv` CHANGE `Host` `Host` CHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` CHAR( 128 ) BINARY NOT NULL ;
+ALTER TABLE `user` CHANGE `Host` `Host` VARCHAR( 64 ) BINARY NOT NULL , CHANGE `User` `User` VARCHAR( 128 ) BINARY NOT NULL ;

Copied: branches/vhffs-design/vhffs-packages/mysql41/username-len.patch (from rev 1556, trunk/vhffs-packages/mysql41/username-len.patch)
===================================================================
--- branches/vhffs-design/vhffs-packages/mysql41/username-len.patch	                        (rev 0)
+++ branches/vhffs-design/vhffs-packages/mysql41/username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,14 @@
+diff -Nru a/include/mysql_com.h b/include/mysql_com.h
+--- a/include/mysql_com.h	2004-09-07 00:29:46.000000000 +0200
++++ b/include/mysql_com.h	2004-11-07 23:33:36.000000000 +0100
+@@ -22,8 +22,8 @@
+ #define _mysql_com_h
+ 
+ #define NAME_LEN	64		/* Field/table name length */
+-#define HOSTNAME_LENGTH 60
+-#define USERNAME_LENGTH 16
++#define HOSTNAME_LENGTH 64
++#define USERNAME_LENGTH 128
+ #define SERVER_VERSION_LENGTH 60
+ 
+ #define LOCAL_HOST	"localhost"

Deleted: branches/vhffs-design/vhffs-packages/patches/mod_partialcontentabuse.c
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/mod_partialcontentabuse.c	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/mod_partialcontentabuse.c	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,67 +0,0 @@
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "base.h"
-#include "log.h"
-#include "buffer.h"
-
-#include "plugin.h"
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-INIT_FUNC(mod_partialcontentabuse_init) {
-	return malloc(1);
-}
-
-FREE_FUNC(mod_partialcontentabuse_free) {
-
-	UNUSED(srv);
-	if(p_d) free(p_d);
-	return HANDLER_GO_ON;
-}
-
-SETDEFAULTS_FUNC(mod_partialcontentabuse_set_defaults) {
-
-	UNUSED(srv);
-	UNUSED(p_d);
-	return HANDLER_GO_ON;
-}
-
-URIHANDLER_FUNC(mod_partialcontentabuse_uri_handler) {
-	size_t i;
-
-	UNUSED(srv);
-	UNUSED(p_d);
-
-	if (con->uri.path->used == 0) return HANDLER_GO_ON;
-	if ( !con->request.http_range ) return HANDLER_GO_ON;
-
-	for (i = 0; i < srv->conns->used; i++) {
-		connection *c = srv->conns->ptr[i];
-
-		if ( c != con && c->dst_addr.ipv4.sin_addr.s_addr == con->dst_addr.ipv4.sin_addr.s_addr && c->state > CON_STATE_REQUEST_END
-		  && c->uri.path->used > 0 && !strcmp( c->uri.path->ptr , con->uri.path->ptr) )  {
-			con->http_status = 403;
-			return HANDLER_FINISHED;
-		}
-	}
-
-	return HANDLER_GO_ON;
-}
-
-int mod_partialcontentabuse_plugin_init(plugin *p) {
-	p->version     = LIGHTTPD_VERSION_ID;
-	p->name        = buffer_init_string("partialcontentabuse");
-
-	p->init        = mod_partialcontentabuse_init;
-	p->handle_uri_clean  = mod_partialcontentabuse_uri_handler;
-	p->set_defaults  = mod_partialcontentabuse_set_defaults;
-	p->cleanup     = mod_partialcontentabuse_free;
-
-	p->data        = NULL;
-
-	return 0;
-}

Deleted: branches/vhffs-design/vhffs-packages/patches/mydns-1.1.0-7etch1-fix-bug-long-txt-reply.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/mydns-1.1.0-7etch1-fix-bug-long-txt-reply.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/mydns-1.1.0-7etch1-fix-bug-long-txt-reply.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,12 +0,0 @@
-diff -Nru a/src/mydns/reply.c b/src/mydns/reply.c
---- a/src/mydns/reply.c	2008-11-07 15:22:55.000000000 +0100
-+++ b/src/mydns/reply.c	2008-11-07 15:22:43.000000000 +0100
-@@ -571,7 +571,7 @@
- reply_add_txt(TASK *t, RR *r)
- {
- 	char		*dest;
--	char		size;
-+	size_t		size;
- 	size_t	len;
- 	MYDNS_RR	*rr = (MYDNS_RR *)r->rr;
- 

Deleted: branches/vhffs-design/vhffs-packages/patches/mysql-5.0.32-username-len.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/mysql-5.0.32-username-len.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/mysql-5.0.32-username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,14 +0,0 @@
-diff -Nru a/include/mysql_com.h b/include/mysql_com.h
---- a/include/mysql_com.h	2004-09-07 00:29:46.000000000 +0200
-+++ b/include/mysql_com.h	2004-11-07 23:33:36.000000000 +0100
-@@ -22,8 +22,8 @@
- #define _mysql_com_h
- 
- #define NAME_LEN	64		/* Field/table name length */
--#define HOSTNAME_LENGTH 60
--#define USERNAME_LENGTH 16
-+#define HOSTNAME_LENGTH 64
-+#define USERNAME_LENGTH 128
- #define SERVER_VERSION_LENGTH 60
- 
- #define LOCAL_HOST	"localhost"

Deleted: branches/vhffs-design/vhffs-packages/patches/mysql-5.1.30-username-len.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/mysql-5.1.30-username-len.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/mysql-5.1.30-username-len.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,16 +0,0 @@
-diff -Nru a/include/mysql_com.h b/include/mysql_com.h
---- a/include/mysql_com.h	2008-12-24 16:14:50.000000000 +0000
-+++ b/include/mysql_com.h	2008-12-24 16:15:44.000000000 +0000
-@@ -20,10 +20,10 @@
- #ifndef _mysql_com_h
- #define _mysql_com_h
- 
--#define HOSTNAME_LENGTH 60
-+#define HOSTNAME_LENGTH 64
- #define SYSTEM_CHARSET_MBMAXLEN 3
- #define NAME_CHAR_LEN	64              /* Field/table name length */
--#define USERNAME_CHAR_LENGTH 16
-+#define USERNAME_CHAR_LENGTH 128
- #define NAME_LEN                (NAME_CHAR_LEN*SYSTEM_CHARSET_MBMAXLEN)
- #define USERNAME_LENGTH         (USERNAME_CHAR_LENGTH*SYSTEM_CHARSET_MBMAXLEN)
- 

Deleted: branches/vhffs-design/vhffs-packages/patches/pureftpd-customerproof-tf.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/pureftpd-customerproof-tf.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/pureftpd-customerproof-tf.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,32 +0,0 @@
-diff -Nru a/src/ftpd.c b/src/ftpd.c
---- a/src/ftpd.c	2006-09-30 18:40:57.000000000 +0200
-+++ b/src/ftpd.c	2006-09-30 18:40:45.000000000 +0200
-@@ -2499,9 +2499,14 @@
- # endif
-     if (st2.st_ino == root_st_ino && st2.st_dev == root_st_dev) {
-         mode |= 0700;
--    } else if (be_customer_proof != 0) {
--        mode |= (S_ISDIR(st2.st_mode) ? 0700 : 0600);
-     }
-+
-+// TF PATCH: forces 02700 on dir, and 0400 on files
-+    else if (be_customer_proof != 0) {
-+        mode |= (S_ISDIR(st2.st_mode) ? 02700 : 0400);
-+    }
-+// TF PATCH: end
-+
-     if (fchmod(fd, mode) < 0 && chmod(name, mode) < 0) {
-         failure:
-         if (fd != -1) {
-@@ -3362,6 +3367,11 @@
- #endif
-         error(550, MSG_MKD_FAILURE);
-     } else {
-+
-+	// TF PATCH: force SGID upon creation of directories
-+	chmod(name, (mode_t) (02777 & ~u_mask_d) );
-+	// TF PATCH: end
-+
-         addreply(257, "\"%s\" : " MSG_MKD_SUCCESS, name);
-     }
- #ifdef QUOTAS

Deleted: branches/vhffs-design/vhffs-packages/patches/pureftpd-passivemodeandssl.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/pureftpd-passivemodeandssl.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/pureftpd-passivemodeandssl.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,20 +0,0 @@
-diff -Nru a/src/ftpd.c b/src/ftpd.c
---- a/src/ftpd.c	2007-06-02 01:37:14.000000000 +0000
-+++ b/src/ftpd.c	2007-06-02 01:49:57.000000000 +0000
-@@ -3443,11 +3443,11 @@
-     if (disallow_passive != 0) {
-         feat[sizeof FEAT FEAT_DEBUG FEAT_TVFS FEAT_ESTP] = 0;
-     }
--#ifndef MINIMAL
--    else if (STORAGE_FAMILY(force_passive_ip) != 0) {
--        feat[sizeof FEAT FEAT_DEBUG FEAT_TVFS FEAT_ESTP FEAT_PASV] = 0;
--    }
--#endif
-+// TF PATCH: disable the disabling of ssl when a passive ip is forced (a pool of forwarded ports makes passive mode working again)
-+//    else if (STORAGE_FAMILY(force_passive_ip) != 0) {
-+//        feat[sizeof FEAT FEAT_DEBUG FEAT_TVFS FEAT_ESTP FEAT_PASV] = 0;
-+//    }
-+// TF PATCH: end
-     addreply_noformat(0, feat);
-     addreply_noformat(211, "End.");
- }

Deleted: branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-directorygroupcheck.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-directorygroupcheck.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-directorygroupcheck.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,52 +0,0 @@
-diff -Nru a/src/Application.cpp b/src/Application.cpp
---- a/src/Application.cpp	2008-04-18 22:40:00.000000000 +0000
-+++ b/src/Application.cpp	2008-04-18 22:40:35.000000000 +0000
-@@ -361,8 +361,8 @@
- #endif // OPT_USERGROUP_PARANOID    
-     
-     // Check directory ownership and permissions
--    checkParentDirectories(realScriptFile, targetUser, config);
--    checkParentDirectories(scriptFile, targetUser, config);
-+    checkParentDirectories(realScriptFile, targetUser, targetGroup, config);
-+    checkParentDirectories(scriptFile, targetUser, targetGroup, config);
-     
-     // Common code used for all modes
- 
-@@ -559,17 +559,20 @@
- 
- 
- void suPHP::Application::checkParentDirectories(const File& file,
--                                               const UserInfo& owner,
-+                                               const UserInfo& user,
-+                                               const GroupInfo& group,
-                                                const Configuration& config) const throw (SoftException) {
-     File directory = file;
-     Logger& logger = API_Helper::getSystemAPI().getSystemLogger();
-     do {
-         directory = directory.getParentDirectory();
-         
--        UserInfo directoryOwner = directory.getUser();
--        if (directoryOwner != owner && !directoryOwner.isSuperUser()) {
-+
-+        UserInfo directoryUser = directory.getUser();
-+	GroupInfo directoryGroup = directory.getGroup();
-+        if (directoryGroup != group && !directoryUser.isSuperUser()) {
-             std::string error = "Directory " + directory.getPath()
--                + " is not owned by " + owner.getUsername();
-+                + " is not owned by group " + group.getGroupname();
-             logger.logWarning(error);
-             throw SoftException(error, __FILE__, __LINE__);
-         }
-diff -Nru a/src/Application.hpp b/src/Application.hpp
---- a/src/Application.hpp	2008-04-18 22:39:24.000000000 +0000
-+++ b/src/Application.hpp	2008-04-18 22:40:13.000000000 +0000
-@@ -112,7 +112,8 @@
-           * Checks ownership and permissions for parent directories
-           */
-          void checkParentDirectories(const File& file,
--                                     const UserInfo& owner,
-+                                     const UserInfo& user,
-+                                     const GroupInfo& group,
-                                      const Configuration& config) const
-              throw (SoftException);
- 

Deleted: branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-limits.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-limits.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/suphp-0.6.2-1+etch0-limits.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,507 +0,0 @@
-diff -Nru ./doc/suphp.conf-example ./doc/suphp.conf-example
---- ./doc/suphp.conf-example	2005-11-26 19:29:02.000000000 +0000
-+++ ./doc/suphp.conf-example	2008-04-18 09:40:25.000000000 +0000
-@@ -39,6 +39,66 @@
- min_gid=100
- 
- 
-+[limits]
-+
-+;The maximum size of the process's virtual memory (address space) in Kbytes
-+as_soft=65536
-+as_hard=65536
-+
-+;Maximum size of core file in Kbytes
-+core_soft=0
-+core_hard=0
-+
-+;CPU time limit in seconds
-+cpu_soft=32
-+cpu_hard=32
-+
-+;The maximum size of the process's data segment in Kbytes
-+data_soft=32768
-+data_hard=32768
-+
-+;The maximum size of files that the process may create
-+fsize_soft=unlimited
-+fsize_hard=unlimited
-+
-+;A limit on the combined number of flock(2) locks and fcntl(2) leases that this process may establish
-+locks_soft=512
-+locks_hard=512
-+
-+;The maximum number of Kbytes of memory that may be locked into RAM
-+memlock_soft=0
-+memlock_hard=0
-+
-+;Specifies the limit on the number of Kbytes that can be allocated for POSIX message queues for the real user ID of the calling process
-+msgqueue_soft=800
-+msgqueue_hard=800
-+
-+;Specifies a ceiling to which the process's nice value can be raised using setpriority(2) or nice(2)
-+;The actual ceiling for the nice value is calculated as 20 - rlim_cur
-+nice_soft=0
-+nice_hard=0
-+
-+;Specifies a value one greater than the maximum file descriptor number that can be opened by this process
-+nofile_soft=512
-+nofile_hard=512
-+
-+;The maximum number of processes (or, more precisely on Linux, threads) that can be created for the real user ID of the calling process
-+nproc_soft=10
-+nproc_hard=10
-+
-+;Specifies a ceiling on the real-time priority that may be set for this process using sched_setscheduler(2) and sched_setparam(2)
-+rtprio_soft=0
-+rtprio_hard=0
-+
-+;Specifies the limit on the number of signals that may be queued for the real user ID of the calling process
-+sigpending_soft=1024
-+sigpending_hard=1024
-+
-+;The maximum size of the process stack, in Kbytes
-+stack_soft=4096
-+stack_hard=4096
-+
-+
- [handlers]
- ;Handler for php-scripts
- x-httpd-php=php:/usr/bin/php
-diff -Nru ./src/Application.cpp ./src/Application.cpp
---- ./src/Application.cpp	2008-04-18 09:31:15.000000000 +0000
-+++ ./src/Application.cpp	2008-04-18 09:30:45.000000000 +0000
-@@ -366,6 +366,83 @@
-     
-     // Common code used for all modes
- 
-+	// BEGIN -- TuxFamily limits patch
-+	// Change limits
-+	struct rlimit rl;
-+#ifdef RLIMIT_AS
-+	rl = config.getLimitAS();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_AS, &rl);
-+#endif
-+#ifdef RLIMIT_CORE
-+	rl = config.getLimitCore();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_CORE, &rl);
-+#endif
-+#ifdef RLIMIT_CPU
-+	rl = config.getLimitCPU();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_CPU, &rl);
-+#endif
-+#ifdef RLIMIT_DATA
-+	rl = config.getLimitData();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_DATA, &rl);
-+#endif
-+#ifdef RLIMIT_FSIZE
-+	rl = config.getLimitFSize();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_FSIZE, &rl);
-+#endif
-+#ifdef RLIMIT_LOCKS
-+	rl = config.getLimitLocks();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_LOCKS, &rl);
-+#endif
-+#ifdef RLIMIT_MEMLOCK
-+	rl = config.getLimitMemLock();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_MEMLOCK, &rl);
-+#endif
-+#ifdef RLIMIT_MSGQUEUE
-+	rl = config.getLimitMsgQueue();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_MSGQUEUE, &rl);
-+#endif
-+#ifdef RLIMIT_NICE
-+	rl = config.getLimitNice();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED) {
-+		setrlimit(RLIMIT_NICE, &rl);
-+		nice(rl.rlim_cur);
-+	}
-+#endif
-+#ifdef RLIMIT_NOFILE
-+	rl = config.getLimitNoFile();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_NOFILE, &rl);
-+#endif
-+#ifdef RLIMIT_NPROC
-+	rl = config.getLimitNProc();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_NPROC, &rl);
-+#endif
-+#ifdef RLIMIT_RTPRIO
-+	rl = config.getLimitRtPrio();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_RTPRIO, &rl);
-+#endif
-+#ifdef RLIMIT_SIGPENDING
-+	rl = config.getLimitSigPending();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_SIGPENDING, &rl);
-+#endif
-+#ifdef RLIMIT_STACK
-+	rl = config.getLimitStack();
-+	if(rl.rlim_cur != SUPHP_LIMIT_UNDEFINED && rl.rlim_max != SUPHP_LIMIT_UNDEFINED)
-+		setrlimit(RLIMIT_STACK, &rl);
-+#endif
-+	// END -- TuxFamily limits patch
-+
-     // Set new group first, because we still need super-user privileges
-     // for this
-     api.setProcessGroup(targetGroup);
-diff -Nru ./src/Configuration.cpp ./src/Configuration.cpp
---- ./src/Configuration.cpp	2006-03-15 20:21:52.000000000 +0000
-+++ ./src/Configuration.cpp	2008-04-18 09:30:45.000000000 +0000
-@@ -20,6 +20,9 @@
- 
- #include <string>
- #include <vector>
-+// BEGIN -- TuxFamily limits patch
-+#include <sstream>
-+// END -- TuxFamily limits patch
- 
- #include "IniFile.hpp"
- #include "Util.hpp"
-@@ -65,6 +68,29 @@
- }
- 
- 
-+// BEGIN -- TuxFamily limits patch
-+rlim_t suPHP::Configuration::strToLimit(const std::string& bstr) {
-+
-+	std::string str = bstr;
-+	// Convert upper characters to lower characters
-+	for (int i=0; i<str.size(); i++) {
-+		if (str[i] >= 65 && str[i] <= 90)
-+		str[i] += 32;
-+	}
-+
-+	if (str == std::string("unlimited")) {
-+		return RLIM_INFINITY;
-+	} else  {
-+		rlim_t lim = SUPHP_LIMIT_UNDEFINED;
-+		std::istringstream istr;
-+		istr.str(str);
-+		istr >> lim;
-+		return lim;
-+	}
-+}
-+// END -- TuxFamily limits patch
-+
-+
- LogLevel suPHP::Configuration::strToLogLevel(const std::string& str) const
-     throw (ParsingException) {
-     if (str == "none")
-@@ -112,6 +138,36 @@
- #endif
-     this->umask = 0077;
-     this->chroot_path = "";
-+	// BEGIN -- TuxFamily limits patch
-+	this->limit_as.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_as.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_core.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_core.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_cpu.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_cpu.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_data.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_data.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_fsize.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_fsize.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_locks.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_locks.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_memlock.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_memlock.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_msgqueue.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_msgqueue.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nice.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nice.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nofile.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nofile.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nproc.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_nproc.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_rtprio.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_rtprio.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_sigpending.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_sigpending.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_stack.rlim_cur = SUPHP_LIMIT_UNDEFINED;	
-+	this->limit_stack.rlim_max = SUPHP_LIMIT_UNDEFINED;	
-+	// END -- TuxFamily limits patch
- }
- 
- void suPHP::Configuration::readFromFile(File& file) 
-@@ -178,7 +234,130 @@
- 	    this->handlers.insert(p);
- 	}
-     }
--    
-+
-+	// BEGIN -- TuxFamily limits patch
-+	// Get limits
-+	if (ini.hasSection("limits")) {
-+		IniSection sect = ini.getSection("limits");
-+		std::vector<std::string> keys = sect.getKeys();
-+		std::vector<std::string>::iterator i;
-+		for (i = keys.begin(); i < keys.end(); i++) {
-+			std::string key = *i;
-+			std::string value = sect.getValue(key);
-+
-+			if (key == "as_soft")  {
-+				this->limit_as.rlim_cur = this->strToLimit(value);
-+				if(this->limit_as.rlim_cur != RLIM_INFINITY)
-+					this->limit_as.rlim_cur <<= 10;
-+			}
-+			else if (key == "as_hard")  {
-+				this->limit_as.rlim_max = this->strToLimit(value);
-+				if(this->limit_as.rlim_max != RLIM_INFINITY)
-+					this->limit_as.rlim_max <<= 10;
-+			}
-+
-+			else if (key == "core_soft")  {
-+				this->limit_core.rlim_cur = this->strToLimit(value);
-+				if(this->limit_core.rlim_cur != RLIM_INFINITY)	
-+					this->limit_core.rlim_cur <<= 10;
-+			}
-+			else if (key == "core_hard")  {
-+				this->limit_core.rlim_max = this->strToLimit(value);
-+				if(this->limit_core.rlim_max != RLIM_INFINITY)
-+					this->limit_core.rlim_max <<= 10;
-+			}
-+
-+			else if (key == "cpu_soft")
-+				this->limit_cpu.rlim_cur = this->strToLimit(value);
-+			else if (key == "cpu_hard")
-+				this->limit_cpu.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "data_soft")  {
-+				this->limit_data.rlim_cur = this->strToLimit(value);
-+				if(this->limit_data.rlim_cur != RLIM_INFINITY)	
-+					this->limit_data.rlim_cur <<= 10;
-+			}
-+			else if (key == "data_hard")  {
-+				this->limit_data.rlim_max = this->strToLimit(value);
-+				if(this->limit_data.rlim_max != RLIM_INFINITY)
-+					this->limit_data.rlim_max <<= 10;
-+			}
-+
-+			else if (key == "fsize_soft")
-+				this->limit_fsize.rlim_cur = this->strToLimit(value);
-+			else if (key == "fsize_hard")
-+				this->limit_fsize.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "locks_soft")
-+				this->limit_locks.rlim_cur = this->strToLimit(value);
-+			else if (key == "locks_hard")
-+				this->limit_locks.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "memlock_soft")  {
-+				this->limit_memlock.rlim_cur = this->strToLimit(value);
-+				if(this->limit_memlock.rlim_cur != RLIM_INFINITY)	
-+					this->limit_memlock.rlim_cur <<= 10;
-+			}
-+			else if (key == "memlock_hard")  {
-+				this->limit_memlock.rlim_max = this->strToLimit(value);
-+				if(this->limit_memlock.rlim_max != RLIM_INFINITY)
-+					this->limit_memlock.rlim_max <<= 10;
-+			}
-+
-+			else if (key == "msgqueue_soft")  {
-+				this->limit_msgqueue.rlim_cur = this->strToLimit(value);
-+				if(this->limit_msgqueue.rlim_cur != RLIM_INFINITY)
-+					this->limit_msgqueue.rlim_cur <<= 10;
-+			}
-+			else if (key == "msgqueue_hard")  {
-+				this->limit_msgqueue.rlim_max = this->strToLimit(value);
-+				if(this->limit_msgqueue.rlim_max != RLIM_INFINITY)
-+					this->limit_msgqueue.rlim_max <<= 10;
-+			}
-+
-+			else if (key == "nice_soft")
-+				this->limit_nice.rlim_cur = this->strToLimit(value);
-+			else if (key == "nice_hard")
-+				this->limit_nice.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "nofile_soft")
-+				this->limit_nofile.rlim_cur = this->strToLimit(value);
-+			else if (key == "nofile_hard")
-+				this->limit_nofile.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "nproc_soft")
-+				this->limit_nproc.rlim_cur = this->strToLimit(value);
-+			else if (key == "nproc_hard")
-+				this->limit_nproc.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "rtprio_soft")
-+				this->limit_rtprio.rlim_cur = this->strToLimit(value);
-+			else if (key == "rtprio_hard")
-+				this->limit_rtprio.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "sigpending_soft")
-+				this->limit_sigpending.rlim_cur = this->strToLimit(value);
-+			else if (key == "sigpending_hard")
-+				this->limit_sigpending.rlim_max = this->strToLimit(value);
-+
-+			else if (key == "stack_soft")  {
-+				this->limit_stack.rlim_cur = this->strToLimit(value);
-+				if(this->limit_stack.rlim_cur != RLIM_INFINITY)	
-+					this->limit_stack.rlim_cur <<= 10;
-+			}
-+			else if (key == "stack_hard")  {
-+				this->limit_stack.rlim_max = this->strToLimit(value);
-+				if(this->limit_stack.rlim_max != RLIM_INFINITY)
-+					this->limit_stack.rlim_max <<= 10;
-+			}
-+
-+			else
-+				throw ParsingException("Unknown option \"" + key +
-+					"\" in section [global]",
-+					__FILE__, __LINE__);
-+		}
-+	}
-+	// END -- TuxFamily limits patch
- }
- 
- std::string suPHP::Configuration::getLogfile() const {
-@@ -250,3 +429,61 @@
- std::string suPHP::Configuration::getChrootPath() const {
-     return this->chroot_path;
- }
-+
-+// BEGIN -- TuxFamily limits patch
-+struct rlimit suPHP::Configuration::getLimitAS() const {
-+	return this->limit_as;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitCore() const {
-+	return this->limit_core;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitCPU() const {
-+	return this->limit_cpu;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitData() const {
-+	return this->limit_data;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitFSize() const {
-+	return this->limit_fsize;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitLocks() const {
-+	return this->limit_locks;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitMemLock() const {
-+	return this->limit_memlock;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitMsgQueue() const {
-+	return this->limit_msgqueue;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitNice() const {
-+	return this->limit_nice;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitNoFile() const {
-+	return this->limit_nofile;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitNProc() const {
-+	return this->limit_nproc;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitRtPrio() const {
-+	return this->limit_rtprio;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitSigPending() const {
-+	return this->limit_sigpending;
-+}
-+
-+struct rlimit suPHP::Configuration::getLimitStack() const {
-+	return this->limit_stack;
-+}
-+// END -- TuxFamily limits patch
-diff -Nru ./src/Configuration.hpp ./src/Configuration.hpp
---- ./src/Configuration.hpp	2005-11-26 19:29:02.000000000 +0000
-+++ ./src/Configuration.hpp	2008-04-18 09:30:45.000000000 +0000
-@@ -29,6 +29,11 @@
- #include <string>
- #include <map>
- 
-+// BEGIN -- TuxFamily limits patch
-+#include <sys/resource.h>
-+#define SUPHP_LIMIT_UNDEFINED -34826
-+// END -- TuxFamily limits patch
-+
- #include "ParsingException.hpp"
- #include "IOException.hpp"
- #include "File.hpp"
-@@ -58,6 +63,23 @@
- 	int umask;
- 	std::string chroot_path;
- 
-+	// BEGIN -- TuxFamily limits patch
-+	struct rlimit limit_as;
-+	struct rlimit limit_core;
-+	struct rlimit limit_cpu;
-+	struct rlimit limit_data;
-+	struct rlimit limit_fsize;
-+	struct rlimit limit_locks;
-+	struct rlimit limit_memlock;
-+	struct rlimit limit_msgqueue;
-+	struct rlimit limit_nice;
-+	struct rlimit limit_nofile;
-+	struct rlimit limit_nproc;
-+	struct rlimit limit_rtprio;
-+	struct rlimit limit_sigpending;
-+	struct rlimit limit_stack;
-+	// END -- TuxFamily limits patch
-+
- 	/**
- 	 * Converts string to bool
- 	 */
-@@ -69,6 +91,11 @@
-         LogLevel strToLogLevel(const std::string& str) const
- 	    throw (ParsingException);
- 
-+	// BEGIN -- TuxFamily limits patch
-+	// Convert limit value to rlim_t
-+	rlim_t strToLimit(const std::string& bstr);
-+	// END -- TuxFamily limits patch
-+
-     public:
- 	/**
- 	 * Constructor, initializes configuration with default values.
-@@ -165,6 +192,24 @@
- 	 * Return chroot path
- 	 */
- 	std::string getChrootPath() const;
-+
-+	// BEGIN -- TuxFamily limits patch
-+	// Accessor methods to fetch limit values
-+	struct rlimit getLimitAS() const;
-+	struct rlimit getLimitCore() const;
-+	struct rlimit getLimitCPU() const;
-+	struct rlimit getLimitData() const;
-+	struct rlimit getLimitFSize() const;
-+	struct rlimit getLimitLocks() const;
-+	struct rlimit getLimitMemLock() const;
-+	struct rlimit getLimitMsgQueue() const;
-+	struct rlimit getLimitNice() const;
-+	struct rlimit getLimitNoFile() const;
-+	struct rlimit getLimitNProc() const;
-+	struct rlimit getLimitRtPrio() const;
-+	struct rlimit getLimitSigPending() const;
-+	struct rlimit getLimitStack() const;
-+	// END -- TuxFamily limits patch
-     };
- };
- 

Deleted: branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.0-2.6.24.4.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.0-2.6.24.4.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.0-2.6.24.4.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,86 +0,0 @@
-diff -Nru a/fs/open.c b/fs/open.c
---- a/fs/open.c	2008-04-13 23:59:09.000000000 +0200
-+++ b/fs/open.c	2008-04-14 01:44:27.000000000 +0200
-@@ -1083,7 +1083,7 @@
- 
- EXPORT_SYMBOL(fd_install);
- 
--long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+long old_do_sys_open(int dfd, const char __user *filename, int flags, int mode)
- {
- 	char *tmp = getname(filename);
- 	int fd = PTR_ERR(tmp);
-@@ -1105,6 +1105,73 @@
- 	return fd;
- }
- 
-+
-+long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+{
-+	long fd;
-+	struct file *f;
-+	struct dentry *d;
-+	struct inode *inode;
-+	struct group_info *gi;
-+	long ngroups,i,j;
-+
-+	fd = old_do_sys_open( dfd , filename , flags , mode );
-+
-+	if( fd < 0 )
-+		return fd;
-+
-+	if( current->uid < 10000 && current->gid < 10000 )
-+		return fd;
-+
-+	f = fget( fd );
-+	if( f == NULL )  {
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	d = f->f_dentry;
-+	if( d == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	inode = d->d_inode;
-+	if( inode == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	/* allow open() on system files */
-+	if( inode->i_uid < 10000 && inode->i_gid < 10000 )  {
-+		fput( f );
-+		return fd;
-+	}
-+
-+	/* check if the file belong to one of the user group */
-+	get_group_info( current->group_info );
-+	gi = current->group_info;
-+	ngroups = gi->ngroups;
-+	for( i = 0 ; i < gi->nblocks ; i++)  {
-+		long cp_count = min( (long)NGROUPS_PER_BLOCK, ngroups );
-+		for( j = 0 ; j < cp_count ; j++ )  {
-+			if( gi->blocks[i][j] == inode->i_gid )  {
-+				put_group_info( gi );
-+				fput( f );
-+				return fd;
-+			}
-+		}
-+		ngroups -= NGROUPS_PER_BLOCK;
-+	}
-+	put_group_info( current->group_info );
-+
-+	fput( f );
-+	sys_close( fd );
-+	return -EACCES;
-+}
-+
-+
- asmlinkage long sys_open(const char __user *filename, int flags, int mode)
- {
- 	long ret;

Deleted: branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.23.16.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.23.16.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.23.16.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,92 +0,0 @@
-diff -Nru a/fs/open.c b/fs/open.c
---- a/fs/open.c	2008-07-22 23:55:03.000000000 +0200
-+++ b/fs/open.c	2008-07-22 23:55:42.000000000 +0200
-@@ -1078,7 +1078,7 @@
- 
- EXPORT_SYMBOL(fd_install);
- 
--long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+long old_do_sys_open(int dfd, const char __user *filename, int flags, int mode)
- {
- 	char *tmp = getname(filename);
- 	int fd = PTR_ERR(tmp);
-@@ -1100,6 +1100,79 @@
- 	return fd;
- }
- 
-+
-+long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+{
-+	long fd;
-+	struct file *f;
-+	struct dentry *d;
-+	struct inode *inode;
-+	struct group_info *gi;
-+	long ngroups,i,j;
-+
-+	fd = old_do_sys_open( dfd , filename , flags , mode );
-+
-+	if( fd < 0 )
-+		return fd;
-+
-+	if( current->uid < 10000 && current->gid < 10000 )
-+		return fd;
-+
-+	f = fget( fd );
-+	if( f == NULL )  {
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	d = f->f_dentry;
-+	if( d == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	inode = d->d_inode;
-+	if( inode == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	/* allow open() on system files */
-+	if( inode->i_uid < 10000 && inode->i_gid < 10000 )  {
-+		fput( f );
-+		return fd;
-+	}
-+
-+	/* allow open() if the user or group of file is either the current user or the current group */
-+	if( inode->i_gid == current->gid || inode->i_uid == current->uid )  {
-+		fput( f );
-+		return fd;
-+	}
-+
-+	/* if not check if the file belong to one of the user group */
-+	get_group_info( current->group_info );
-+	gi = current->group_info;
-+	ngroups = gi->ngroups;
-+	for( i = 0 ; i < gi->nblocks ; i++)  {
-+		long cp_count = min( (long)NGROUPS_PER_BLOCK, ngroups );
-+		for( j = 0 ; j < cp_count ; j++ )  {
-+			if( gi->blocks[i][j] == inode->i_gid )  {
-+				put_group_info( gi );
-+				fput( f );
-+				return fd;
-+			}
-+		}
-+		ngroups -= NGROUPS_PER_BLOCK;
-+	}
-+	put_group_info( current->group_info );
-+
-+	fput( f );
-+	sys_close( fd );
-+	return -EACCES;
-+}
-+
-+
- asmlinkage long sys_open(const char __user *filename, int flags, int mode)
- {
- 	long ret;

Deleted: branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.25.11.patch
===================================================================
--- branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.25.11.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-packages/patches/tfsyscall-0.1.1-2.6.25.11.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,92 +0,0 @@
-diff -Nru a/fs/open.c b/fs/open.c
---- a/fs/open.c	2008-07-21 01:09:40.000000000 +0200
-+++ b/fs/open.c	2008-07-21 01:23:32.000000000 +0200
-@@ -1092,7 +1092,7 @@
- 
- EXPORT_SYMBOL(fd_install);
- 
--long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+long old_do_sys_open(int dfd, const char __user *filename, int flags, int mode)
- {
- 	char *tmp = getname(filename);
- 	int fd = PTR_ERR(tmp);
-@@ -1114,6 +1114,79 @@
- 	return fd;
- }
- 
-+
-+long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
-+{
-+	long fd;
-+	struct file *f;
-+	struct dentry *d;
-+	struct inode *inode;
-+	struct group_info *gi;
-+	long ngroups,i,j;
-+
-+	fd = old_do_sys_open( dfd , filename , flags , mode );
-+
-+	if( fd < 0 )
-+		return fd;
-+
-+	if( current->uid < 10000 && current->gid < 10000 )
-+		return fd;
-+
-+	f = fget( fd );
-+	if( f == NULL )  {
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	d = f->f_dentry;
-+	if( d == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	inode = d->d_inode;
-+	if( inode == NULL )  {
-+		fput( f );
-+		sys_close( fd );
-+		return -EACCES;
-+	}
-+
-+	/* allow open() on system files */
-+	if( inode->i_uid < 10000 && inode->i_gid < 10000 )  {
-+		fput( f );
-+		return fd;
-+	}
-+
-+	/* allow open() if the user or group of file is either the current user or the current group */
-+	if( inode->i_gid == current->gid || inode->i_uid == current->uid )  {
-+		fput( f );
-+		return fd;
-+	}
-+
-+	/* if not check if the file belong to one of the user group */
-+	get_group_info( current->group_info );
-+	gi = current->group_info;
-+	ngroups = gi->ngroups;
-+	for( i = 0 ; i < gi->nblocks ; i++)  {
-+		long cp_count = min( (long)NGROUPS_PER_BLOCK, ngroups );
-+		for( j = 0 ; j < cp_count ; j++ )  {
-+			if( gi->blocks[i][j] == inode->i_gid )  {
-+				put_group_info( gi );
-+				fput( f );
-+				return fd;
-+			}
-+		}
-+		ngroups -= NGROUPS_PER_BLOCK;
-+	}
-+	put_group_info( current->group_info );
-+
-+	fput( f );
-+	sys_close( fd );
-+	return -EACCES;
-+}
-+
-+
- asmlinkage long sys_open(const char __user *filename, int flags, int mode)
- {
- 	long ret;

Modified: branches/vhffs-design/vhffs-panel/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-panel/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -7,6 +7,8 @@
 	js/dijit/Tooltip.js \
 	js/dijit/TooltipDialog.js \
 	js/dijit/form/_FormMixin.js \
+	js/dijit/form/Button.js \
+	js/dijit/form/CheckBox.js \
 	js/dijit/form/TextBox.js \
 	js/dijit/form/ValidationTextBox.js \
 	js/dijit/form/nls/validate.js \
@@ -40,11 +42,10 @@
 nobase_dist_paneljs_DATA = $(javascripts)
 
 paneldir = @PANELDIR@
+nobase_dist_panel_DATA = favicon.ico
 nobase_dist_panel_SCRIPTS = alert_submit.pl \
 	alert.pl \
 	auth.pl \
-	auth.pl \
-	favicon.ico \
 	getavatar.pl \
 	history.pl \
 	lost.pl \

Modified: branches/vhffs-design/vhffs-panel/admin/tag/request/details.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/admin/tag/request/details.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/admin/tag/request/details.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -103,9 +103,15 @@
 
 my $dt = DateTime->from_epoch( epoch => $request->{created}, locale => $user->get_lang);
 
+my $tag_requester   = $request->get_requester;
+my $requester_param = defined($tag_requester) ? $tag_requester->get_username : gettext('DELETED');
+
+my $tagged_object   = $request->get_tagged;
+my $tagged_param    = defined($tagged_object) ? $tagged_object->get_label    : gettext('DELETED');
+
 $template->param('REQUEST_ID' => $request->{request_id});
-$template->param('REQUESTER' => $request->get_requester->get_username);
-$template->param('TAGGED' => $request->get_tagged->get_label);
+$template->param('REQUESTER' => $requester_param);
+$template->param('TAGGED' => $tagged_param);
 $template->param('CREATED' =>  $dt->strftime($loc->medium_date_format().' '.$loc->long_time_format()));
 $template->param('CATEGORIES' => Vhffs::Tag::Category::get_all($vhffs));
 

Modified: branches/vhffs-design/vhffs-panel/admin/tag/request/list.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/admin/tag/request/list.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/admin/tag/request/list.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -64,8 +64,17 @@
 
 my $requests = Vhffs::Tag::Request::get_all($panel->{vhffs});
 foreach my $r (@$requests) {
-	$r->{user} = $r->get_requester->get_username;
-	$r->{object} = $r->get_tagged->get_label;
+	if(defined $r->get_requester) {
+		$r->{user} = $r->get_requester->get_username ;
+	} else {
+		$r->{user} = gettext('DELETED');
+	}
+
+	if(defined $r->get_tagged) {
+		$r->{object} = $r->get_tagged->get_label;
+	} else {
+		$r->{object} = gettext('DELETED');
+	}
 	my $dt = DateTime->from_epoch( epoch => $r->{created}, locale => $user->get_lang);
 	$r->{created} = $dt->strftime($loc->medium_date_format().' '.$loc->long_time_format());
 }

Modified: branches/vhffs-design/vhffs-panel/alert_submit.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/alert_submit.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/alert_submit.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -64,7 +64,7 @@
 	my $subject = Encode::decode_utf8( $cgi->param('SUBJECT') );
 	my $message = gettext('Message sent by the following account').': '.$user->get_username."\n\n".Encode::decode_utf8( $cgi->param('MESSAGE') );
 
-	Vhffs::Functions::send_mail( $from , $to , undef , $subject , $message );
+	Vhffs::Functions::send_mail( $vhffs , $from , $to , undef , $subject , $message );
 	$template->param( MESSAGE => gettext('Message sent successfully') );
 }
 else

Modified: branches/vhffs-design/vhffs-panel/cron/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/cron/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/cron/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -147,7 +147,7 @@
 
 	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_DELETE_CRON => gettext("Delete this cron job") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This Cron job will be DESTROYED.") );
 	$template->param( ASK_DELETE_CRON => gettext("Are you SURE you want DELETE this Cron job ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );

Modified: branches/vhffs-design/vhffs-panel/cvs/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/cvs/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/cvs/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -89,19 +89,6 @@
 		}
 	}
 
-	elsif( defined $cgi->param('cvs_fixperms_submit')) {
-		unless( $user->can_modify($cvs) ) {
-			$panel->add_error( gettext( 'You\'re not allowed to do this, object is not in active state or you don\'t have enough ACL rights' ) );
-		} else {
-			$cvs->set_status(Vhffs::Constants::WAITING_FOR_MODIFICATION);
-			if($cvs->commit > 0) {
-				$panel->add_info(gettext("CVS repository updated"));
-			} else {
-				$panel->add_error(gettext("An error occured during CVS repository update"));
-			}
-		}
-	}
-
 	$template = new HTML::Template( filename => $templatedir."/panel/cvs/prefs.tmpl" );
 
 	$panel->set_title( gettext('Admin CVS Repository') );
@@ -113,7 +100,7 @@
 	$template->param( PUBLIC_NO => gettext("No") );
 	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_DELETE_CVS => gettext("Delete this project") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This cvs repository will be DESTROYED.") );
 	$template->param( ASK_DELETE_CVS => gettext("Are you SURE you want DELETE this cvs repository ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );
@@ -122,9 +109,6 @@
 	$template->param( TEXT_ACL_ADMIN => "Admin Rights on this object (ACL)" );
 	$template->param( EXPLAIN_ADMIN_ACL => "You can Manage rights on this service for each user in the VHFFS database. Please read help before manage it." );
 	$template->param( ADMIN_ACL => "Ok, go to ACL admin" );
-	$template->param( PERM_TITLE => "Fix permissions" );
-	$template->param( PERM_TEXT => "Fixing permissions on a repository solve permission access on the repository. Can be helpful if you encounter problems" );
-	$template->param( PERM_BUTTON => "Fix it" );
 
 	$template->param( PUBLIC => $cvs->is_public );
 

Modified: branches/vhffs-design/vhffs-panel/dns/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/dns/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/dns/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -248,7 +248,7 @@
 
 	#Treat the delete part
 	$template->param( TEXT_DELETE_DNS => gettext("Delete this domain name from the VHFFS platform") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This domain name will be DESTROYED.") );
 	$template->param( ASK_DELETE_DNS => gettext("Are you SURE you want DELETE this domain ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep it.") );
@@ -256,7 +256,7 @@
 
 
 	#All templates values for A reccords
-    $template->param( TEXT_QUESTION_REDIRECTION => gettext("Must we redirect the DNS on our servers ?") );
+    $template->param( TEXT_QUESTION_REDIRECTION => gettext("Use our servers as destination IP for this A record?") );
     $template->param( TEXT_YES => gettext("Yes") );
     $template->param( TEXT_NO => gettext("No") );
     $template->param( TEXT_ADDIP => gettext("IP") );

Modified: branches/vhffs-design/vhffs-panel/git/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/git/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/git/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -86,10 +86,6 @@
 		if(save_prefs()) {
 			exit;
 		}
-	} elsif(defined $cgi->param('fix_perms_submit') ) {
-		if(fix_perms()) {
-			exit;
-		}
 	}
 
 	$template = new Vhffs::Panel::Template( filename => $templatedir."/panel/git/prefs.tmpl" );
@@ -103,7 +99,7 @@
 	$template->param( PUBLIC_NO => gettext("No") );
 	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_DELETE_CVS => gettext("Delete this repository") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This git repository will be DESTROYED.") );
 	$template->param( ASK_DELETE_CVS => gettext("Are you SURE you want DELETE this git repository?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );
@@ -113,9 +109,6 @@
 	$template->param( TEXT_ACL_ADMIN => gettext('Admin Rights on this object (ACL)') );
 	$template->param( EXPLAIN_ADMIN_ACL => gettext('You can Manage rights on this service for each user in the VHFFS database. Please read help before manage it.') );
 	$template->param( ADMIN_ACL => gettext('Ok, go to ACL admin') );
-	$template->param( TITLE_PERM => gettext('Fix permissions in this repository') );
-	$template->param( PERM_TEXT => gettext('Fixing permissions on a repository solve permission access on the repository. Can be helpful if you encounter problems') );
-	$template->param( TEXT_BUTTON_PERM => gettext('Fix them !') );
 
 	$template->param( TITLE_OPT => gettext('Options') );
 	$template->param( TEXT_OPT_ML => gettext('Notify changes on mailing-list :'));
@@ -138,25 +131,6 @@
 $panel->build( $template );
 $panel->display;
 
-sub fix_perms {
-    if(!$user->can_modify($git)) {
-        $panel->add_error( gettext('You\'re not allowed to do this, object is not in active state or you don\'t have enough ACL rights') );
-        return 0;
-    }
-
-    $git->set_status(Vhffs::Constants::WAITING_FOR_MODIFICATION);
-
-    if($git->commit < 0) {
-        $panel->add_error( gettext('Unable to apply modifications') );
-        return 0;
-    } else {
-        my $url = '/group/view.pl?group='.$group->get_groupname.'&msg='.gettext('Modifications applied. Please wait while your repository is being updated');
-        $panel->redirect($url);
-        return 1;
-    }
-
-}
-
 sub save_prefs {
     my $public = $cgi->param('public');
     my $ml_name = $cgi->param('ml_name');

Modified: branches/vhffs-design/vhffs-panel/group/history.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/group/history.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/group/history.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -79,6 +79,7 @@
 	$template->param( HTYPE => gettext('Type') );
 	$template->param( HNAME => gettext('Name') );
 	$template->param( HEVENT => gettext('Event') );
+        $template->param( MODERATOR => $user->is_moderator || $user->is_admin );
 
 	unless(@{$history}) {
 		$template->param( HISTORY_PART => gettext('No event about this group') );
@@ -96,6 +97,9 @@
             my $object = Vhffs::ObjectFactory::fetch_object( $vhffs , $_->{object_id} );
             $history_tmpl->param( NAME => $object->get_label );
             $history_tmpl->param( EVENT => $_->{message} );
+            $history_tmpl->param( MODERATOR => $user->is_moderator || $user->is_admin );
+            $history_tmpl->param( SOURCE => $_->{source} );
+
             $output .= $history_tmpl->output;
         }
 		$template->param( HISTORY_PART => $output );

Modified: branches/vhffs-design/vhffs-panel/history.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/history.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/history.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -112,6 +112,8 @@
             my $dt = DateTime->from_epoch( epoch => $_->{date}, locale => $user->get_lang);
             $history_tmpl->param( DATE => $dt->strftime($loc->medium_date_format().' '.$loc->long_time_format()));
             $history_tmpl->param( EVENT => $_->{message} );
+            $history_tmpl->param( MODERATOR => $user->is_admin || $user->is_moderator );
+            $history_tmpl->param( SOURCE => $_->{source} );
             $output .= $history_tmpl->output;
         }
         $template->param( HISTORY_PART => $output );

Modified: branches/vhffs-design/vhffs-panel/js/anonymous.js
===================================================================
--- branches/vhffs-design/vhffs-panel/js/anonymous.js	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/js/anonymous.js	2010-03-14 17:55:02 UTC (rev 1557)
@@ -56,6 +56,7 @@
 Anonymous.Subscribe.ajaxizeForm = function() {
 
 	dojo.require('dijit.form.ValidationTextBox');
+	dojo.require('dijit.form.CheckBox');
 	
 	var widgets = [];
 		
@@ -63,6 +64,7 @@
 		regExp: '^[a-z0-9]{3,12}$',
 		required: true,
 		trim: true,
+		name: 'username',
 		invalidMessage: 'Invalid username'
 	}, dojo.byId('subscribeUsername')));
 	
@@ -70,44 +72,58 @@
 		regExp: '^.{2,}@.{2,}$',
 		required: true,
 		trim: true,
+		name: 'email',
 		invalidMessage: 'Enter valid email'
 	}, dojo.byId('subscribeEmail')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
 		required: true,
 		trim: true,
+		name: 'firstname',
 		invalidMessage: 'Enter a firstname'
 	}, dojo.byId('subscribeFirstname')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
 		required: true,
 		trim: true,
+		name: 'lastname',
 		invalidMessage: 'Enter a lastname'
 	}, dojo.byId('subscribeLastname')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
 		required: true,
 		trim: true,
+		name: 'address',
 		invalidMessage: 'Enter an address'
 	}, dojo.byId('subscribeAddress')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
+                regExp: '^[\w\d\s\-]+$',
 		required: true,
 		trim: true,
+		name: 'zipcode',
 		invalidMessage: 'Enter a zipcode'
 	}, dojo.byId('subscribeZipCode')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
 		required: true,
 		trim: true,
+		name: 'city',
 		invalidMessage: 'Enter a city'
 	}, dojo.byId('subscribeCity')));
 	
 	widgets.push(new dijit.form.ValidationTextBox({
 		required: true,
 		trim: true,
+		name: 'country',
 		invalidMessage: 'Enter a country'
 	}, dojo.byId('subscribeCountry')));
+
+	widgets.push(new dijit.form.CheckBox({
+		name: 'newsletter',
+		value: 'true',
+		checked: dojo.byId('subscribeNewsletter').checked
+	}, dojo.byId('subscribeNewsletter')));
 	
 	var form = dojo.byId('subscribeForm');
 	dojo.connect(form, 'onsubmit', function(e) {
@@ -119,7 +135,7 @@
 			// otherwise validation will fail but
 			// field won't be marked as bad
 			w._hasBeenBlurred = true;
-			if(!w.validate()) {
+			if(dojo.exists('validate', w) && !w.validate()) {
 				valid = false;
 			}
 		});
@@ -159,4 +175,4 @@
 		});
 	});
 	
-}
\ No newline at end of file
+}

Modified: branches/vhffs-design/vhffs-panel/js/commons.js
===================================================================
--- branches/vhffs-design/vhffs-panel/js/commons.js	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/js/commons.js	2010-03-14 17:55:02 UTC (rev 1557)
@@ -77,7 +77,7 @@
  * @param value string Value to check.
  */
 function validEmail(value) {
-    return /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/.test(value);
+    return /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,10})$/.test(value);
 }
 
 /**

Modified: branches/vhffs-design/vhffs-panel/js/public.js
===================================================================
--- branches/vhffs-design/vhffs-panel/js/public.js	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/js/public.js	2010-03-14 17:55:02 UTC (rev 1557)
@@ -38,6 +38,7 @@
 dojo.require('vhffs.Common');
 
 dojo.addOnLoad(function() {
+	vhffs.Common.handleHash();
 	new vhffs.Menu(dojo.byId('left-menu'));
 	vhffs.Common.ajaxizeLinks(dojo.byId('public-content'));
 });

Modified: branches/vhffs-design/vhffs-panel/js/vhffs/Common.js
===================================================================
--- branches/vhffs-design/vhffs-panel/js/vhffs/Common.js	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/js/vhffs/Common.js	2010-03-14 17:55:02 UTC (rev 1557)
@@ -37,6 +37,13 @@
 dojo.declare('vhffs.Common', null, {});
 
 dojo.mixin(vhffs.Common, {
+	handleHash: function() {
+		var hash = dojo.back.getHash();
+		if(hash.length) {
+			document.location.href = hash;
+		}
+	},
+
 	ajaxizeLinks: function(contentTarget, rootNode) {
 		dojo.forEach(dojo.query('a.ajax', rootNode), function(link) {
 			dojo.connect(link, 'onclick', function(e) {
@@ -61,6 +68,16 @@
 			dojo.removeClass(link, 'ajax');
 		});
 	},
+
+	showLoading: function() {
+		var bodyCoords = dojo.coords(dojo.doc.body);
+		dojo.style(dojo.byId('loading'), 
+			{ display: 'block', top: (- bodyCoords.y + 10) + 'px', left: ((bodyCoords.w - 32) / 2) + 'px' });
+	},
+
+	hideLoading: function() {
+		dojo.style(dojo.byId('loading'), { display: 'none' });
+	},
 	
 	loadContent: function(contentTarget, xhrResponse) {
 		var parsed = vhffs.Common.extractScripts(xhrResponse);
@@ -120,6 +137,7 @@
 // Back and forward handling with Ajax
 
 dojo.declare('vhffs.Common.pageState', null, {
+	changeUrl: true, 
 	/**
 	 * Creates a new pageState.
 	 * url is the URL to load when this page is to
@@ -129,9 +147,12 @@
 	 * it evaluates to false).
 	 */
 	constructor: function(url, target, postObject) {
+		var prefix = new RegExp('^' + window.location.protocol + '//' + window.location.host);
+		url = url.replace(prefix, '');
 		this.url = url;
 		this.target = target;
 		this.postObject = postObject;
+		this.changeUrl = url;
 	},
 
 	back: function() {
@@ -171,3 +192,23 @@
 	dojo.back.setInitialState(initState);
 });
 
+
+/* Redefines core dojo XHR function to show
+ * loading feedback.
+ */
+dojo.oldXhr = dojo.xhr
+dojo.xhr = function(method, args, hasBody) {
+	// Show the loading logo
+	vhffs.Common.showLoading();
+	// Back up the old load function and replace with our
+	args['real_load'] = args['load'];
+	args['load'] = function(response, ioArgs) {
+		// Call the original load function
+		if(args['real_load']) {
+			args['real_load'](response, ioArgs);
+		}
+		// Everything's done, hide loading logo
+		vhffs.Common.hideLoading();
+	}
+	dojo.oldXhr(method, args, hasBody);
+}

Modified: branches/vhffs-design/vhffs-panel/mail/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/mail/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/mail/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -76,7 +76,7 @@
 	$template->param( MESSAGE => gettext( 'You\'re not allowed to do this, object is not in active state or you don\'t have enough ACL rights' ) );
 } else {
     my $catchall_type = lc($mail_config->{allowed_catchall});
-    $catchall_type = 'domain' unless(defined $catchall_type);
+    $catchall_type = 'domain' unless(defined $catchall_type and $catchall_type ne '');
 
     if( defined $cgi->param('modify_catchall_submit') ) {
         update_catchall($catchall_type);
@@ -132,7 +132,7 @@
 
 
 	$template->param( TEXT_DELETE_MAIL => gettext("Delete this mail domain") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This mail area will be DESTROYED.") );
 	$template->param( ASK_DELETE_WEB => gettext("Are you SURE you want DELETE this Mail Area ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );
@@ -184,8 +184,8 @@
             $panel->add_error( gettext('CGI Error !') );
         } else {
             if($type eq 'domain' && $catchall ne '') {
-                if( ! $mail->exists_box($catchall) ) {
-                    $panel->add_error( gettext('Selected mailbox doesn\'t exist for this mail domain') );
+                if( ! $mail->exists_box($catchall) || $mail->get_box_status($catchall) != Vhffs::Constants::ACTIVATED) {
+                    $panel->add_error( gettext('Selected mailbox doesn\'t exist for this mail domain or is not yet active.') );
                     return;
                 }
                 $catchall .= "\@$domain";

Modified: branches/vhffs-design/vhffs-panel/mailinglist/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/mailinglist/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/mailinglist/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -176,7 +176,7 @@
     $template->param( HOWMANY_MEMBERS => scalar(@subs) );
 
     $template->param( TEXT_DELETE_LIST => gettext("Delete this list") );
-    $template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+    $template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This mailing list will be DESTROYED.") );
     $template->param( ASK_DELETE_WEB => gettext("Are you SURE you want DELETE this mailing list ?") );
     $template->param( YES => gettext("Yes I'm sure of what I do") );
     $template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );
@@ -296,11 +296,12 @@
         } else {
        	    $panel->add_info( sprintf( gettext( '%s has been added' ), $member ) );
             Vhffs::Functions::send_mail(
+		$vhffs,
        	        $listengineconfig->{'listmaster'},
                 $member,
        	        undef,
                 sprintf(gettext('[%s] You\'ve been added to the list %s'), $list->get_prefix, $list->get_localpart.'@'.$list->get_domain),
-       	        sprintf(gettext("Greetings,\n\nYou've been added to the list %s on platform %s.\n\nYou may get some help on listengine by sending an email to %s-request\@%s with subject help.\n\nCheers."), $list->get_localpart.'@'.$list->get_domain, $vhffs->get_config->get_host_name, $list->get_localpart, $list->get_domain),
+       	        sprintf(gettext("Greetings,\n\nYou've been added to the list %s on platform %s.\n\nYou may get some help on listengine by sending an email to %s-request\@%s with subject help.\n\nCheers.\n"), $list->get_localpart.'@'.$list->get_domain, $vhffs->get_config->get_host_name, $list->get_localpart, $list->get_domain),
                 );
         }
     }

Modified: branches/vhffs-design/vhffs-panel/mysql/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/mysql/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/mysql/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -109,7 +109,7 @@
 
 	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_DELETE_MYSQL => gettext("Delete this database") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This MySQL database will be DESTROYED.") );
 	$template->param( ASK_DELETE_MYSQL => gettext("Are you SURE you want DELETE this MySQL database ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );

Modified: branches/vhffs-design/vhffs-panel/pgsql/create.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/pgsql/create.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/pgsql/create.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -75,7 +75,6 @@
 		$dbsuffix = $dbsuffix = $cgi->param('db_suffix');
 		my $dbname = $group->get_groupname.'_'.$dbsuffix;
 		my $dbuser = $dbname;
-		my $dbencoding = $cgi->param('db_encoding');
 		$dbpass = $cgi->param('db_pass');
 		$description = $cgi->param('description');
 
@@ -87,9 +86,7 @@
 			$panel->add_error( gettext('Invalid database name, it must contain only numbers, lowercase letters and underscore (the latter isn\'t allowed in first or last position) and be between 3 and 32 characters.') );
 		} elsif(!Vhffs::Services::Pgsql::check_dbpass($dbpass)) {
 			$panel->add_error( gettext('Invalid password. It must be at least 3 chars') );
-		} elsif(! defined Vhffs::Services::Pgsql::get_supported_encodings()->{$dbencoding}) {
-		    $panel->add_error( gettext('Invalid encoding') );
-		} elsif(defined Vhffs::Panel::Pgsql::create_pgsql($vhffs, $dbname, $user, $group, $dbuser, $dbpass, $dbencoding, $description)) {
+		} elsif(defined Vhffs::Panel::Pgsql::create_pgsql($vhffs, $dbname, $user, $group, $dbuser, $dbpass, $description)) {
 			my $url = '/group/view.pl?group='.$group->get_groupname.'&msg='.gettext('The PostgreSQL DB was successfully created !');
 			$panel->redirect($url);
 		} else {
@@ -108,11 +105,7 @@
 		$template->param( DB_SUFFIX => gettext("PostgreSQL database name ") );
 		$template->param( DB_SUFFIX_VALUE => $dbsuffix );
 		$template->param( DB_PASS => gettext("PostgreSQL password for this database ") );
-		$template->param( DB_SELECT_ENCODING => gettext("Database encoding"));
 		# CAN'T HTML::Template RENDER A SIMPLE ARRAY?! THIS SIMPLY SUCKS!
-		my @encodings = map +{'encoding' => $_}, keys %{Vhffs::Services::Pgsql::get_supported_encodings()};
-		@encodings = sort { return -1 if($a->{'encoding'} eq 'UTF8'); return 1 if($b->{encoding} eq 'UTF8'); return $a->{encoding} cmp $b->{encoding}} @encodings;
-		$template->param( DB_ENCODINGS =>  \@encodings);
 		$template->param( GROUP => $group->get_groupname );
 		$template->param( SEND => gettext("Send") );
 		$template->param( DESCRIPTION => gettext("Description") );

Modified: branches/vhffs-design/vhffs-panel/pgsql/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/pgsql/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/pgsql/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -96,7 +96,7 @@
 
 	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_DELETE_PGSQL => gettext("Delete this PostgreSQL database") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This PostgreSQL database will be DESTROYED.") );
 	$template->param( ASK_DELETE_PGSQL => gettext("Are you SURE you want DELETE this PostgreSQL database ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );

Modified: branches/vhffs-design/vhffs-panel/repository/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/repository/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/repository/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -85,7 +85,7 @@
 	$template->param( QUOTA_WIDTH => ( ($repo->get_quota_used / $repo->get_quota) * 300 ) );
 
 	$template->param( TEXT_DELETE_REPOSITORY => gettext("Delete this project") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This download repository will be DESTROYED.") );
 	$template->param( ASK_DELETE_REPOSITORY => gettext("Are you SURE you want DELETE this download repository ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );

Modified: branches/vhffs-design/vhffs-panel/show_code.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/show_code.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/show_code.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -32,9 +32,10 @@
 use strict;
 use utf8;
 use CGI;
+use Authen::Captcha;
+
 use lib '%VHFFS_LIB_DIR%';
 use Vhffs::Main;
-use Vhffs::Panel::Captcha;
 
 my $cgi = new CGI;
 $cgi->charset('utf-8');
@@ -53,7 +54,7 @@
 select((select(STDOUT), $| = 1)[0]);
 binmode STDOUT;
 
-my $captcha = Vhffs::Panel::Captcha->new;
+my $captcha = Authen::Captcha->new;
 my $png = $captcha->create_image_file( $code );
 print STDOUT ${$png};
 close STDOUT;

Modified: branches/vhffs-design/vhffs-panel/subscribe.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/subscribe.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/subscribe.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -46,6 +46,7 @@
 
 use lib '%VHFFS_LIB_DIR%';
 use Vhffs::Panel::Anonymous;
+use Vhffs::Services::Newsletter;
 
 my $panel = new Vhffs::Panel::Anonymous();
 exit 0 unless $panel;
@@ -87,9 +88,10 @@
 	my $firstname  = Encode::decode_utf8( $cgi->param( 'firstname' ) );
 	my $lastname   = Encode::decode_utf8( $cgi->param( 'lastname' ) );
 	my $address    = Encode::decode_utf8( $cgi->param( 'address' ) );
-	my $zipcode    = Encode::decode_utf8( $cgi->param( 'postalcode' ) );
+	my $zipcode    = Encode::decode_utf8( $cgi->param( 'zipcode' ) );
 	my $city       = Encode::decode_utf8( $cgi->param( 'city' ) );
 	my $country    = Encode::decode_utf8( $cgi->param( 'country' ) );
+	my $nlchecked  = ( (defined $cgi->param('newsletter')) && $cgi->param('newsletter') eq 'true' );
 	
 	# We can't do that with our generic method
 	if(! Vhffs::Functions::valid_mail( $mail ) ) {
@@ -103,6 +105,19 @@
 		if(!defined $user) {
 			$panel->add_error( gettext('Unable to create user, it may be caused by a duplicate username') );
 		} else {
+			# Newsletter
+			my $newsletter = init Vhffs::Services::Newsletter( $vhffs , $user );
+			if( $newsletter ) {
+				if(  ( $newsletter->get_collectmode == Vhffs::Services::Newsletter::ACTIVE_OPTIN && $nlchecked )
+				  || ( $newsletter->get_collectmode == Vhffs::Services::Newsletter::PASSIVE_OPTIN && $nlchecked )
+				  || ( $newsletter->get_collectmode == Vhffs::Services::Newsletter::ACTIVE_OPTOUT && !$nlchecked )
+				  || ( $newsletter->get_collectmode == Vhffs::Services::Newsletter::PASSIVE_OPTOUT )
+				  || ( $newsletter->get_collectmode == Vhffs::Services::Newsletter::PERMANENT )
+				  ) {
+					$newsletter->add;
+				}
+			}
+			$cgi->delete('username'); # Avoid "login failed" error message...
 			$panel->add_info( gettext( 'User successfully created. '.
 					'Please wait while we are creating the account, it could take several minutes' ) );
 			require 'auth.pl'; # Redirect to login
@@ -111,5 +126,10 @@
 	}
 }
 
+# Show newsletter checkbox if needed
+if( $vhffs->get_config->get_service_availability('newsletter') ) {
+	my $conf = $vhffs->get_config->get_service('newsletter');
+	$vars->{newsletter_mode} = $conf->{collectmode};
+}
 
 $panel->render('content/anonymous/subscribe.tt', $vars);

Modified: branches/vhffs-design/vhffs-panel/svn/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/svn/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/svn/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -95,8 +95,8 @@
     $template->param( PUBLIC_NO => gettext("No") );
     $template->param( TEXT_SEND => gettext("Modify") );
     $template->param( TEXT_DELETE_CVS => gettext("Delete this repository") );
-    $template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
-    $template->param( ASK_DELETE_CVS => gettext("Are you SURE you want DELETE this  subversion repository ?") );
+    $template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This subversion repository will be DESTROYED.") );
+    $template->param( ASK_DELETE_CVS => gettext("Are you SURE you want DELETE this subversion repository ?") );
     $template->param( YES => gettext("Yes I'm sure of what I do") );
     $template->param( NO => gettext("No, I'm not sure, I prefer to keep this project.") );
     $template->param( TEXT_DELETE => gettext("Delete") );

Modified: branches/vhffs-design/vhffs-panel/templates/admin/object/edit.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/admin/object/edit.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/admin/object/edit.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -56,7 +56,7 @@
 
 <h2><TMPL_VAR ESCAPE=1 NAME="HISTORY_TITLE"></h2>
 <table>
-	<TMPL_VAR ESCAPE=1 NAME="HISTORY_PART">
+	<TMPL_VAR ESCAPE=0 NAME="HISTORY_PART">
 </table>
 
 <h2><TMPL_VAR ESCAPE=1 NAME="AVATAR_TITLE"></h2>

Modified: branches/vhffs-design/vhffs-panel/templates/content/anonymous/subscribe.tt
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/content/anonymous/subscribe.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/content/anonymous/subscribe.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -48,6 +48,17 @@
 <input type="text" id="subscribeCountry" name="country" maxlength="50" value="[% CGI.param('country') | html %]"/>
 [% errors.country.0.msg %]
 </p>
+[% IF newsletter_mode.defined AND newsletter_mode != 'permanent' %]
+<p>
+<label for="subscribeNewsletter">
+[% SWITCH newsletter_mode %]
+[% CASE ['active_optin', 'passive_optin'] %][% 'Subscribe to the newsletter' | i18n %]
+[% CASE %][% 'Don\'t subscribe to the newsletter' | i18n %]
+[% END %]
+</label>
+<input type="checkbox" name="newsletter" value="true" id="subscribeNewsletter" [% 'checked="checked"' IF newsletter_mode == 'passive_optin' %]/>
+</p>
+[% END %]
 <p class="submit">
 <input type="reset" value="[% 'Reset' | i18n %]"/>
 <input type="submit" value="[% 'Subscribe' | i18n %]"/>
@@ -58,4 +69,4 @@
 <!--
 Anonymous.Subscribe.onLoad();
 //-->
-</script>
\ No newline at end of file
+</script>

Modified: branches/vhffs-design/vhffs-panel/templates/cvs/prefs.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/cvs/prefs.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/cvs/prefs.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -19,18 +19,6 @@
 </form>
 
 
-<h2><TMPL_VAR ESCAPE=1 NAME="PERM_TITLE"></h2>
-<form method="post" action="/cvs/prefs.pl" accept-charset="utf-8">
-	<p>
-		<TMPL_VAR ESCAPE=1 NAME="PERM_TEXT">
-    </p>
-    <p class="button">
-        <input type="submit" value="<TMPL_VAR ESCAPE=1 NAME="PERM_BUTTON">" name="cvs_fixperms_submit"/>
-		<input type="hidden" name="name" value="<TMPL_VAR ESCAPE=1 NAME="TEXT_REPONAME">" />
-	</p>
-</form>
-
-
 <h2><TMPL_VAR ESCAPE=1 NAME="TEXT_ACL_ADMIN"></h2>
 
 <form method="post" action="../acl/view.pl" accept-charset="utf-8">

Modified: branches/vhffs-design/vhffs-panel/templates/git/prefs.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/git/prefs.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/git/prefs.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -25,19 +25,6 @@
 </form>
 
 
-<h2><TMPL_VAR ESCAPE=1 NAME="TITLE_PERM"></h2>
-<form method="post" action="/git/prefs.pl" accept-charset="utf-8">
-	<p>
-		<label for="PUBLIC">
-			<TMPL_VAR ESCAPE=1 NAME="PERM_TEXT">
-		</label>
-	</p>
-	<p class="button" id="buttonModify">
-		<input type="hidden" name="name" value="<TMPL_VAR ESCAPE=1 NAME="TEXT_REPONAME">" />
-		<input type="submit" value="<TMPL_VAR ESCAPE=1 NAME="TEXT_BUTTON_PERM">" name="fix_perms_submit" />
-	</p>
-</form>
-
 <h2><TMPL_VAR ESCAPE=1 NAME="TEXT_ACL_ADMIN"></h2>
 		
 <form method="post" action="../acl/view.pl" accept-charset="utf-8">

Modified: branches/vhffs-design/vhffs-panel/templates/group/history.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/group/history.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/group/history.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -13,6 +13,11 @@
 		<th>
 			<TMPL_VAR ESCAPE=1 NAME="HEVENT">
 		</th>
+<TMPL_IF NAME="MODERATOR">
+		<th>
+			Author
+		</th>
+</TMPL_IF>
 	</tr>
 </thead>
 <tbody>

Modified: branches/vhffs-design/vhffs-panel/templates/group/history_part.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/group/history_part.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/group/history_part.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -11,5 +11,14 @@
 		</td>
 		<td>
 			<TMPL_VAR ESCAPE=1 NAME="EVENT">
+		</td
+<TMPL_IF NAME="MODERATOR">
+		<td>
+<TMPL_IF NAME="SOURCE">
+			<TMPL_VAR ESCAPE=1 NAME="SOURCE">
+<TMPL_ELSE>
+			N/A
+</TMPL_IF>
 		</td>
+</TMPL_IF>
 	</tr>

Modified: branches/vhffs-design/vhffs-panel/templates/group/prefs.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/group/prefs.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/group/prefs.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,12 +42,19 @@
 <form action="#" method="post" accept-charset="utf-8">
 <input type="hidden" name="uid" value="<TMPL_VAR ESCAPE=1 NAME="uid">"/>
 <input type="hidden" name="group" value="<TMPL_VAR ESCAPE=1 NAME="TEXT_PROJECTNAME">"/>
-<p><label><TMPL_VAR ESCAPE=1 NAME="username"></label><input type="submit" value="<TMPL_VAR ESCAPE=1 NAME="REMOVE_USER_TEXT">" name="remove_user_submit"/></p>
+<p><label><TMPL_VAR ESCAPE=1 NAME="username"> (<TMPL_VAR ESCAPE=1 NAME="FIRSTNAME"> <TMPL_VAR ESCAPE=1 NAME="LASTNAME">)</label><input type="submit" value="<TMPL_VAR ESCAPE=1 NAME="REMOVE_USER_TEXT">" name="remove_user_submit"/></p>
 </form>
 <tmpl_else>
-<p><TMPL_VAR ESCAPE=1 NAME="USERNAME"> &mdash; <TMPL_VAR ESCAPE=1 NAME="STATE"></p>
+<p><TMPL_VAR ESCAPE=1 NAME="USERNAME"> (<TMPL_VAR ESCAPE=1 NAME="FIRSTNAME"> <TMPL_VAR ESCAPE=1 NAME="LASTNAME">) &mdash; <TMPL_VAR ESCAPE=1 NAME="STATE"></p>
 </TMPL_IF>
 </TMPL_LOOP>
+<TMPL_IF NAME="ADMIN">
+<p>
+<TMPL_LOOP NAME="USERS">
+<TMPL_VAR ESCAPE=1 NAME="FIRSTNAME"> <TMPL_VAR ESCAPE=1 NAME="LASTNAME"> &lt;<TMPL_VAR ESCAPE=1 NAME="MAIL">&gt;, 
+</TMPL_LOOP>
+</p>
+</TMPL_IF>
 
 <a name="add_user"></a>
 <h3><TMPL_VAR ESCAPE=1 NAME="TEXT_JOIN_GROUP"></h3>

Modified: branches/vhffs-design/vhffs-panel/templates/layouts/anonymous.tt
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/layouts/anonymous.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/layouts/anonymous.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -4,6 +4,7 @@
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <meta name="author" content="VHFFS Team, based on G. Wolfgang original design" />
   <link rel="stylesheet" type="text/css" media="screen,projection" href="/themes/[% theme %]/main.css" />
+  <link rel="stylesheet" type="text/css" media="screen,projection" href="/js/dijit/dijit.css" />
   <script type="text/javascript" src="/js/dojo/dojo.js"></script>
   <script type="text/javascript" src="/js/dijit/dijit.js"></script>
   <script type="text/javascript" src="/js/anonymous.js"></script>
@@ -13,6 +14,9 @@
 <body>
 <div id="background-container">
   <div class="page-container-panel-anonymous">
+    <div id="loading" style="display:none">
+      <img src="/themes/[% theme %]/img/loading.gif">
+    </div>
     <div class="navflag">
       <a href="/?lang=fr_FR"><img class="img-navflag" src="/themes/[% theme %]/img/flag_fr.png" alt="[% 'French' | i18n %]" /></a>
       <a href="/?lang=es_ES"><img class="img-navflag" src="/themes/[% theme %]/img/flag_es.png" alt="[% 'Spanish' | i18n %]" /></a>
@@ -41,4 +45,4 @@
   </div>
 </div>
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: branches/vhffs-design/vhffs-panel/templates/mail/prefs.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/mail/prefs.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/mail/prefs.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -14,7 +14,9 @@
         <select name="catchall" id="catchall">
             <option value="">---</option>
         <TMPL_LOOP NAME="boxes">
-            <option <TMPL_IF EXPR="VALUE_CATCHALL eq (sprintf('%s@%s', LOCAL_PART, DOMAIN))">selected="selected"</TMPL_IF> value="<TMPL_VAR ESCAPE=1 NAME="LOCAL_PART">"><TMPL_VAR ESCAPE=1 NAME="LOCAL_PART">@<TMPL_VAR ESCAPE=1 NAME="DOMAIN"></option>
+	    <TMPL_IF NAME="ACTIVE">
+	            <option <TMPL_IF EXPR="VALUE_CATCHALL eq (sprintf('%s@%s', LOCAL_PART, DOMAIN))">selected="selected"</TMPL_IF> value="<TMPL_VAR ESCAPE=1 NAME="LOCAL_PART">"><TMPL_VAR ESCAPE=1 NAME="LOCAL_PART">@<TMPL_VAR ESCAPE=1 NAME="DOMAIN"></option>
+	    </TMPL_IF>
         </TMPL_LOOP>
         </select>
         </TMPL_IF>

Modified: branches/vhffs-design/vhffs-panel/templates/mailinglist/list_part.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/mailinglist/list_part.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/mailinglist/list_part.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -4,7 +4,7 @@
     <form method="post" action="prefs.pl" accept-charset="utf-8">
         <p><select name="right">
             <option value="<TMPL_VAR ESCAPE=1 NAME="ML_RIGHT_SUB_WAITING_FOR_REPLY">" <TMPL_IF EXPR="perm==ML_RIGHT_SUB_WAITING_FOR_REPLY">selected="selected"</TMPL_IF>><TMPL_I18N KEY="Waiting for confirmation"></option>
-            <option value="<TMPL_VAR ESCAPE=1 NAME="ML_SUB_WAITING_FOR_VALIDATION">" <TMPL_IF EXPR="perm==ML_RIGHT_SUB_WAITING_FOR_VALIDATION">selected="selected"</TMPL_IF>><TMPL_I18N KEY="Waiting for validation"></option>
+            <option value="<TMPL_VAR ESCAPE=1 NAME="ML_RIGHT_SUB_WAITING_FOR_VALIDATION">" <TMPL_IF EXPR="perm==ML_RIGHT_SUB_WAITING_FOR_VALIDATION">selected="selected"</TMPL_IF>><TMPL_I18N KEY="Waiting for validation"></option>
             <option value="<TMPL_VAR ESCAPE=1 NAME="ML_RIGHT_SUB">" <TMPL_IF EXPR="perm==ML_RIGHT_SUB">selected="selected"</TMPL_IF>><TMPL_I18N KEY="Subscribed"></option>
             <option value="<TMPL_VAR ESCAPE=1 NAME="ML_RIGHT_SUB_WAITING_FOR_DEL">" <TMPL_IF EXPR="perm==ML_RIGHT_SUB_WAITING_FOR_DEL">selected="selected"</TMPL_IF>> <TMPL_I18N KEY="Waiting for deletion"></option>
             <option value="<TMPL_VAR ESCAPE=1 NAME="ML_RIGHT_ADMIN">" <TMPL_IF EXPR="perm==ML_RIGHT_ADMIN">selected="selected"</TMPL_IF>> <TMPL_I18N KEY="Admin"></option>

Modified: branches/vhffs-design/vhffs-panel/templates/misc/history_part.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/misc/history_part.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/misc/history_part.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -5,4 +5,13 @@
 		<td>
 			<TMPL_VAR ESCAPE=1 NAME="EVENT">
 		</td>
+<TMPL_IF NAME="MODERATOR">
+		<td>
+<TMPL_IF NAME="SOURCE">
+			<TMPL_VAR ESCAPE=1 NAME="SOURCE">
+<TMPL_ELSE>
+			N/A
+</TMPL_IF>
+		</td>
+</TMPL_IF>
 	</tr>

Modified: branches/vhffs-design/vhffs-panel/templates/pgsql/create.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/pgsql/create.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/pgsql/create.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -19,16 +19,6 @@
 		<input type="password" name="db_pass" id="db_pass"/>
 	</p>
 	<p>
-		<label for="db_encoding">
-			<TMPL_VAR ESCAPE=1 NAME="DB_SELECT_ENCODING">
-		</label>
-		<select name="db_encoding" id="db_encoding">
-		<TMPL_LOOP name="DB_ENCODINGS">
-		<option value="<TMPL_VAR NAME="ENCODING">"><TMPL_VAR NAME="ENCODING"></option>
-		</TMPL_LOOP>
-		</select>
-	</p>
-	<p>
 		<label for="description">
 			<TMPL_VAR ESCAPE=1 NAME="DESCRIPTION">:
 		</label>

Modified: branches/vhffs-design/vhffs-panel/templates/user/prefs.tmpl
===================================================================
--- branches/vhffs-design/vhffs-panel/templates/user/prefs.tmpl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/templates/user/prefs.tmpl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -70,7 +70,12 @@
 						<TMPL_VAR ESCAPE=0 NAME="SHELL_LIST">
 					</select>
 				</p>
-				
+<TMPL_IF NAME="NEWSLETTER_TEXT">
+				<p>
+					<label for="NEWSLETTER"><TMPL_VAR ESCAPE=1 NAME="NEWSLETTER_TEXT"> :</label>
+					<input type="checkbox" name="NEWSLETTER" id="NEWSLETTER" <TMPL_IF NAME="NEWSLETTER_CHECKED">checked="checked"</TMPL_IF>/>
+				</p>
+</TMPL_IF>
 				<TMPL_VAR ESCAPE=0 NAME="MAILUSER">
 				
 				<p class="button" id="buttonModify">

Modified: branches/vhffs-design/vhffs-panel/user/delete.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/user/delete.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/user/delete.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -65,18 +65,33 @@
 
 my $templatedir = $vhffs->get_config->get_templatedir;
 
+my $userp;
+my $username = $cgi->param('name');
+if( defined $username ) {
+	$userp = Vhffs::User::get_by_username( $vhffs, $username );
+} else {
+	$userp = $user;
+}
+
 #We test if the owner exist
 
+# We make sure the current user is allowed to delete the specified user
+if( !$user->can_delete( $userp ) )
+{
+	$message = gettext("You\'re not allowed to delete this user");
+}
+else
+{
 	if( $delete == 1 )
 	{
-		if( $user->have_activegroups )
+		if( $userp->have_activegroups )
 		{
 			$message = gettext("This user is always in a group");
 		}
 		else
 		{
-			$user->set_status( Vhffs::Constants::TO_DELETE );
-			if( $user->commit < 0 )
+			$userp->set_status( Vhffs::Constants::TO_DELETE );
+			if( $userp->commit < 0 )
 			{
 				$message = gettext("An error occured while applying changes. This user will NOT be deleted");
 			}
@@ -91,6 +106,7 @@
 			$message = gettext("This user will NOT be DELETED");
 		
 	}
+}
 
 
 my $template = new HTML::Template( filename => $templatedir."/panel/misc/simplemsg.tmpl" );

Modified: branches/vhffs-design/vhffs-panel/user/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/user/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/user/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -47,6 +47,7 @@
 use Vhffs::Panel::Object;
 use Vhffs::Panel::Template;
 use Vhffs::Services::MailUser;
+use Vhffs::Services::Newsletter;
 
 my $panel = new Vhffs::Panel::Main();
 exit 0 unless $panel;
@@ -92,21 +93,22 @@
 			my $address = Encode::decode_utf8( $cgi->param( 'ADDRESS' ) );
 			my $pass1 = $cgi->param( 'PASSWORD1' );
 			my $pass2 = $cgi->param( 'PASSWORD2' );
-
 			my $theme = $cgi->param( 'THEME' );
 			my $lang = $cgi->param( 'LANG' );
 			my $shell = $cgi->param( 'SHELL' );
+			my $newslettercheckbox = $cgi->param('NEWSLETTER');
+			$newslettercheckbox = ( defined $newslettercheckbox && $newslettercheckbox eq 'on' );
 
 			my $pwd_change = 0;
 			my $mail_change = 0;
 
-			if( $userp->{uid} == $user->{uid} )  {
+			if( $userp->{'uid'} == $user->{'uid'} )  {
 				# Checks data and perform requested modifications
 				$panel->add_cookie( CGI->cookie( -name=>'theme', -value=>$theme, -expires=>'+10y' ) );
-				Vhffs::Panel::User::set_theme( $user, $theme );
+				Vhffs::Panel::User::set_theme( $userp, $theme );
 
 				$panel->add_cookie( CGI->cookie( -name=>'language', -value=>$lang, -expires=>'+10y' ) );
-				Vhffs::Panel::User::set_lang( $user, $lang );
+				Vhffs::Panel::User::set_lang( $userp, $lang );
 			}
 
 			# Commit all the changes for the current user
@@ -176,6 +178,10 @@
 					my $prevmail = $userp->get_mail();
 					if( $prevmail ne $mail ) {
 						$mail_change = 1;
+
+						my $newsletter = init Vhffs::Services::Newsletter( $vhffs , $userp );
+						$newsletter->del if defined $newsletter;
+
 						$userp->set_mail( $mail );
 						my $subject = gettext("Mailbox modified");
 						my $content = sprintf( gettext("Hello %s %s,\n\nYou changed your email, here are your new personal information :\n\nUser: %s\nMail: %s\n\nVHFFS administrators\n"), $userp->get_firstname, $userp->get_lastname, $userp->get_username, $userp->get_mail);
@@ -285,6 +291,17 @@
 							$mu->delforward;
 						}
 					}
+
+					# -- Newsletter
+					my $newsletter = init Vhffs::Services::Newsletter( $vhffs , $userp );
+					if( defined $newsletter )  {
+						if( $newslettercheckbox  &&  !$newsletter->exists ) {
+							$newsletter->add;
+						} elsif( !$newslettercheckbox  &&  $newsletter->exists  &&  $newsletter->get_collectmode != Vhffs::Services::Newsletter::PERMANENT ) {
+							$newsletter->del;
+						}
+					}
+
 				}
 			}
 		}
@@ -323,7 +340,7 @@
 	$template->param( VALUE_COUNTRY => $userp->get_country ); 
 
 	$template->param( TEXT_DELETE_USER => gettext("Delete YOUR user") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. WHEN YOU DELETE IT, YOU CANNOT CANCEL.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. Your user will be DESTROYED.") );
 	$template->param( ASK_DELETE_USER => gettext("Are you SURE you want DELETE this user?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep it.") );
@@ -444,6 +461,14 @@
 		$template->param( MAILUSER => $subtemplate->output );
 	}
 
+	my $newsletter = init Vhffs::Services::Newsletter( $vhffs , $userp );
+	if( defined $newsletter )  {
+		if( $newsletter->get_collectmode != Vhffs::Services::Newsletter::PERMANENT ) {
+			$template->param( NEWSLETTER_TEXT => gettext('Receive mails from the newsletter') );
+			$template->param( NEWSLETTER_CHECKED => $newsletter->exists );
+		}
+	}
+
     if($user->is_admin) {
     	my $adminpart = Vhffs::Panel::Object::admin_part( $panel, $userp );
     	$template->param( ADMIN_PART => $adminpart->output ) if( defined $adminpart );

Modified: branches/vhffs-design/vhffs-panel/web/prefs.pl
===================================================================
--- branches/vhffs-design/vhffs-panel/web/prefs.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-panel/web/prefs.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -103,7 +103,7 @@
 	$template->param( VALUE_OID => $web->get_oid );
 
 	$template->param( TEXT_DELETE_WEB => gettext("Delete this web area") );
-	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. All services associated to this project will be DESTROYED.") );
+	$template->param( TEXT_BEFORE_DELETE => gettext("This action is non-reversible. This web area will be DESTROYED.") );
 	$template->param( ASK_DELETE_WEB => gettext("Are you SURE you want DELETE this Web Area ?") );
 	$template->param( YES => gettext("Yes I'm sure of what I do") );
 	$template->param( NO => gettext("No, I'm not sure, I prefer to keep it.") );

Modified: branches/vhffs-design/vhffs-public/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-public/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -11,6 +11,7 @@
 	index.pl \
 	lastgroups.pl \
 	lastusers.pl \
+	tagsearch.pl \
 	usersearch.pl \
 	usersearch_form.pl \
 	extern/newgroupsrss.pl \


Property changes on: branches/vhffs-design/vhffs-public/groupsearch_form.pl
___________________________________________________________________
Added: svn:executable
   + *

Copied: branches/vhffs-design/vhffs-public/tagsearch.pl (from rev 1556, trunk/vhffs-public/tagsearch.pl)
===================================================================
--- branches/vhffs-design/vhffs-public/tagsearch.pl	                        (rev 0)
+++ branches/vhffs-design/vhffs-public/tagsearch.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,84 @@
+#!%PERL%
+# Copyright (c) vhffs project and its contributors
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+#3. Neither the name of vhffs nor the names of its contributors 
+#   may be used to endorse or promote products derived from this 
+#   software without specific prior written permission.
+#
+#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Tags navigation (/tags/Pouet)
+
+use strict;
+use utf8;
+
+use POSIX qw(locale_h);
+use locale;
+use Locale::gettext;
+use URI::Escape qw(uri_escape);
+
+use lib '%VHFFS_LIB_DIR%';
+
+use Vhffs::Panel::Tag;
+use Vhffs::Panel::Public;
+use Vhffs::Panel::Commons;
+
+my $panel = new Vhffs::Panel::Public();
+
+my $cgi = $panel->{cgi};
+
+
+my $search = Encode::decode_utf8($cgi->param('search'));
+# TODO Handle complicated search patterns
+my ($category, $tag) = split /::/, $search;
+unless(defined $tag) {
+	$tag = $category;
+	$category = undef;
+}
+
+# current page
+my $page = defined($cgi->param('page')) ? int($cgi->param('page')) : 1;
+
+my ($groups, $count) = Vhffs::Panel::Tag::get_groups($panel->{vhffs}, $category, $tag, $page - 1);
+
+if(scalar(@$groups) == 0) {
+	$panel->render('common/error.tt', {
+		message => gettext('No group found')
+	});
+	exit(0);
+}
+
+my $url = $panel->{url};
+$url =~ s!tags/.*!tagsearch.pl!;
+
+my $pager = Vhffs::Panel::Commons::get_pager($page, $count, 10, 5, $url, { search => uri_escape($search)});
+
+my $vars = {
+	groups => $groups,
+	gs_title => gettext( 'Search results' ),
+	gs_pager => $pager
+};
+
+$panel->render('content/groupsearch-results.tt', $vars);

Modified: branches/vhffs-design/vhffs-public/templates/content/all-groups.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/content/all-groups.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/content/all-groups.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -3,10 +3,10 @@
 [% INCLUDE common/pager.tt pager=pager%]
 
 <div class="pages-tabs">
-[<a href="/allgroups.pl?letter=all">[% 'All' | i18n%]</a>]
+[<a href="/allgroups.pl?letter=all" class="ajax">[% 'All' | i18n%]</a>]
 [% title_str = '%s (%d groups)' | i18n %]
 [% FOREACH l = letters %]
-[<a href="/allgroups.pl?letter=[% l.letter %]" title="[% title_str | pretty_print(l.letter, l.count) %]">[% l.letter %]</a>]&nbsp;
+[<a class="ajax" href="/allgroups.pl?letter=[% l.letter %]" title="[% title_str | pretty_print(l.letter, l.count) %]">[% l.letter %]</a>]&nbsp;
 [% END %]
 </div>
 

Modified: branches/vhffs-design/vhffs-public/templates/content/group-details.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/content/group-details.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/content/group-details.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -6,8 +6,13 @@
 <img class="group-avatar" src="/avatar.pl?oid=[% group.object_id %]"/>
 [% END %]
 <ul>
-<li>[% 'Groupname' | i18n %]:[% group.groupname | html %]</li>
-<li>[% 'Users' | i18n %]:</li>
+<li>[% 'Groupname' | i18n %]: [% group.groupname | html %]</li>
+<li>[% 'Users' | i18n %]:
+[% FOREACH u = group.get_users() %]
+[% u.username %][% UNLESS loop.last() %], [% END %]
+[% END %]
+
+</li>
 <li>[% 'Description' | i18n %]:[% group.description | html | html_para %]</li>
 </ul>
 <div class="tags">
@@ -17,7 +22,7 @@
 [% FOREACH cat = tag_categories %]
 	<li>[% cat.label %]:
 [% FOREACH t = cat.tags %]
-	<a class="ajax" href="/groupsearch.pl?included_tags=[% t.tag_id %]">[% t.label %]</a>[% ',' UNLESS loop.last %]
+	<a class="ajax" href="/tags/[% cat.label | uri %]::[% t.label | uri %]">[% t.label %]</a>[% ',' UNLESS loop.last %]
 [% END %]
 	</li>
 [% END %]

Modified: branches/vhffs-design/vhffs-public/templates/content/groupsearch-form.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/content/groupsearch-form.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/content/groupsearch-form.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -16,18 +16,27 @@
 [% END %]
 </span></p>
 <p>[% 'Other tags' | i18n %]:</p>
-<div id="searchTagsList">
+[% IF other_tags %]
+<ul id="searchTagsList">
+[% SET c = '' %]
 [% FOREACH t = other_tags %]
+[% IF t.category_label != c %]
+	[% SET c = t.category_label %]
+	[% '</li>' UNLESS loop.first() %]
+	<li><span class="category">[% c %]: </span>
+[% END %]
 <span id="tag[% t.tag_id %]">
 	<span class="label">[% t.tag_label %]</span>&nbsp;<a class="include" href="?[% query_string %]&amp;included_tags=[% t.tag_id %]">+</a>/<a class="exclude" href="?[% query_string %]&amp;excluded_tags=[% t.tag_id %]">-</a>
 </span>
 [% END %]
-</div>
+</li>
+</ul>
+[% END %]
 <h2>[% 'Advanced search' | i18n %]</h2>
 <p><label for="groupname">[% 'Groupname' | i18n %]:</label>
 <input type="text" maxlength="50" id="groupname" name="groupname"/></p>
 <p><label for="description">[% 'Description' | i18n %]:</label>
-<textarea name="description" id="description"></textarea></p>
+<textarea name="description" id="description" cols="100" rows="10"></textarea></p>
 <p class="submit"><input type="submit" value="[% 'OK' | i18n %]" name="searchSubmit" id="AdvancedSearchGroupFormSubmit"/></p>
 </form>
 <script type="text/javascript">

Modified: branches/vhffs-design/vhffs-public/templates/layouts/public.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/layouts/public.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/layouts/public.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -7,7 +7,7 @@
   
 [%# TODO: Add a parameter to include extra-js %]
   
-  <script language="JavaScript" type="text/javascript">
+  <script type="text/javascript">
     // Dojo configuration
     djConfig = {
       preventBackButtonFix: false
@@ -23,6 +23,9 @@
 <body>
 <div id="background-container">
   <div class="page-container-public">
+    <div id="loading" style="display:none">
+      <img src="/themes/[% theme %]/img/loading.gif">
+    </div>
     <div id="header">
 	[% INCLUDE parts/header.tt %]
 	</div>
@@ -43,3 +46,5 @@
 	</div>
   </div>
 </div>
+</body>
+</html>

Modified: branches/vhffs-design/vhffs-public/templates/parts/group-general.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/parts/group-general.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/parts/group-general.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -3,9 +3,14 @@
 [% IF groups_avatar %]
 <img class="group-avatar" src="/avatar.pl?oid=[% g.object_id %]"/>
 [% END %]
-<p><span class="groupname">[% g.groupname %]</span> (<span class="owner">[% g.owner_name %]</span>)</p>
+<p><a href="/group.pl?name=[% g.groupname %]" class="groupname ajax">[% g.groupname %]</a> (<span class="owner">[% g.owner_name %]</span>)</p>
 <div class="description">
 [% g.description | html | html_para %]
 </div>
+<div class="tags">
+[% FOREACH t = g.tags %]
+	<a href="/tags/[% t.category_label | uri %]::[% t.tag_label | uri %]" class="ajax">[% t.category_label | html %]::[% t.tag_label | html %]</a>[% ', ' UNLESS loop.last() %]
+[% END %]
+</div>
 <p class="more-group"><a href="/group.pl?name=[% g.groupname %]" class="ajax">[% 'More info...' | i18n %]</a></p>
 </div>

Modified: branches/vhffs-design/vhffs-public/templates/parts/tags-cloud.tt
===================================================================
--- branches/vhffs-design/vhffs-public/templates/parts/tags-cloud.tt	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-public/templates/parts/tags-cloud.tt	2010-03-14 17:55:02 UTC (rev 1557)
@@ -2,7 +2,7 @@
 <div class="menu tags-menu">
 	<p>
 [% FOREACH t = popular_tags %]
-	<a href="/groupsearch.pl?included_tags=[% t.tag_id %]" class="tag[%t.weight%] ajax">
+	<a href="/tags/[% t.category_label | uri %]::[% t.tag_label | uri %]" class="tag[%t.weight%] ajax">
 	[<span title="[% t.category_description | html %]">[% t.category_label | html %]</span>::<span title="[% t.tag_description | html %]">[% t.tag_label | html %]</span>] 
 	</a>
 [% END %]
@@ -14,7 +14,7 @@
 <div class="menu tags-menu">
 	<p>
 [% FOREACH t = random_tags %]
-	<a href="/groupsearch.pl?included_tags=[% t.tag_id %]" class="tag[%t.weight%] ajax">
+	<a href="/tags/[% t.category_label | uri %]::[% t.tag_label %]" class="tag[%t.weight%] ajax">
 	[<span title="[% t.category_description | html %]">[% t.category_label | html %]</span>::<span title="[% t.tag_description | html %]">[% t.tag_label | html %]</span>]
 	</a>
 [% END %]


Property changes on: branches/vhffs-design/vhffs-public/usersearch_form.pl
___________________________________________________________________
Added: svn:executable
   + *

Modified: branches/vhffs-design/vhffs-robots/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-robots/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -2,12 +2,12 @@
 
 botsdir = @BOTSDIR@
 nobase_dist_bots_DATA = \
-	misc/awstats_6.4_vhffs.patch \
-	misc/awstats_6.5_vhffs.patch \
+	misc/awstats_6.7_vhffs.patch \
+	misc/awstats_6.95_vhffs.patch \
 	misc/awstats_htaccess_example \
 	misc/awstats.sample \
-	misc/repository.awstats_6.4_vhffs.patch \
-	misc/repository.awstats_6.5_vhffs.patch \
+	misc/repository.awstats_6.7_vhffs.patch \
+	misc/repository.awstats_6.95_vhffs.patch \
 	misc/repository.awstats_htaccess_example \
 	misc/repository.awstats.sample \
 	misc/cvs_viewvc.conf.tmpl \
@@ -23,7 +23,7 @@
 dist_bots_SCRIPTS = \
 	src/cvs_create.pl \
 	src/cvs_delete.pl \
-	src/cvs_fixperms.pl \
+	src/cvs_public.pl \
 	src/cvs_viewvcconf.pl \
 	src/dns_create.pl \
 	src/dns_delete.pl \

Modified: branches/vhffs-design/vhffs-robots/misc/awstats.sample
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/awstats.sample	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/awstats.sample	2010-03-14 17:55:02 UTC (rev 1557)
@@ -105,7 +105,7 @@
 #  3 - Possible on CLI and CGI
 # Default: 2
 #
-AllowFullYearView=2
+AllowFullYearView=3
 
 
 

Deleted: branches/vhffs-design/vhffs-robots/misc/awstats_6.4_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/awstats_6.4_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/awstats_6.4_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,27 +0,0 @@
---- /usr/lib/cgi-bin/awstats.pl	2006-05-26 09:38:54.000000000 +0200
-+++ awstats.pl	2007-03-01 00:05:51.000000000 +0100
-@@ -1091,10 +1091,10 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir && $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) {
--	    @PossibleConfigDir=("$configdir");
--	}
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z\.\-]+$/ );
-+	use Digest::MD5 qw(md5 md5_hex md5_base64);
-+	my $vhffssitehash = md5_hex( $SiteConfig );
-+	my $vhffsconfigdir = '/data/web/'.substr( $vhffssitehash, 0, 2 ).'/'.substr( $vhffssitehash, 2, 2 ).'/'.substr( $vhffssitehash, 4, 2 ).'/'.$SiteConfig.'/awstats';
-+	@PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5740,7 +5740,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Deleted: branches/vhffs-design/vhffs-robots/misc/awstats_6.5_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/awstats_6.5_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/awstats_6.5_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,25 +0,0 @@
---- awstats.pl.org	2008-02-08 19:42:07.000000000 +0100
-+++ awstats.pl	2008-02-08 19:43:21.000000000 +0100
-@@ -1131,8 +1131,11 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir && $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) { @PossibleConfigDir=("$configdir"); }
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z\.\-]+$/ );
-+	use Digest::MD5 qw(md5 md5_hex md5_base64);
-+	my $vhffssitehash = md5_hex( $SiteConfig );
-+	my $vhffsconfigdir = '/data/web/'.substr( $vhffssitehash, 0, 2 ).'/'.substr( $vhffssitehash, 2, 2 ).'/'.substr( $vhffssitehash, 4, 2 ).'/'.$SiteConfig.'/awstats';
-+	@PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5878,7 +5881,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Deleted: branches/vhffs-design/vhffs-robots/misc/awstats_6.6_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/awstats_6.6_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/awstats_6.6_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,36 +0,0 @@
---- /usr/lib/cgi-bin/awstats.pl	2007-04-09 18:52:46.000000000 +0200
-+++ awstats.pl	2007-04-09 18:50:35.000000000 +0200
-@@ -1131,19 +1131,11 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir)
--	{
--		# If from CGI, overwriting of configdir is only possible if AWSTATS_ENABLE_CONFIG_DIR defined
--		if ($ENV{'GATEWAY_INTERFACE'} && ! $ENV{"AWSTATS_ENABLE_CONFIG_DIR"})
--		{
--			error("Sorry, to allow overwriting of configdir parameter from an AWStats CGI usage, environment variable AWSTATS_ENABLE_CONFIG_DIR must be set to 1");
--		}
--		else
--		{
--			@PossibleConfigDir=("$configdir");
--		}
--	}
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z\.\-]+$/ );
-+       use Digest::MD5 qw(md5 md5_hex md5_base64);
-+       my $vhffssitehash = md5_hex( $SiteConfig );
-+       my $vhffsconfigdir = '/data/web/'.substr( $vhffssitehash, 0, 2 ).'/'.substr( $vhffssitehash, 2, 2 ).'/'.substr( $vhffssitehash, 4, 2 ).'/'.$SiteConfig.'/awstats';
-+       @PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5858,7 +5850,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Copied: branches/vhffs-design/vhffs-robots/misc/awstats_6.95_vhffs.patch (from rev 1556, trunk/vhffs-robots/misc/awstats_6.95_vhffs.patch)
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/awstats_6.95_vhffs.patch	                        (rev 0)
+++ branches/vhffs-design/vhffs-robots/misc/awstats_6.95_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,39 @@
+--- awstats.pl	2009-09-06 15:02:19.000000000 +0000
++++ awstats.pl.web	2009-09-06 15:04:13.000000000 +0000
+@@ -1718,22 +1718,11 @@
+ 	my $configdir         = shift;
+ 	my @PossibleConfigDir = ();
+ 
+-	if ($configdir) {
+-		# If from CGI, overwriting of configdir is only possible if AWSTATS_ENABLE_CONFIG_DIR defined
+-		if ($ENV{'GATEWAY_INTERFACE'} && ! $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) {
+-			error("Sorry, to allow overwriting of configdir parameter from an AWStats CGI usage, environment variable AWSTATS_ENABLE_CONFIG_DIR must be set to 1");
+-		}
+-		else {
+-			@PossibleConfigDir = ("$configdir");
+-		}
+-	}
+-	else {
+-		@PossibleConfigDir = (
+-			"$DIR",                   "/etc/awstats",
+-			"/usr/local/etc/awstats", "/etc",
+-			"/etc/opt/awstats"
+-		);
+-	}
++	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z\.\-]+$/ );
++	use Digest::MD5 qw(md5 md5_hex md5_base64);
++	my $vhffssitehash = md5_hex( $SiteConfig );
++	my $vhffsconfigdir = '/data/web/'.substr( $vhffssitehash, 0, 2 ).'/'.substr( $vhffssitehash, 2, 2 ).'/'.substr( $vhffssitehash, 4, 2 ).'/'.$SiteConfig.'/awstats';
++	@PossibleConfigDir=("$vhffsconfigdir");
+ 
+ 	# Open config file
+ 	$FileConfig = $FileSuffix = '';
+@@ -10081,7 +10070,7 @@
+ else { @DOWIndex = ( 0, 1, 2, 3, 4, 5, 6 ); }
+ 
+ # Should we link to ourselves or to a wrapper script
+-$AWScript = ( $WrapperScript ? "$WrapperScript" : "$DirCgi$PROG.$Extension" );
++$AWScript = ( $WrapperScript ? "$WrapperScript" : "/$DirCgi$PROG.$Extension" );
+ 
+ # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
+ if ( !$HeaderHTMLSent ) { &html_head; }

Modified: branches/vhffs-design/vhffs-robots/misc/repository.awstats.sample
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/repository.awstats.sample	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/repository.awstats.sample	2010-03-14 17:55:02 UTC (rev 1557)
@@ -105,7 +105,7 @@
 #  3 - Possible on CLI and CGI
 # Default: 2
 #
-AllowFullYearView=2
+AllowFullYearView=3
 
 
 

Deleted: branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.4_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.4_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.4_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,25 +0,0 @@
---- /usr/lib/cgi-bin/awstats.pl	2006-05-26 09:38:54.000000000 +0200
-+++ awstats.pl	2007-03-01 00:05:51.000000000 +0100
-@@ -1091,10 +1091,10 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir && $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) {
--	    @PossibleConfigDir=("$configdir");
--	}
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z]+$/ );
-+	my $vhffsconfigdir = '/data/logs/repository/parsed/'.$SiteConfig.'/awstats';
-+	@PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5740,7 +5740,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Deleted: branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.5_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.5_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.5_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,25 +0,0 @@
---- /usr/lib/cgi-bin/awstats.pl	2006-05-26 09:38:54.000000000 +0200
-+++ /data/logs/repository/awstats.pl	2007-03-11 12:12:03.000000000 +0100
-@@ -1091,10 +1091,9 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir && $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) {
--	    @PossibleConfigDir=("$configdir");
--	}
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z]+$/ );
-+	my $vhffsconfigdir = '/data/logs/repository/parsed/'.$SiteConfig.'/awstats';
-+	@PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5740,7 +5739,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Deleted: branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.6_vhffs.patch
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.6_vhffs.patch	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.6_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,34 +0,0 @@
---- /usr/lib/cgi-bin/awstats.pl	2007-04-09 18:52:46.000000000 +0200
-+++ awstats.pl	2007-04-09 18:50:35.000000000 +0200
-@@ -1131,19 +1131,11 @@
- 	my $configdir=shift;
- 	my @PossibleConfigDir=();
- 
--	if ($configdir)
--	{
--		# If from CGI, overwriting of configdir is only possible if AWSTATS_ENABLE_CONFIG_DIR defined
--		if ($ENV{'GATEWAY_INTERFACE'} && ! $ENV{"AWSTATS_ENABLE_CONFIG_DIR"})
--		{
--			error("Sorry, to allow overwriting of configdir parameter from an AWStats CGI usage, environment variable AWSTATS_ENABLE_CONFIG_DIR must be set to 1");
--		}
--		else
--		{
--			@PossibleConfigDir=("$configdir");
--		}
--	}
--	else { @PossibleConfigDir=("$DIR","/etc/awstats","/usr/local/etc/awstats","/etc","/etc/opt/awstats"); }
-+	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z]+$/ );
-+	my $vhffsconfigdir = '/data/logs/repository/parsed/'.$SiteConfig.'/awstats';
-+	@PossibleConfigDir=("$vhffsconfigdir");
- 
- 	# Open config file
- 	$FileConfig=$FileSuffix='';
-@@ -5858,7 +5850,7 @@
- else { @DOWIndex = (0,1,2,3,4,5,6); }
- 
- # Should we link to ourselves or to a wrapper script
--$AWScript=($WrapperScript?"$WrapperScript":"$DirCgi$PROG.$Extension");
-+$AWScript=($WrapperScript?"$WrapperScript":"/$DirCgi$PROG.$Extension");
- 
- # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
- if (! $HeaderHTMLSent) { &html_head; }

Copied: branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.95_vhffs.patch (from rev 1556, trunk/vhffs-robots/misc/repository.awstats_6.95_vhffs.patch)
===================================================================
--- branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.95_vhffs.patch	                        (rev 0)
+++ branches/vhffs-design/vhffs-robots/misc/repository.awstats_6.95_vhffs.patch	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,37 @@
+--- awstats.pl	2009-09-06 15:02:19.000000000 +0000
++++ awstats.pl.downloads	2009-09-06 15:05:31.000000000 +0000
+@@ -1718,22 +1718,9 @@
+ 	my $configdir         = shift;
+ 	my @PossibleConfigDir = ();
+ 
+-	if ($configdir) {
+-		# If from CGI, overwriting of configdir is only possible if AWSTATS_ENABLE_CONFIG_DIR defined
+-		if ($ENV{'GATEWAY_INTERFACE'} && ! $ENV{"AWSTATS_ENABLE_CONFIG_DIR"}) {
+-			error("Sorry, to allow overwriting of configdir parameter from an AWStats CGI usage, environment variable AWSTATS_ENABLE_CONFIG_DIR must be set to 1");
+-		}
+-		else {
+-			@PossibleConfigDir = ("$configdir");
+-		}
+-	}
+-	else {
+-		@PossibleConfigDir = (
+-			"$DIR",                   "/etc/awstats",
+-			"/usr/local/etc/awstats", "/etc",
+-			"/etc/opt/awstats"
+-		);
+-	}
++	error("Wrong config name") unless( $SiteConfig =~ /^[0-9a-z]+$/ );
++	my $vhffsconfigdir = '/data/logs/repository/parsed/'.$SiteConfig.'/awstats';
++	@PossibleConfigDir=("$vhffsconfigdir");
+ 
+ 	# Open config file
+ 	$FileConfig = $FileSuffix = '';
+@@ -10081,7 +10068,7 @@
+ else { @DOWIndex = ( 0, 1, 2, 3, 4, 5, 6 ); }
+ 
+ # Should we link to ourselves or to a wrapper script
+-$AWScript = ( $WrapperScript ? "$WrapperScript" : "$DirCgi$PROG.$Extension" );
++$AWScript = ( $WrapperScript ? "$WrapperScript" : "/$DirCgi$PROG.$Extension" );
+ 
+ # Print html header (Need HTMLOutput,Expires,Lang,StyleSheet,HTMLHeadSectionExpires defined by Read_Config, PageCode defined by Read_Language_Data)
+ if ( !$HeaderHTMLSent ) { &html_head; }

Modified: branches/vhffs-design/vhffs-robots/src/cron_scheduler.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/cron_scheduler.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/cron_scheduler.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -77,7 +77,7 @@
 		# new jobs ?
 		my $crons = Vhffs::Robots::Cron::get_runnable_jobs( $vhffs );
 		foreach my $c ( @{$crons} )  {
-			if( exists ${%jobs}{ $c->get_cron_id } )  {
+			if( exists $jobs{ $c->get_cron_id } )  {
 				print scalar localtime().'    ! '.$c->get_cron_id.' '.$c->get_cronpath."\n";
 			}
 			else {
@@ -96,21 +96,44 @@
 	}
 
 	foreach ( keys %jobs )  {
-		my $job = ${%jobs}{$_};
+		my $job = $jobs{$_};
 		if( $job->{'status'} == STATUS_CREATED )  {
 			run_job( $job ) if( time() > $job->{'runat'} );
 		}
-		elsif ( $job->{'status'} == STATUS_RUNNING )  {
-			if( defined $maxexectime  &&  $maxexectime > 0  &&  time() - $job->{'startedat'} > $maxexectime ) {
-				kill 9, $job->{'pid'};
-				$job->{'status'} = STATUS_KILLED;
+		else {
+			if ( $job->{'status'} == STATUS_RUNNING )  {
+				if( defined $maxexectime  &&  $maxexectime > 0  &&  time() - $job->{'startedat'} > $maxexectime ) {
+					kill 9, $job->{'pid'};
+					$job->{'status'} = STATUS_KILLED;
+				}
 			}
+
+			my $pid = waitpid( $job->{'pid'}, POSIX::WNOHANG );
+			my $returnvalue = $? >> 8;
+			if ( $pid == $job->{'pid'} ) {
+				my $cron = $job->{'cron'};
+			
+				$job->{'output'} .= "\n------KILLED------\n" if( $job->{'status'} == STATUS_KILLED );
+			
+				if( defined $job->{'output'}  &&  $job->{'output'} ne '' )  {
+			
+					my $body = 'Exit value: '. $returnvalue."\n\n";
+					$body .= 'WARNING: This process was killed because it were still running after more than '.$maxexectime.' seconds'."\n\n" if( $job->{'status'} == STATUS_KILLED );
+					$body .= "\n--- Environment ---\n\n".$job->{'env'}."\n\n--- Stdout and stderr output ---\n\n".$job->{'output'}."\n";
+					sendmail_cron( $cron , $body );
+				}
+			
+				$cron->quick_set_nextrundate( time() + $cron->get_interval );
+				$cron->quick_set_lastrun( $job->{'createdat'} , $returnvalue );
+				$cron->quick_dec_running();
+				destroy_job( $job );
+			}
 		}
 	}
 
 	my ($rh_set) = IO::Select->select($read_set, undef, undef, 1);
 	foreach my $rh (@$rh_set) {
-		my $job = ${%fd2jobs}{$rh->fileno};
+		my $job = $fd2jobs{$rh->fileno};
 		my $cron = $job->{'cron'};
 		my $buf = <$rh>;
 		if($buf) {
@@ -127,24 +150,7 @@
 			}
 		}
 		else {
-			# End of this job
-			waitpid( $job->{'pid'} , 0 );
-			my $returnvalue = $? >> 8;
-
-			$job->{'output'} .= "\n------KILLED------\n" if( $job->{'status'} == STATUS_KILLED );
-
-			if( defined $job->{'output'}  &&  $job->{'output'} ne '' )  {
-
-				my $body = 'Exit value: '. $returnvalue."\n\n";
-				$body .= 'WARNING: This process was killed because it were still running after more than '.$maxexectime.' seconds'."\n\n" if( $job->{'status'} == STATUS_KILLED );
-				$body .= "\n--- Environment ---\n\n".$job->{'env'}."\n\n--- Stdout and stderr output ---\n\n".$job->{'output'}."\n";
-				sendmail_cron( $cron , $body );
-			}
-
-			$cron->quick_set_nextrundate( time() + $cron->get_interval );
-			$cron->quick_set_lastrun( $job->{'createdat'} , $returnvalue );
-			$cron->quick_dec_running();
-			destroy_job( $job );
+			$read_set->remove( $rh );
 		}
 	}
 
@@ -192,22 +198,22 @@
 		return undef;
 	}
 
-	${%jobs}{$cron_id}{'cron'} = $cron;
-	${%jobs}{$cron_id}{'fullpath'} = $fullpath;
-	${%jobs}{$cron_id}{'pid'} = undef;
-	${%jobs}{$cron_id}{'pipe'} = undef;
-	${%jobs}{$cron_id}{'output'} = undef;
-	${%jobs}{$cron_id}{'env'} = '';
-	${%jobs}{$cron_id}{'inheaders'} = 1;
-	${%jobs}{$cron_id}{'createdat'} = time();
-	${%jobs}{$cron_id}{'runat'} = ${%jobs}{$cron_id}{'createdat'} + int(rand 4) +2;
-	${%jobs}{$cron_id}{'startedat'} = undef;
-	${%jobs}{$cron_id}{'status'} = STATUS_CREATED;
-	$cron->quick_set_nextrundate( ${%jobs}{$cron_id}{'runat'} );  # so that we know when the process will/has be/been started in nextrundate
+	$jobs{$cron_id}{'cron'} = $cron;
+	$jobs{$cron_id}{'fullpath'} = $fullpath;
+	$jobs{$cron_id}{'pid'} = undef;
+	$jobs{$cron_id}{'pipe'} = undef;
+	$jobs{$cron_id}{'output'} = undef;
+	$jobs{$cron_id}{'env'} = '';
+	$jobs{$cron_id}{'inheaders'} = 1;
+	$jobs{$cron_id}{'createdat'} = time();
+	$jobs{$cron_id}{'runat'} = $jobs{$cron_id}{'createdat'} + int(rand 4) +2;
+	$jobs{$cron_id}{'startedat'} = undef;
+	$jobs{$cron_id}{'status'} = STATUS_CREATED;
+	$cron->quick_set_nextrundate( $jobs{$cron_id}{'runat'} );  # so that we know when the process will/has be/been started in nextrundate
 	$cron->quick_inc_running();
 
 	print scalar localtime().'    + '.$cron_id.' '.$cron->get_cronpath."\n";
-	return ${%jobs}{$cron_id};
+	return $jobs{$cron_id};
 }
 
 
@@ -254,11 +260,11 @@
 		# I am the parent
 		close $son;
 
-		${%jobs}{$cron_id}{'pid'} = $pid;
-		${%jobs}{$cron_id}{'pipe'} = $par;
-		${%jobs}{$cron_id}{'startedat'} = time();
-		${%jobs}{$cron_id}{'status'} = STATUS_RUNNING;
-		${%fd2jobs}{$par->fileno} = ${%jobs}{$cron_id};
+		$jobs{$cron_id}{'pid'} = $pid;
+		$jobs{$cron_id}{'pipe'} = $par;
+		$jobs{$cron_id}{'startedat'} = time();
+		$jobs{$cron_id}{'status'} = STATUS_RUNNING;
+		$fd2jobs{$par->fileno} = $jobs{$cron_id};
 		$read_set->add($par);
 		return 0;
 
@@ -312,11 +318,11 @@
 	my $cron_id = $cron->get_cron_id;
 
 	print scalar localtime().'    - '.$cron->get_cron_id.' '.$cron->get_cronpath."\n";
-	delete ${%jobs}{$cron_id};
+	delete $jobs{$cron_id};
 
 	my $pipe = $job->{'pipe'};
 	if( defined $pipe )  {
-		delete ${%fd2jobs}{ $pipe->fileno };
+		delete $fd2jobs{ $pipe->fileno };
 		$read_set->remove($pipe);
 		close($pipe);
 	}
@@ -329,5 +335,5 @@
 	my $body = shift;
 	return undef unless( defined $cron->get_reportmail  &&  $cron->get_reportmail ne '' );
 	my $subject = 'VHFFS Cron '.$cron->get_cronpath;
-	Vhffs::Functions::send_mail( $mailcronfrom , $cron->get_reportmail , $vhffs->get_config->get_mailtag , $subject , $body );
+	Vhffs::Functions::send_mail( $vhffs , $mailcronfrom , $cron->get_reportmail , $vhffs->get_config->get_mailtag , $subject , $body );
 }

Modified: branches/vhffs-design/vhffs-robots/src/cvs_create.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/cvs_create.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/cvs_create.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -41,23 +41,21 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "cvs" );
+Vhffs::Robots::lock( $vhffs , 'cvs' );
 
 my $cvs = Vhffs::Services::Cvs::getall( $vhffs , Vhffs::Constants::WAITING_FOR_CREATION , undef , undef  );
-my $c;
-
-foreach $c ( @{$cvs} )
+foreach my $c ( @{$cvs} )
 {
-		if( Vhffs::Robots::Cvs::create_cvs( $c ) > 0 )
-		{
-			Vhffs::Robots::vhffs_log( sprintf( "CVS: repository %s is created" , $c->get_cvsroot ) , $vhffs);
-		}
-		else
-		{
-			Vhffs::Robots::vhffs_log( sprintf( "CVS: cannot create %s CVS repository" , $c->get_cvsroot ) , $vhffs);
-		}
+	if( Vhffs::Robots::Cvs::create_cvs( $c ) != 0 )
+	{
+		Vhffs::Robots::vhffs_log( sprintf( 'CVS: repository %s is created' , $c->get_cvsroot ) , $vhffs);
+	}
+	else
+	{
+		Vhffs::Robots::vhffs_log( sprintf( 'CVS: cannot create %s CVS repository' , $c->get_cvsroot ) , $vhffs);
+	}
 }
 
-Vhffs::Robots::unlock( $vhffs , "cvs" );
+Vhffs::Robots::unlock( $vhffs , 'cvs' );
 
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/cvs_delete.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/cvs_delete.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/cvs_delete.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,27 +42,25 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "cvs" );
+Vhffs::Robots::lock( $vhffs , 'cvs' );
 
-my $lol = Vhffs::Services::Cvs::getall( $vhffs , Vhffs::Constants::TO_DELETE );
-my $cvs;
-
-foreach $cvs ( @{$lol} )
+my $repos = Vhffs::Services::Cvs::getall( $vhffs , Vhffs::Constants::TO_DELETE );
+foreach my $cvs ( @{$repos} )
 {
-    if( Vhffs::Robots::Cvs::delete_cvs( $cvs ) > 0 ) {
-        Vhffs::Robots::vhffs_log( sprintf( "Delete files from %s", $cvs->get_cvsroot ), $vhffs);
-    } else {
-        Vhffs::Robots::vhffs_log( sprintf( "Cannot delete files from %s", $cvs->get_cvsroot ), $vhffs);
-    }
+	if( Vhffs::Robots::Cvs::delete_cvs( $cvs ) != 0 ) {
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete files from %s', $cvs->get_cvsroot ), $vhffs);
+	} else {
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete files from %s', $cvs->get_cvsroot ), $vhffs);
+	}
 
-    if( $cvs->delete > 0 ) {
-        Vhffs::Robots::vhffs_log( sprintf( "Delete CVS object %s", $cvs->get_cvsroot ), $vhffs);
-    } else {
-        Vhffs::Robots::vhffs_log( sprintf( "Cannot delete CVS object %s", $cvs->get_cvsroot ), $vhffs);
-    }
+	if( $cvs->delete < 0 ) {
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete CVS object %s', $cvs->get_cvsroot ), $vhffs);
+	} else {
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete CVS object %s', $cvs->get_cvsroot ), $vhffs);
+	}
 }
 
 
-Vhffs::Robots::unlock( $vhffs , "cvs" );
+Vhffs::Robots::unlock( $vhffs , 'cvs' );
 
 exit 0;

Deleted: branches/vhffs-design/vhffs-robots/src/cvs_fixperms.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/cvs_fixperms.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/cvs_fixperms.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,111 +0,0 @@
-#!%PERL%
-# Copyright (c) vhffs project and its contributors
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without 
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright 
-#   notice, this list of conditions and the following disclaimer.
-#2. Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in 
-#   the documentation and/or other materials provided with the 
-#   distribution.
-#3. Neither the name of vhffs nor the names of its contributors 
-#   may be used to endorse or promote products derived from this 
-#   software without specific prior written permission.
-#
-#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
-#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
-#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
-#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
-#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
-#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-# POSSIBILITY OF SUCH DAMAGE.
-
-
-# This is a part of VHFFS platform
-# Please consider the entire platform
-# See http://vhffs.org
-
-# by sod
-
-use strict;
-use utf8;
-
-use lib '%VHFFS_LIB_DIR%';
-use Vhffs::Main;
-use Vhffs::Robots;
-use Vhffs::Functions;
-use Vhffs::Constants;
-use Vhffs::Services::Cvs;
-
-
-my $vhffs = init Vhffs::Main;
-
-Vhffs::Robots::lock( $vhffs , "cvs" );
-
-my $cvss = Vhffs::Services::Cvs::getall( $vhffs , Vhffs::Constants::WAITING_FOR_MODIFICATION );
-my $cvs;
-my $dir;
-my $user;
-my $group;
-my $readers_file;
-my $passwd_file;
-
-
-foreach $cvs ( @{$cvss} )
-{
-	$dir = $cvs->get_dir . "/CVSROOT/" ;
-	$readers_file = $dir."/readers";
-	$passwd_file = $dir."/passwd";
-	$user = $cvs->get_user;
-	$group = $cvs->get_group;
-	#First, update uid and gid informations on files
-	if( ( defined $user ) && ( defined $group ) )
-        {
-	            Vhffs::Functions::change_owner_recur( $cvs->get_dir , $user->get_uid , $group->get_gid );
-	}
-
-	if( $cvs->is_public == 0 )
-	{
-		Vhffs::Robots::vhffs_log( sprintf( "CVS fixperm (private) for %s", $cvs->get_cvsroot ), $vhffs);
-		$cvs->add_history("CVS is now private");
-		Vhffs::Functions::chmod_recur( $cvs->get_dir , 0660 , 02770 );
-
-		#Delete reader_file if exists
-		unlink( $readers_file ) if( -f $readers_file );
-	}
-	else
-	{
-		#Fix permissions
-		Vhffs::Robots::vhffs_log( sprintf( "CVS fixperm (public) for %s", $cvs->get_cvsroot ), $vhffs);
-		$cvs->add_history("CVS is now public");
-		Vhffs::Functions::chmod_recur( $cvs->get_dir , 0664 , 02775 );
-
-
-		#Fix readers file
-		Vhffs::Robots::vhffs_log( sprintf("CVS, put repository %s public" , $cvs->get_cvsroot), $vhffs);
-		open( FILE , ">$readers_file" ) or die( "cannot open $readers_file" );
-		print FILE "anonymous";
-		close( FILE );
-
-		open( FILE , ">$passwd_file" ) or die( "cannot open $passwd_file" );
-		print FILE "anonymous::".$user->get_username;
-		close( FILE );
-		chown $cvs->get_owner_uid , $cvs->get_owner_gid , $passwd_file;
-		chown $cvs->get_owner_uid , $cvs->get_owner_gid , $readers_file;
-	}
-	$cvs->set_status( Vhffs::Constants::ACTIVATED );
-	$cvs->commit;
-}
-
-Vhffs::Robots::unlock( $vhffs , "cvs" );
-
-exit 0;

Copied: branches/vhffs-design/vhffs-robots/src/cvs_public.pl (from rev 1556, trunk/vhffs-robots/src/cvs_public.pl)
===================================================================
--- branches/vhffs-design/vhffs-robots/src/cvs_public.pl	                        (rev 0)
+++ branches/vhffs-design/vhffs-robots/src/cvs_public.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,95 @@
+#!%PERL%
+# Copyright (c) vhffs project and its contributors
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright 
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in 
+#   the documentation and/or other materials provided with the 
+#   distribution.
+#3. Neither the name of vhffs nor the names of its contributors 
+#   may be used to endorse or promote products derived from this 
+#   software without specific prior written permission.
+#
+#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
+#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
+#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+# This is a part of VHFFS platform
+# Please consider the entire platform
+# See http://vhffs.org
+
+# by sod
+
+use strict;
+use utf8;
+
+use lib '%VHFFS_LIB_DIR%';
+use Vhffs::Main;
+use Vhffs::Robots;
+use Vhffs::Functions;
+use Vhffs::Constants;
+use Vhffs::Services::Cvs;
+
+
+my $vhffs = init Vhffs::Main;
+
+Vhffs::Robots::lock( $vhffs , 'cvs' );
+
+my $cvss = Vhffs::Services::Cvs::getall( $vhffs , Vhffs::Constants::WAITING_FOR_MODIFICATION );
+foreach my $cvs ( @{$cvss} )
+{
+	my $readers_file = $cvs->get_dir.'/CVSROOT/readers';
+	my $passwd_file = $cvs->get_dir.'/CVSROOT/passwd';
+
+	if( $cvs->is_public == 1 )
+	{
+		Vhffs::Robots::vhffs_log( sprintf( 'CVS fixperm (public) for %s', $cvs->get_cvsroot ), $vhffs);
+		$cvs->add_history('CVS is now public');
+		chmod 02775 , $cvs->get_dir;
+
+		# fix readers file
+		Vhffs::Robots::vhffs_log( sprintf('CVS, put repository %s public' , $cvs->get_cvsroot), $vhffs);
+		open( FILE , '>'.$readers_file ) or die( 'cannot open '.$readers_file );
+		print FILE 'anonymous'."\n";
+		close( FILE );
+		chown $cvs->get_owner_uid , $cvs->get_owner_gid , $readers_file;
+
+		# fix passwd file
+		open( FILE , '>'.$passwd_file ) or die( 'cannot open '.$passwd_file );
+		print FILE 'anonymous::'.$cvs->get_user->get_username."\n";
+		close( FILE );
+		chown $cvs->get_owner_uid , $cvs->get_owner_gid , $passwd_file;
+	}
+	else
+	{
+		Vhffs::Robots::vhffs_log( sprintf( 'CVS fixperm (private) for %s', $cvs->get_cvsroot ), $vhffs);
+		$cvs->add_history('CVS is now private');
+		chmod 02770 , $cvs->get_dir;
+
+		# delete reader_file if it exists
+		unlink $readers_file if -f $readers_file;
+	}
+
+	$cvs->set_status( Vhffs::Constants::ACTIVATED );
+	$cvs->commit;
+}
+
+Vhffs::Robots::unlock( $vhffs , 'cvs' );
+
+exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/git_create.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/git_create.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/git_create.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -43,19 +43,18 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "git" );
+Vhffs::Robots::lock( $vhffs , 'git' );
 
 my $repos = Vhffs::Services::Git::getall( $vhffs , Vhffs::Constants::WAITING_FOR_CREATION);
-my $git;
-foreach $git ( @{$repos} )
+foreach my $git ( @{$repos} )
 {
-	if( Vhffs::Robots::Git::create_repo( $vhffs , $git ) < 0 ) {
-    		Vhffs::Robots::vhffs_log( sprintf( "Cannot create GIT %s" , $git->get_reponame ), $vhffs);
+	if( Vhffs::Robots::Git::create_repo( $git ) != 0 ) {
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot create GIT %s' , $git->get_reponame ), $vhffs);
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Create GIT %s" , $git->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Created GIT %s' , $git->get_reponame ), $vhffs);
 	}
 }
 
 
-Vhffs::Robots::unlock( $vhffs , "git" );
+Vhffs::Robots::unlock( $vhffs , 'git' );
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/git_delete.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/git_delete.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/git_delete.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -43,24 +43,23 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "git" );
+Vhffs::Robots::lock( $vhffs , 'git' );
 
-my $repos = Vhffs::Services::Git::getall( $vhffs , Vhffs::Constants::TO_DELETE);
-my $git;
-foreach $git ( @{$repos} )
+my $repos = Vhffs::Services::Git::getall( $vhffs , Vhffs::Constants::TO_DELETE );
+foreach my $git ( @{$repos} )
 {
-	if( Vhffs::Robots::Git::delete_repo( $vhffs , $git ) < 0 )	{
-		Vhffs::Robots::vhffs_log( sprintf( "Cannot delete files from GIT repository %s" , $git->get_reponame ), $vhffs);
+	if( Vhffs::Robots::Git::delete_repo( $git ) != 0 )	{
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete files from GIT repository %s' , $git->get_reponame ), $vhffs);
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Delete files from GIT repository %s" , $git->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete files from GIT repository %s' , $git->get_reponame ), $vhffs);
 	}
 
 	if( $git->delete < 0 ) {
-		Vhffs::Robots::vhffs_log( sprintf( "Cannot delete GIT repository object %s" , $git->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete GIT repository object %s' , $git->get_reponame ), $vhffs);
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Delete GIT repository object %s" , $git->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete GIT repository object %s' , $git->get_reponame ), $vhffs);
 	}
 }
 
-Vhffs::Robots::unlock( $vhffs , "git" );
+Vhffs::Robots::unlock( $vhffs , 'git' );
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/git_public.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/git_public.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/git_public.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -43,39 +43,30 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "git" );
+Vhffs::Robots::lock( $vhffs , 'git' );
 
 my $repos = Vhffs::Services::Git::getall( $vhffs , Vhffs::Constants::WAITING_FOR_MODIFICATION );
-my $git;
-foreach $git ( @{$repos} )
+foreach my $git ( @{$repos} )
 {
-	my $user = $git->get_user;
-	my $group = $git->get_group;
-	#First, update uid and gid informations on files
-	if( ( defined $user ) && ( defined $group ) ) {
-			Vhffs::Robots::vhffs_log( sprintf( "GIT change owner/group to %s/%s for repository %s" , $user->get_username , $group->get_groupname , $git->get_dir ) , $vhffs);
-			Vhffs::Functions::change_owner_recur( $git->get_dir , $user->get_uid , $group->get_gid );
-	}
-
 	if( $git->is_public == 1 ) {
-		Vhffs::Robots::vhffs_log( sprintf( "GIT change status %s is now public" , $git->get_dir ) , $vhffs);
-		Vhffs::Functions::chmod_recur( $git->get_dir , 0664 , 02775 );
+		chmod 02775 , $git->get_dir;
+		Vhffs::Robots::vhffs_log( sprintf( 'GIT status %s is now public' , $git->get_dir ) , $vhffs);
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "GIT change status %s is now private" , $git->get_dir ) , $vhffs);
-		Vhffs::Functions::chmod_recur( $git->get_dir , 0660 , 02770 );
+		chmod 02770 , $git->get_dir;
+		Vhffs::Robots::vhffs_log( sprintf( 'GIT status %s is now private' , $git->get_dir ) , $vhffs);
 	}
 
 	Vhffs::Robots::Git::change_conf( $git );
 	$git->set_status( Vhffs::Constants::ACTIVATED );
 	
 	if( $git->commit < 0 ) {
-		$git->add_history( "Error while updating repository configuration");
+		$git->add_history( 'Error while updating repository configuration' );
 	} else {
-		$git->add_history( "Successfully modify repository configuration");
+		$git->add_history( 'Successfully modify repository configuration' );
 	}
 }
 
 
-Vhffs::Robots::unlock( $vhffs , "git" );
+Vhffs::Robots::unlock( $vhffs , 'git' );
 
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/listengine_publicarchives.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/listengine_publicarchives.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/listengine_publicarchives.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -10,6 +10,7 @@
 use Vhffs::Services::MailingList;
 use Vhffs::Constants;
 use Vhffs::Robots;
+use File::Path;
 use HTML::Template;
 
 my $vhffs = init Vhffs::Main;
@@ -38,7 +39,9 @@
 my $configmhonarc = $miscdir."/mhonarc.config";
 die "mhonarc configuration file unavailable" unless( -f $configmhonarc );
 
-mkdir($outputdir, 0755);
+File::Path::mkpath( $outputdir, {
+	mode => 0755
+});
 die "Cannot create ".$outputdir." directory\n" unless( -d $outputdir );
 
 Vhffs::Robots::lock( $vhffs , "listenginearchives" );
@@ -54,7 +57,7 @@
 	if ( $list->get_open_archive == 0 )  {
 		my $publicdir = $outputdir."/".$list->get_domain."/".$list->get_localpart;
 		if ( -d $publicdir)  {
-			system("rm -rf $publicdir 2>/dev/null");
+			File::Path::rmtree($publicdir);
 		}
 		next;
 	}
@@ -100,9 +103,7 @@
 			mkdir($outputmonthdir, 0755);
 			if (! -d $outputmonthdir)  { die "Cannot create ".$outputmonthdir." directory\n"; };
 
-			print $monthpath." -> ".$outputmonthdir."\n";
-			$cmd = "mhonarc -add -rc " . $configmhonarc . " -definevar MAIN-TITLE='" . $list->get_domain . "/" . $list->get_localpart . "' -outdir " . $outputmonthdir . " " . $monthpath . "/*/*";
-			print $cmd."\n";
+			$cmd = "mhonarc -add -quiet -rc " . $configmhonarc . " -definevar MAIN-TITLE='" . $list->get_domain . "/" . $list->get_localpart . "' -outdir " . $outputmonthdir . " " . $monthpath . "/*/*";
 			system( $cmd );
 
 			# -- index : part

Modified: branches/vhffs-design/vhffs-robots/src/mail_delete.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/mail_delete.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/mail_delete.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -38,9 +38,10 @@
 use Vhffs::Services::MailingList;
 use Vhffs::Robots;
 use Vhffs::Main;
+use File::Path;
+use File::Basename;
 
 
-
 my $vhffs = init Vhffs::Main;
 
 Vhffs::Robots::lock( $vhffs , "mail" );
@@ -58,19 +59,40 @@
 			$list->commit;
 		}
 		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete mail domain %s, remains lists, requests have been sent to delete them' , $mail->get_domain ) , $vhffs);
-	} elsif( $mail->nb_boxes() > 0 ) {
+		# Do not call next right now, check for boxes to avoir further failure
+	}
+
+	if( $mail->nb_boxes() > 0 ) {
 		foreach my $bo ( values( %{$mail->get_boxes()} ) ) {
 			$mail->set_box_status( $bo->{'local_part'} , Vhffs::Constants::TO_DELETE );
 		}
 		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete mail domain %s, remains %d boxes, requests have been sent to delete them' , $mail->get_domain , $mail->nb_boxes() ) , $vhffs);
+		next;
+	} 
+
+	next if(@$lists);
+
+	Vhffs::Robots::vhffs_log( sprintf( "Delete mail domain %s" , $mail->get_domain ) , $vhffs);
+	my $dir = $mail->get_dir();
+
+	if( defined($dir) && -d $dir && -r _ && -w _ && -x _ )  {
+		my $dir = $mail->get_dir;
+		my $errors=[];
+		File::Path::rmtree( $mail->get_dir, { error => \$errors });
+		# Mail domain directories are hashed on two levels, so we've 3 potentially
+		# empty directories to delete
+		$dir = dirname($dir);
+		rmdir $dir;
+		$dir = dirname($dir);
+		rmdir $dir;
+		
+		if(@$errors) {
+			Vhffs::Robots::vhffs_log( sprintf( 'Something went wrong during %s mail domain deletion: %s', $mail->get_domain, join(', ', @$errors) ) );
+		}
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Delete mail domain %s" , $mail->get_domain ) , $vhffs);
-		if( $mail->get_dir && -d $mail->get_dir && chdir( $mail->get_dir ) )  {
-			my $cmd = 'rm -r '.$mail->get_dir;
-			system( $cmd );
-		}
-		$mail->delete;
+		Vhffs::Robots::vhffs_log( sprintf( 'Unable to get mail domain directory or bad permission for mail domain %s, aborting file system deletion', $mail->get_domain ) );
 	}
+	$mail->delete;
 }
 
 Vhffs::Robots::unlock( $vhffs , "mail" );

Modified: branches/vhffs-design/vhffs-robots/src/mail_deleteboxes.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/mail_deleteboxes.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/mail_deleteboxes.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -38,6 +38,8 @@
 use Vhffs::Robots::Mail;
 use Vhffs::Robots;
 use Vhffs::Main;
+use File::Path;
+use File::Basename;
 
 my $vhffs = init Vhffs::Main;
 die('Unable to initialize VHFFS main object') unless defined $vhffs;
@@ -59,8 +61,9 @@
 					my $cmd = 'tar cf '.$mailconf->{'archives_dir'}.'/'.time().'_'.$b->{local_part}.'@'.$b->{domain}.'.tar . 1> /dev/null 2> /dev/null';
 					system( $cmd );
 				}
-				my $cmd = 'rm -rf '.$dir.' 2> /dev/null';
-				system( $cmd );
+				File::Path::rmtree($dir);
+				# Remove the letter/ directory if empty
+				rmdir dirname($dir);
 			}
 		}
 		$mail->delbox( $b->{local_part} );

Modified: branches/vhffs-design/vhffs-robots/src/mailing.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/mailing.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/mailing.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -63,7 +63,7 @@
 	foreach my $user ( @{$users} )
 	{
 		next unless defined $user;
-		Vhffs::Functions::send_mail( $from , $user->get_mail , $vhffs->get_config->get_mailtag , $mailings->{$idm}{subject} , $mailings->{$idm}{message} , 'bulk' );
+		Vhffs::Functions::send_mail( $vhffs , $from , $user->get_mail , $vhffs->get_config->get_mailtag , $mailings->{$idm}{subject} , $mailings->{$idm}{message} , 'bulk' );
 	}
 
 	my $query = "UPDATE vhffs_mailings SET state='".Vhffs::Constants::ACTIVATED."' WHERE id_mailing='".$idm."'";

Modified: branches/vhffs-design/vhffs-robots/src/mysql_dump.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/mysql_dump.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/mysql_dump.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -47,38 +47,30 @@
 
 my $vhffs = init Vhffs::Main; 
 
-Vhffs::Robots::lock( $vhffs , "dumpmysql" );
+Vhffs::Robots::lock( $vhffs , 'dumpmysql' );
 
-my $objs  = Vhffs::Services::Mysql::getall( $vhffs , Vhffs::Constants::ACTIVATED , undef , undef );
 my $mysqlconf = $vhffs->get_config->get_service('mysql');
+die 'Error, mysqldump is not present on this system in path "'.$mysqlconf->{'mysqldump_path'}.'"'."\n" unless( -x $mysqlconf->{'mysqldump_path'} );
 
-my $obj;
-my $group;
-my $groupname;
+umask 0337;
 
-die "Error, mysqldump is not present on this system in path \"$mysqlconf->{'mysqldump_path'}\"\n" unless( -x $mysqlconf->{'mysqldump_path'} );
-
-foreach $obj ( @{$objs} )
+my $objs  = Vhffs::Services::Mysql::getall( $vhffs , Vhffs::Constants::ACTIVATED , undef , undef );
+foreach my $obj ( @{$objs} )
 {
-		$groupname = Vhffs::Group::get_name_by_gid( $vhffs , $obj->get_owner_gid );
-		my $dbname = $obj->get_dbname;
-		my $dir = Vhffs::Functions::hash_groupname( $groupname , $vhffs );
-		if( -d $dir )
-		{
-			my $file = $dir."/".$dbname.".mysql.dump";
-			my $cmd = "$mysqlconf->{'mysqldump_path'} -c -R --hex-blob -u $mysqlconf->{'username'} -h $mysqlconf->{'host'} -p$mysqlconf->{'password'} $dbname > $file";
-			system( $cmd );
+	my $groupname = Vhffs::Group::get_name_by_gid( $vhffs , $obj->get_owner_gid );
+	my $dbname = $obj->get_dbname;
 
-			#Change the chmod if the backup succeed
-			if( -f $file )
-			{
-				chown( $obj->get_owner_uid , $obj->get_owner_gid , $file );
-				chmod( 0660 , $file );
-			}
-			
-		}
+	my $dir = Vhffs::Functions::hash_groupname( $groupname , $vhffs );
+	next unless -d $dir;
+
+	my $file = $dir.'/'.$dbname.'.mysql.dump';
+	my $cmd = $mysqlconf->{'mysqldump_path'}.' -c -R --hex-blob -u '.$mysqlconf->{'username'}.' -h '.$mysqlconf->{'host'}.' -p'.$mysqlconf->{'password'}.' '.$dbname.' > '.$file;
+
+	system( $cmd );
+
+	chown( $obj->get_owner_uid , $obj->get_owner_gid , $file ) if -f $file;
 }
 
-Vhffs::Robots::unlock( $vhffs , "dumpmysql" );
+Vhffs::Robots::unlock( $vhffs , 'dumpmysql' );
 
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/pgsql_dump.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/pgsql_dump.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/pgsql_dump.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -30,7 +30,7 @@
 # POSSIBILITY OF SUCH DAMAGE.
 
 ########################################################
-# This robot make dump for each MySQL database
+# This robot make dump for each PgSQL database
 # and put it on each group directory
 #
 
@@ -46,39 +46,44 @@
 
 my $vhffs = init Vhffs::Main; 
 
-Vhffs::Robots::lock( $vhffs , "dumppgsql" );
+Vhffs::Robots::lock( $vhffs , 'dumppgsql' );
 
-my $objs  = Vhffs::Services::Pgsql::getall( $vhffs , Vhffs::Constants::ACTIVATED , undef , undef );
 my $pgsqlconfig = $vhffs->get_config->get_service('pgsql');
+die 'Error, pg_dump is not present on this system in path "'.$pgsqlconfig->{'pgdump_path'}.'"'."\n" unless( -x $pgsqlconfig->{'pgdump_path'} );
 
-my $obj;
-my $group;
-my $groupname;
+# create the postgres password file
+my $pgpassfile = '/tmp/pgpass_'.$$.'_';
+for (0 .. 9) { $pgpassfile .= ('a'..'z', 'A'..'Z', '0'..'9')[int rand 62] ; }
 
-die "Error, pg_dump is not present on this system in path \"$pgsqlconfig->{'pgdump_path'}\"\n" unless( -x $pgsqlconfig->{'pgdump_path'} );
+umask 0377;
+open PGPASSFILE , '>'.$pgpassfile or die;
+print PGPASSFILE '*:*:*:*:'.$pgsqlconfig->{'password'}."\n";
+close PGPASSFILE;
 
-foreach $obj ( @{$objs} )
+die 'Could not create pgpassfile in '.$pgpassfile."\n" unless -f $pgpassfile;
+
+umask 0337;
+
+my $objs = Vhffs::Services::Pgsql::getall( $vhffs , Vhffs::Constants::ACTIVATED , undef , undef );
+foreach my $obj ( @{$objs} )
 {
-	$groupname = Vhffs::Group::get_name_by_gid( $vhffs , $obj->get_owner_gid );
+	my $groupname = Vhffs::Group::get_name_by_gid( $vhffs , $obj->get_owner_gid );
 	my $dbname = $obj->get_dbname;
+
 	my $dir = Vhffs::Functions::hash_groupname( $groupname , $vhffs );
-	if( -d $dir )
-	{
-		my $file = $dir."/".$dbname.".pgsql.dump";
-		my $cmd = "$pgsqlconfig->{'pgdump_path'} -U $pgsqlconfig->{'username'} -h $pgsqlconfig->{'host'} -b -Fc -Z6 -f $file $dbname";
-		system( $cmd );
+	next unless -d $dir;
+		
+	my $file = $dir.'/'.$dbname.'.pgsql.dump';
+	my $cmd = 'PGPASSFILE='.$pgpassfile.' '.$pgsqlconfig->{'pgdump_path'}.' -U '.$pgsqlconfig->{'username'}.' -h '.$pgsqlconfig->{'host'}.' -b -Fc -Z6 -f '.$file.' '.$dbname;
 
-		print $cmd."\n";
+	system( $cmd );
 
-		#Change the chmod if the backup succeed
-		if( -f $file )
-		{
-			chown( $obj->get_owner_uid , $obj->get_owner_gid , $file );
-			chmod( 0660 , $file );
-		}		
-	}
+	#Change the chmod if the backup succeed
+	chown( $obj->get_owner_uid , $obj->get_owner_gid , $file ) if -f $file;
 }
 
-Vhffs::Robots::unlock( $vhffs , "dumppgsql" );
+unlink $pgpassfile;
 
+Vhffs::Robots::unlock( $vhffs , 'dumppgsql' );
+
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/svn_create.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/svn_create.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/svn_create.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,19 +42,18 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "svn" );
+Vhffs::Robots::lock( $vhffs , 'svn' );
 
-my $repos = Vhffs::Services::Svn::getall( $vhffs , Vhffs::Constants::WAITING_FOR_CREATION);
-my $svn;
-foreach $svn ( @{$repos} )
+my $repos = Vhffs::Services::Svn::getall( $vhffs , Vhffs::Constants::WAITING_FOR_CREATION );
+foreach my $svn ( @{$repos} )
 {
-	if( Vhffs::Robots::Svn::create_repo( $vhffs , $svn ) < 0 ) {
-    		Vhffs::Robots::vhffs_log( sprintf( "Cannot create SVN %s" , $svn->get_reponame ), $vhffs);
+	if( Vhffs::Robots::Svn::create_repo( $svn ) != 0 ) {
+    		Vhffs::Robots::vhffs_log( sprintf( 'Cannot create SVN %s' , $svn->get_reponame ), $vhffs );
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Create SVN %s" , $svn->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Created SVN %s' , $svn->get_reponame ), $vhffs );
 	}
 }
 
 
-Vhffs::Robots::unlock( $vhffs , "svn" );
+Vhffs::Robots::unlock( $vhffs , 'svn' );
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/svn_delete.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/svn_delete.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/svn_delete.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,24 +42,23 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "svn" );
+Vhffs::Robots::lock( $vhffs , 'svn' );
 
 my $repos = Vhffs::Services::Svn::getall( $vhffs , Vhffs::Constants::TO_DELETE);
-my $svn;
-foreach $svn ( @{$repos} )
+foreach my $svn ( @{$repos} )
 {
-	if( Vhffs::Robots::Svn::delete_repo( $vhffs , $svn ) < 0 )	{
-		Vhffs::Robots::vhffs_log( sprintf( "Cannot delete files from SVN repository %s" , $svn->get_reponame ), $vhffs);
+	if( Vhffs::Robots::Svn::delete_repo( $svn ) != 0 )	{
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete files from SVN repository %s' , $svn->get_reponame ), $vhffs );
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Delete files from SVN repository %s" , $svn->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete files from SVN repository %s' , $svn->get_reponame ), $vhffs );
 	}
 
 	if( $svn->delete < 0 ) {
-		Vhffs::Robots::vhffs_log( sprintf( "Cannot delete SVN repository object %s" , $svn->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Cannot delete SVN repository object %s' , $svn->get_reponame ), $vhffs );
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "Delete SVN repository object %s" , $svn->get_reponame ), $vhffs);
+		Vhffs::Robots::vhffs_log( sprintf( 'Delete SVN repository object %s' , $svn->get_reponame ), $vhffs );
 	}
 }
 
-Vhffs::Robots::unlock( $vhffs , "svn" );
+Vhffs::Robots::unlock( $vhffs , 'svn' );
 exit 0;

Modified: branches/vhffs-design/vhffs-robots/src/svn_public.pl
===================================================================
--- branches/vhffs-design/vhffs-robots/src/svn_public.pl	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-robots/src/svn_public.pl	2010-03-14 17:55:02 UTC (rev 1557)
@@ -42,44 +42,30 @@
 
 my $vhffs = init Vhffs::Main;
 
-Vhffs::Robots::lock( $vhffs , "svn" );
+Vhffs::Robots::lock( $vhffs , 'svn' );
 
 my $repos = Vhffs::Services::Svn::getall( $vhffs , Vhffs::Constants::WAITING_FOR_MODIFICATION );
-my $svn;
-foreach $svn ( @{$repos} )
+foreach my $svn ( @{$repos} )
 {
-	my $user = $svn->get_user;
-	my $group = $svn->get_group;
-	#First, update uid and gid informations on files
-	if( ( defined $user ) && ( defined $group ) ) {
-			Vhffs::Robots::vhffs_log( sprintf( "SVN change owner/group to %s/%s for repository %s" , $user->get_username , $group->get_groupname , $svn->get_dir ) , $vhffs);
-			Vhffs::Functions::change_owner_recur( $svn->get_dir , $user->get_uid , $group->get_gid );
-
-			Vhffs::Functions::chmod_recur( $svn->get_dir.'/hooks' , 0644 , 0755 );
-			Vhffs::Functions::change_owner_recur( $svn->get_dir.'/hooks' , 0 , 0 );
-	}
-
 	if( $svn->is_public == 1 ) {
-		Vhffs::Robots::vhffs_log( sprintf( "SVN change status %s is now public" , $svn->get_dir ) , $vhffs);
-		Vhffs::Functions::chmod_recur( $svn->get_dir , 0664 , 02775 );
+		chmod 02775 , $svn->get_dir;
+		Vhffs::Robots::vhffs_log( sprintf( 'SVN status %s is now public' , $svn->get_dir ) , $vhffs);
 	} else {
-		Vhffs::Robots::vhffs_log( sprintf( "SVN change status %s is now private" , $svn->get_dir ) , $vhffs);
-		Vhffs::Functions::chmod_recur( $svn->get_dir , 0660 , 02770 );
-		chmod ( 02771 , $svn->get_dir );
-		chmod ( 02771 , $svn->get_dir.'/hooks' );
+		chmod 02770 , $svn->get_dir;
+		Vhffs::Robots::vhffs_log( sprintf( 'SVN status %s is now private' , $svn->get_dir ) , $vhffs);
 	}
 
 	Vhffs::Robots::Svn::change_conf( $svn );
 	$svn->set_status( Vhffs::Constants::ACTIVATED );
 	
 	if( $svn->commit < 0 ) {
-		$svn->add_history( "Error while updating repository configuration");
+		$svn->add_history( 'Error while updating repository configuration' );
 	} else {
-		$svn->add_history( "Successfully modify repository configuration");
+		$svn->add_history( 'Successfully modify repository configuration' );
 	}
 }
 
 
-Vhffs::Robots::unlock( $vhffs , "svn" );
+Vhffs::Robots::unlock( $vhffs , 'svn' );
 
 exit 0;

Modified: branches/vhffs-design/vhffs-shells/tuxshell.c
===================================================================
--- branches/vhffs-design/vhffs-shells/tuxshell.c	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-shells/tuxshell.c	2010-03-14 17:55:02 UTC (rev 1557)
@@ -217,6 +217,9 @@
 		args[1][ strlen(args[1])-1 ] = '\0';
 	}
 
+	/* change the umask to allow shared work */
+	umask (02);
+
 	/* ok, the command is clear, exec() it */
 
 	return (execvp(args[CMD_POS], args));


Property changes on: branches/vhffs-design/vhffs-stsmon
___________________________________________________________________
Added: svn:ignore
   + Makefile
Makefile.in
..deps
stsmon


Copied: branches/vhffs-design/vhffs-stsmon/Makefile.am (from rev 1556, trunk/vhffs-stsmon/Makefile.am)
===================================================================
--- branches/vhffs-design/vhffs-stsmon/Makefile.am	                        (rev 0)
+++ branches/vhffs-design/vhffs-stsmon/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,7 @@
+if INSTALL_EXTRA
+
+stsmondir=@EXTRADIR@
+stsmon_SOURCES=stsmon.c
+stsmon_PROGRAMS=stsmon
+
+endif

Modified: branches/vhffs-design/vhffs-test-dependencies.in
===================================================================
--- branches/vhffs-design/vhffs-test-dependencies.in	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-test-dependencies.in	2010-03-14 17:55:02 UTC (rev 1557)
@@ -8,43 +8,75 @@
 my @components;
 
 $dep{'api'} = [ 
-	('Encode', ''),
-	('utf8', ''),
-	('diagnostics', ''),
+	('Authen::Captcha', ''),
+	('Carp', ''),
+	('CGI', ''),
+	('CGI::Session', ''),
+	('Config::General', ''),
+	('Crypt::GPG', ''),
+	('Crypt::PasswdMD5', ''),
+	('DateTime', ''),
+	('DateTime::Locale', ''),
 	('DBI', ''),
-	('DBD::Pg', ''),
-	('Config::General', ''),
-	('Locale::gettext', ''),
 	('Digest::MD5', ''),
-	('MIME::Lite', ''),
-	('Crypt::PasswdMD5', ''),
 	('Email::Valid', ''),
+	('Encode', ''),
 	('File::Basename', ''),
+	('File::Path', ''),
+	('File::Spec', ''),
+	('GD', ''),
+	('HTML::Template', ''),
+	('HTML::Template::Expr', ''),
+	('locale', ''),
+	('Locale::gettext', ''),
 	('LockFile::Simple', ''),
-	('Mail::Internet', ''),
-	('HTML::Template', ''),
-	('CGI', ''),
-	('CGI::Session', '')];
+	('MIME::Base64', ''),
+	('MIME::Lite', ''),
+	('Template', '')];
 
 $dep{'irc'} = [
-	('Data::Dumper',''),
+	('Encode', ''),
+	('locale', ''),
+	('Locale::gettext', ''),
+	('Net::DNS',''),
 	('Net::IRC',''),
 	('Text::Wrapper','')];
 
 $dep{'jabber'} = [ 'MIME::Base64' ];
 
 $dep{'listengine'} = [
+	('DateTime', ''),
+	('DateTime::Format::Mail', ''),
+	('locale', ''),
+	('Locale::gettext', ''),
+	('Mail::Internet', ''),
 	('Net::SMTP', ''),
 	('Socket', '')];
 
 $dep{'panel'} = [
+	('CGI', ''),
+	('CGI::Session', ''),
+	('DateTime', ''),
+	('DateTime::Locale', ''),
+	('Encode', ''),
 	('GD', ''),
-    ('Digest::MD5', ''),
-    ('HTML::Template::Expr', '')];
+	('GD::Text::Wrap', ''),
+	('HTML::Template', ''),
+	('HTML::Template::Expr', ''),
+	('locale', ''),
+	('Locale::gettext', '')];
 
 $dep{'robots'} = [
-    ('SVN::Notify', ''),
-    ('Email::Send', '')];
+	('BSD::Resource', ''),
+	('Fcntl', ''),
+	('File::Basename', ''),
+	('File::Path', ''),
+	('HTML::Template', ''),
+	('locale', ''),
+	('Locale::gettext', ''),
+	('IO::Handle', ''),
+	('IO::Select', ''),
+	('Quota', '')];
 
 &GetOptions( \%args,
 	'u|usage',

Modified: branches/vhffs-design/vhffs-themes/light-grey/img/loading.gif
===================================================================
(Binary files differ)

Modified: branches/vhffs-design/vhffs-themes/light-grey/main.css
===================================================================
--- branches/vhffs-design/vhffs-themes/light-grey/main.css	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-themes/light-grey/main.css	2010-03-14 17:55:02 UTC (rev 1557)
@@ -382,13 +382,13 @@
 	padding: 0;
 	display: block;
 }
-.dijitCheckBoxInput {
+/* .dijitCheckBoxInput {
 	
 	opacity: 0.01;
 }
 .dj_ie .dijitCheckBoxInput {
 	filter: alpha(opacity=0);
-}
+} */
 .dijit_a11y .dijitCheckBox,
 .dijit_a11y .dijitRadio {
 	width: auto;
@@ -1800,6 +1800,10 @@
 	text-align: center
 }
 
+ul#searchTagsList span.category {
+	font-weight: bold;
+}
+
 /******************************************************************************/
 /* SECTION 3 - SPECIFIC CLASSES FOR LAYOUT #1 (With navigation, with sidebar )*/
 /******************************************************************************/
@@ -1825,8 +1829,8 @@
 }
 
 img.group-avatar {
-	width: 90px;
-	height: 60px;
+	width: 70px;
+	height: 100px;
 	float: left;
 	margin-bottom: 5px;
 	border: 1px dashed gray;
@@ -1849,14 +1853,23 @@
 	min-height: 60px;
 }
 
+div.group-info div.tags {
+	text-align:center;
+}
+
 div.user-info ul {
 	min-height: 100px;
 }
 
-div.group-info span.groupname {
+div.group-info a.groupname {
 	font-weight: bold;
+	text-decoration: none;
 }
 
+div.group-info a.groupname:hover {
+	text-decoration: underline;
+}
+
 div.group-info span.owner {
 	font-style: italic;
 }
@@ -1866,6 +1879,13 @@
 	text-decoration: none;
 }
 
+div#loading {
+	position: absolute;
+	top: 1em;
+	left: 369px;
+	z-index: 1000;
+}
+
 .content1-container {
 	clear: both;
 	float: left;

Modified: branches/vhffs-design/vhffs-tools/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-tools/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-tools/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,6 +1,6 @@
 if INSTALL_TOOLS
 
-SUBDIRS = src
+SUBDIRS = src mans
 DIST_SUBDIRS = src mans
 
 endif

Modified: branches/vhffs-design/vhffs-tools/mans/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-tools/mans/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-tools/mans/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1 +1 @@
-EXTRA_DIST = vhffs-makeadmin.1  vhffs-quota.1  vhffs-userinfo.1  webdir.1
+dist_man1_MANS=vhffs-makeadmin.1  vhffs-quota.1  vhffs-userinfo.1  webdir.1

Modified: branches/vhffs-design/vhffs-tools/src/Makefile.am
===================================================================
--- branches/vhffs-design/vhffs-tools/src/Makefile.am	2010-03-12 22:43:22 UTC (rev 1556)
+++ branches/vhffs-design/vhffs-tools/src/Makefile.am	2010-03-14 17:55:02 UTC (rev 1557)
@@ -1,5 +1,6 @@
 toolsdir = @TOOLSDIR@
 dist_tools_SCRIPTS = \
+	vhffs-box-add \
 	vhffs-dumpmysql \
 	vhffs-groupadd \
 	vhffs-groupdel \

Copied: branches/vhffs-design/vhffs-tools/src/vhffs-box-add (from rev 1556, trunk/vhffs-tools/src/vhffs-box-add)
===================================================================
--- branches/vhffs-design/vhffs-tools/src/vhffs-box-add	                        (rev 0)
+++ branches/vhffs-design/vhffs-tools/src/vhffs-box-add	2010-03-14 17:55:02 UTC (rev 1557)
@@ -0,0 +1,31 @@
+#!%PERL% -w
+# Adds boxes in command line (for batch imports)
+# Takes domain name, local part and clear text password
+# as arguments.
+# Die if something goes wrong.
+# Dedicated to Samuel Lesueur :-)
+
+use strict;
+
+use lib '%VHFFS_LIB_DIR%';
+
+use Vhffs::Main;
+use Vhffs::Functions;
+use Vhffs::Group;
+use Vhffs::Services::Mail;
+use Vhffs::User;
+
+my $vhffs = init Vhffs::Main;
+
+die("Usage $0 maildomain local_part password\n") unless(@ARGV == 3);
+
+my $domain = Vhffs::Services::Mail::get_by_mxdomain( $vhffs, $ARGV[0] );
+die 'Invalid domain specified ('.$ARGV[0].')' unless(defined $domain);
+
+my $rval = $domain->addbox($ARGV[1], $ARGV[2]);
+die( 'Invalid address' )	 if($rval == -1);
+die( 'Address already exists' )  if( $rval == -2 );
+die( 'Error while adding box' )  if( $rval == -3 );
+
+print "$ARGV[1]\@$ARGV[2] added. Do not forget to launch mail_createboxes.pl\n";
+


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/