[vhffs-dev] [svn] commit: r83 - in trunk: ./ vhffs-api/src/Vhffs/ vhffs-api/src/Vhffs/Listengine/ vhffs-api/src/Vhffs/Panel/ vhffs-api/src/Vhffs/Robots/ vhffs-api/src/Vhffs/Services/ vhffs-backend/conf/ vhffs-backend/src/pgsql/ vhffs-listengine/src/archives/ vhffs-panel/ vhffs-panel/admin/cvs/ vhffs-panel/admin/dns/ vhffs-panel/admin/group/ vhffs-panel/admin/mail/ vhffs-panel/admin/mailing/ vhffs-panel/admin/mysql/ vhffs-panel/admin/pgsql/ vhffs-panel/admin/svn/ vhffs-panel/admin/user/ vhffs-panel/admin/web/ vhffs-panel/dns/ vhffs-panel/mail/ vhffs-panel/mailinglist/ vhffs-panel/public/ vhffs-panel/svn/ vhffs-panel/templates/admin/svn/ vhffs-panel/templates/admin/web/ vhffs-panel/templates/public/ vhffs-panel/templates/public/misc/ vhffs-panel/templates/user/ vhffs-panel/user/ vhffs-robots/src/ vhffs-tools/mans/ vhffs-tools/src/

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


Author: soda
Date: Mon Aug  1 16:26:45 2005
New Revision: 83

Log:
- Begin to remove easily users and groups
- Use now a confirmation code to subscribe
- Change thne API, all services uses now getall( vhffs , status , name , group )
- Change robots, remove treat_refused and use now refused_SERVICES


Added:
    trunk/vhffs-api/src/Vhffs/Panel/Confirmation.pm
    trunk/vhffs-backend/src/pgsql/create_confirmation.sql
    trunk/vhffs-panel/public/allgroups.pl   (with props)
    trunk/vhffs-panel/show_code.pl   (with props)
    trunk/vhffs-panel/templates/public/misc/svn-part.tmpl
    trunk/vhffs-robots/src/delete_users.pl   (with props)
    trunk/vhffs-robots/src/refused_cvs.pl   (with props)
    trunk/vhffs-robots/src/refused_dns.pl   (with props)
    trunk/vhffs-robots/src/refused_groups.pl   (with props)
    trunk/vhffs-robots/src/refused_mail.pl   (with props)
    trunk/vhffs-robots/src/refused_ml.pl   (with props)
    trunk/vhffs-robots/src/refused_mysql.pl   (with props)
    trunk/vhffs-robots/src/refused_postgres.pl   (with props)
    trunk/vhffs-robots/src/refused_svn.pl   (with props)
    trunk/vhffs-tools/mans/vhffs-quota.1
    trunk/vhffs-tools/mans/vhffs-userinfo.1
    trunk/vhffs-tools/mans/webdir.1
    trunk/vhffs-tools/src/vhffs-quota   (with props)
    trunk/vhffs-tools/src/vhffs-userinfo   (with props)
Removed:
    trunk/vhffs-robots/src/treat_refused.pl
    trunk/vhffs-tools/src/show_user
    trunk/vhffs-tools/src/vhffs_quota
Modified:
    trunk/make_release2
    trunk/vhffs-api/src/Vhffs/Conf.pm
    trunk/vhffs-api/src/Vhffs/Constants.pm
    trunk/vhffs-api/src/Vhffs/Group.pm
    trunk/vhffs-api/src/Vhffs/Listengine/Intl.pm
    trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm
    trunk/vhffs-api/src/Vhffs/Panel/DNS.pm
    trunk/vhffs-api/src/Vhffs/Panel/Mail.pm
    trunk/vhffs-api/src/Vhffs/Panel/Pgsql.pm
    trunk/vhffs-api/src/Vhffs/Panel/Svn.pm
    trunk/vhffs-api/src/Vhffs/Robots/Group.pm
    trunk/vhffs-api/src/Vhffs/Services/Cvs.pm
    trunk/vhffs-api/src/Vhffs/Services/DNS.pm
    trunk/vhffs-api/src/Vhffs/Services/Httpd.pm
    trunk/vhffs-api/src/Vhffs/Services/Mail.pm
    trunk/vhffs-api/src/Vhffs/Services/Mailing.pm
    trunk/vhffs-api/src/Vhffs/Services/Mysql.pm
    trunk/vhffs-api/src/Vhffs/Services/Postgres.pm
    trunk/vhffs-api/src/Vhffs/Services/Svn.pm
    trunk/vhffs-api/src/Vhffs/User.pm
    trunk/vhffs-backend/conf/vhffs.conf
    trunk/vhffs-listengine/src/archives/archives.pl
    trunk/vhffs-panel/admin/cvs/list.pl
    trunk/vhffs-panel/admin/dns/list.pl
    trunk/vhffs-panel/admin/group/list.pl
    trunk/vhffs-panel/admin/mail/list.pl
    trunk/vhffs-panel/admin/mailing/list.pl
    trunk/vhffs-panel/admin/mysql/list.pl
    trunk/vhffs-panel/admin/pgsql/list.pl
    trunk/vhffs-panel/admin/svn/list.pl
    trunk/vhffs-panel/admin/user/list.pl
    trunk/vhffs-panel/admin/web/list.pl
    trunk/vhffs-panel/dns/prefs.pl
    trunk/vhffs-panel/mail/prefs.pl
    trunk/vhffs-panel/mailinglist/prefs.pl
    trunk/vhffs-panel/public/group.pl
    trunk/vhffs-panel/public/index.pl
    trunk/vhffs-panel/subscribe.pl
    trunk/vhffs-panel/subscribe_complete.pl
    trunk/vhffs-panel/svn/prefs.pl
    trunk/vhffs-panel/templates/admin/svn/part.tmpl
    trunk/vhffs-panel/templates/admin/web/part-modo.tmpl
    trunk/vhffs-panel/templates/admin/web/part.tmpl
    trunk/vhffs-panel/templates/public/group.tmpl
    trunk/vhffs-panel/templates/public/index.tmpl
    trunk/vhffs-panel/templates/user/create.tmpl
    trunk/vhffs-panel/user/delete.pl
    trunk/vhffs-robots/src/delete_group.pl
    trunk/vhffs-tools/mans/blankmysql.1

Modified: trunk/make_release2
==============================================================================
--- trunk/make_release2 (original)
+++ trunk/make_release2 Mon Aug  1 16:26:45 2005
@@ -6,7 +6,7 @@
 use strict;
 use File::Copy;
 
-my $VERSION = "4.0rc6";
+my $VERSION = "4.0rc7";
 my @files_to_delete = qw(backup.sh fixperm.sh make_release make_release2);
 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);
 

Modified: trunk/vhffs-api/src/Vhffs/Conf.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Conf.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Conf.pm Mon Aug  1 16:26:45 2005
@@ -365,6 +365,21 @@
 }
 
 
+sub get_moderator_mail
+{
+
+	if( defined $Config{"global"}{"vhffs_moderator"} )
+	{
+    	return $Config{"global"}{"vhffs_moderator"};
+	}
+	else
+	{
+		return undef;
+	}
+}
+
+
+
 sub get_mysql_admin_pass
 {
 	return $Config{"services"}{"mysql"}{"password"};
@@ -709,4 +724,18 @@
 }
 
 
+sub get_svnweburl
+{
+	if( defined $Config{"services"}{"subversion"}{"svnweb_url"} )
+	{
+	    return $Config{"services"}{"subversion"}{"svnweb_url"};
+	}
+	else
+	{
+	    return "svnweb";
+	}
+}
+
+
+
 1;

Modified: trunk/vhffs-api/src/Vhffs/Constants.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Constants.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Constants.pm Mon Aug  1 16:26:45 2005
@@ -8,7 +8,7 @@
 use constant
 {
     VHFFS_VERSION => 4.0,
-    VHFFS_RELEASE_NAME => "VHFFS4 RC4",
+    VHFFS_RELEASE_NAME => "VHFFS4 RC7",
     
     WAITING_FOR_VALIDATION => 1,
     VALIDATION_REFUSED => 2,

Modified: trunk/vhffs-api/src/Vhffs/Group.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Group.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Group.pm Mon Aug  1 16:26:45 2005
@@ -387,7 +387,6 @@
 
     return 2 if ( $self->fetch < 0 );
     
-    $self->SUPER::delete;
     
     $request = $self->{'db'}->{'DB_WRITE'}->prepare("DELETE FROM vhffs_groups WHERE gid='".$self->{'gid'}."'");
     $request2 = $self->{'db'}->{'DB_WRITE'}->prepare("DELETE FROM vhffs_user_group WHERE gid='".$self->{'gid'}."'");
@@ -397,7 +396,7 @@
     $request2->execute() or return -2;
     $request3->execute() or return -2;    
     
-
+    $self->SUPER::delete;
 
     return 1;
 }

Modified: trunk/vhffs-api/src/Vhffs/Listengine/Intl.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Listengine/Intl.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Listengine/Intl.pm Mon Aug  1 16:26:45 2005
@@ -19,7 +19,7 @@
     push( @result , gettext( "All commands can be sent as mail subject.\n" ) );
     push( @result , gettext( "You can also send a command list in the mail body.\n" )  );
     push( @result , gettext( "All mails with commands must be sent on 
-                     YOURLIST-request@xxxxxxxxxx list.\n" ) );
+                     YOURLIST-request\@domain.tld list.\n" ) );
     push( @result , "\n" );
     push( @result , gettext("Here are the basic listengine commands:\n") );
     push( @result , gettext("help\t\t - show this help\n") );
@@ -32,11 +32,11 @@
     push( @result , gettext("moderate validate XXXXX\t\t\t - moderate the message with message-id XXXXX\n" )  );
     push( @result , gettext("moderate refused XXXXX\t\t\t - refuse the message with message-id XXXXX\n" )  );
     push( @result , gettext("moderate list\t\t\t - give the message list for moderation\n" ) );
-    push( @result , gettext("user unsubscribe user@xxxxxxxxxx\t - delete user user@xxxxxxxxxx from list\n") );
-    push( @result , gettext("user subscribe user@xxxxxxxxxx\t\t - register the user user@xxxxxxxxxx on the list\n") );
-    push( @result , gettext("user right RIGHT user@xxxxxxxxxx\t - change right for this user\n") );
+    push( @result , gettext("user unsubscribe user\@domain.tld\t - delete user user\@domain.tld from list\n") );
+    push( @result , gettext("user subscribe user\@domain.tld\t\t - register the user user\@domain.tld on the list\n") );
+    push( @result , gettext("user right RIGHT user\@domain.tld\t - change right for this user\n") );
     push( @result , gettext("\t\t\t\t   RIGHT can be subscriber or admin\n") );
-    push( @result , gettext("user info user@xxxxxxxxxx\t\t - show this user's informations\n"  ));
+    push( @result , gettext("user info user\@domain.tld\t\t - show this user's informations\n"  ));
 
 
     push( @result , "\n" );
@@ -52,12 +52,11 @@
     my $hash = shift;
     my @result;
  
-    push( @result , sprintf( "Vous avez demandé d'etre inscrit à la liste de diffusion %s\n" , $list->get_listname) );
-    push( @result , gettext( "Vous devez confirmer votre inscription en envoyant un mail de confirmation\n")  );
-    push( @result , sprintf( gettext( "Ce mail devra comporter le sujet : \"confirm subscribe %s\"\n")  , $hash ) );
-    push( @result , "\n" );
-    push( @result , gettext( "Si toutefois vous n'avez pas demandé d'être inscrit sur cette liste\n" ) );
-    push( @result , gettext( "Veuillez ne pas répondre à ce mail.\n" ) );
+    push( @result , sprintf( "You send a request to subscribe to the following list: %s\n" , $list->get_listname) );
+    push( @result , gettext( "You must confirm your request by sending a confirmation emailn\n")  );
+    push( @result , sprintf( gettext( "This mail must have the following subject : \"confirm subscribe %s\"\n")  , $hash ) );
+    push( @result , "\n" );
+    push( @result , gettext( "If this mail is an error and you don't ask to be a subscriber to this list, please do not answer to this mail\n" ) );
     push( @result , "\n" );
 
     
@@ -71,12 +70,11 @@
     my $hash = shift;
     my @result;
  
-    push( @result , sprintf( "Vous avez demandé d'etre désinscrit de la liste de diffusion %s\n" , $list->get_listname) );
-    push( @result , gettext( "Vous devez confirmer votre désinscription en envoyant un mail de confirmation\n")  );
-    push( @result , sprintf( gettext( "Ce mail devra comporter le sujet : \"confirm unsubscribe %s\"\n")  , $hash ) );
-    push( @result , "\n" );
-    push( @result , gettext( "Si toutefois vous n'avez pas demandé d'être désinscrit de cette liste\n" ) );
-    push( @result , gettext( "Veuillez ne pas répondre à ce mail.\n" ) );
+    push( @result , sprintf( "You ask to be removed from the list %s\n" , $list->get_listname) );
+    push( @result , gettext( "You must confirm this request by seding a email\n")  );
+    push( @result , sprintf( gettext( "This mail must contains the following subject : \"confirm unsubscribe %s\"\n")  , $hash ) );
+    push( @result , gettext( "If this mail is an error and you don't ask to be a subscriber to this list, please do not answer to this mail\n" ) );
+    push( @result , "\n" );
     push( @result , "\n" );
 
     
@@ -90,9 +88,9 @@
     my $from = shift;
     my @result;
  
-    push( @result , sprintf( gettext( "Vous avez demandé d'etre inscrit à la liste de diffusion %s\n" ) , $list->get_listname) );
-    push( @result , sprintf( gettext( "Cependant, l'adresse mail %s est déjà inscrite à cette liste.\n")  , $from ) );
-    push( @result , gettext( "Il n'y a donc eu aucun changement concernant votre inscription à la liste\n") , $hash  );
+    push( @result , sprintf( gettext( "You ask to be subscribed to the following list: %s\n" ) , $list->get_listname) );
+    push( @result , sprintf( gettext( "Adress %s is already a subscriber for this list.\n")  , $from ) );
+    push( @result , gettext( "The state of you subscription was not changed, you are always a subscriber\n") , $hash  );
     push( @result , "\n" );
 
     
@@ -105,8 +103,8 @@
     my $from = shift;
     my @result;
 
-    push( @result , sprintf( gettext( "L'inscription à la liste %s n'est pas autorisé\n" ) , $list->get_listname) );
-    push( @result , gettext( "Par conséquent, votre inscription a été rejetée.\n") );
+    push( @result , sprintf( gettext( "Subscribe to the list %s is forbidden\n" ) , $list->get_listname) );
+    push( @result , gettext( "Your request has been removed.\n") );
     push( @result , "\n" );
     
     
@@ -119,13 +117,12 @@
     my $from = shift;
     my @result;
 
-    push( @result , sprintf( gettext( "Vous avez bien été inscrit à la liste %s\n" ) , $list->get_listname) );
+    push( @result , sprintf( gettext( "You have been successfully subscribed to the list %s\n" ) , $list->get_listname) );
     push( @result , gettext( "------\n")  );
-    push( @result , gettext( "Vous pouvez dès à présent poster sur la liste en voyant un mail à %s\n") );
-    push( @result , sprintf( gettext( "sur l'adresse %s\n")  , $list->get_listname ) );
+    push( @result , gettext( "You can post on the list now.") );
     push( @result , gettext( "------\n") );
-    push( @result , gettext( "Vous pouvez obtenir l'aide complète du gestionnaire de liste en envoyant\n")  );
-    push( @result , sprintf( gettext( "un mail à %s-request\@%s avec pour sujet : \"help\"\n")  , $list->get_localpart , $list->get_domain ) );
+    push( @result , gettext( "You can have some help on listengine, sending an email to\n")  );
+    push( @result , sprintf( gettext( "%s-request\@%s with subject : \"help\"\n")  , $list->get_localpart , $list->get_domain ) );
     push( @result , "\n" );
     
     
@@ -138,7 +135,7 @@
     my $from = shift;
     my @result;
 
-    push( @result , sprintf( gettext( "Vous avez bien été désinscrit à la liste %s\n" ) , $list->get_listname) );
+    push( @result , sprintf( gettext( "You have been successfully removed from the list %s\n" ) , $list->get_listname) );
     
     return( \@result );
 }
@@ -151,9 +148,9 @@
     my $from = shift;
     my @result;
 
-    push( @result , sprintf( gettext( "Une erreur est survenur lors de votre inscription à la liste %s \n" ) , $list->get_listname) );
-    push( @result , gettext("Le hash que vous avez transmis est erroné\n" ));
-    push( @result , gettext("Veuillez donc réessayer avec le hash qui vous a été transmis lors de votre demande d'inscription\n" ));
+    push( @result , sprintf( gettext( "An error occurs while you subscribed to the list  %s \n" ) , $list->get_listname) );
+    push( @result , gettext("The confirmation code was wrond\n" ));
+    push( @result , gettext("Please try again\n" ));
     push( @result , "\n" );
     
     
@@ -168,8 +165,8 @@
     
     my @result;
     
-    push( @result , sprintf( gettext( "L'adresse %s n'est pas inscrite à la liste %s\n" ) , $from , $list->get_listname) );
-    push( @result , gettext("Votre demande n'a donc pu être traitée\n" ));
+    push( @result , sprintf( gettext( "The following adress %s is not on the list %s\n" ) , $from , $list->get_listname) );
+    push( @result , gettext("You demand was refused\n" ));
 
     push( @result , "\n" );
     
@@ -184,8 +181,8 @@
     
     my @result;
     
-    push( @result , sprintf( gettext( "Vous ne pouvez pas vous désinscrire de la liste %s\n" ) , $list->get_listname) );
-    push( @result , gettext("Car vous n'y etes pas encore inscrit ou vous êtes en cours de désinscription.\n" ));
+    push( @result , sprintf( gettext( "You cannot unsubscribe from the list %s\n" ) , $list->get_listname) );
+    push( @result , gettext("You are not a subscriber on this list.\n" ));
 
     push( @result , "\n" );
     
@@ -199,9 +196,9 @@
     my $list = shift;
     my @result;
     
-    push( @result , sprintf( gettext( "Votre désinscription à la liste %s n'a pas été confirmée.\n" ) , $list->get_listname) );
-    push( @result , gettext("Le hash que vous avez transmis est invalide.\n" ));
-    push( @result , gettext("Merci de bien vouloir donner le bon hash afin de vous supprimer de la liste.\n" ));
+    push( @result , sprintf( gettext( "Unsubscribe for the list %s was not complete.\n" ) , $list->get_listname) );
+    push( @result , gettext("Confirmation code was wrong.\n" ));
+    push( @result , gettext("Please try again.\n" ));
 
     push( @result , "\n" );
     
@@ -214,7 +211,7 @@
     my $list = shift;
     my @result;
     
-    push( @result , sprintf( gettext( "Vous avez bien été supprimé de la liste %s.\n" ) , $list->get_listname) );
+    push( @result , sprintf( gettext( "You have been successfully removed from the list %s.\n" ) , $list->get_listname) );
 
     push( @result , "\n" );
     
@@ -229,8 +226,8 @@
     my $lang = shift;
     my @result;
     
-    push( @result , sprintf( gettext( "Votre langue sur listengine a été changé pour l'adresse %s.\n" ) , $from) );
-    push( @result , sprintf( gettext( "Votre nouvelle langue est: %s\n" ) , $lang) );
+    push( @result , sprintf( gettext( "The listengine language preference was changed for the following adress %s.\n" ) , $from) );
+    push( @result , sprintf( gettext( "New language is: %s\n" ) , $lang) );
     push( @result , "\n" );
     
     return( \@result );  
@@ -243,7 +240,7 @@
     my $lang = shift;
     my @result;
     
-    push( @result , sprintf( gettext( "Une erreur est survenur lors du changement de langue pour l'adresse %s.\n" ) , $from) );
+    push( @result , sprintf( gettext( "An error occcurs while updating languge for the following adress %s.\n" ) , $from) );
     push( @result , "\n" );
     
     return( \@result );  
@@ -256,9 +253,9 @@
 
     my @result;
     
-    push( @result , gettext( "Commande inconnue sur la liste\n" ) );
-    push( @result , gettext( "Si vous désirez obtenir de l'aide sur le gestionnaire de liste\n" )  );
-    push( @result , gettext( "Envoyez un mail ayant pour sujet \"help\" à l'adresse suivante: \n" )  );
+    push( @result , gettext( "Unknow command\n" ) );
+    push( @result , gettext( "Please read help of listengine\n" )  );
+    push( @result , gettext( "Send email with the subject \"help\" to the following adress: \n" )  );
     push( @result , sprintf( "%s\@%s" , $list->get_localpart , $list->get_domain) );
     push( @result , "\n" );
     push( @result , "---\n" );
@@ -274,10 +271,10 @@
     my $hash = shift;
 
 
-    push( @result , sprintf( gettext( "Le message portant l'identifiant %s") , $hash ) );
-    push( @result , sprintf( gettext( "présent dans la queue de modération de la liste %s") , $list->get_listname ) );
-    push( @result , gettext( "n'a pu être retiré de la queue de modération\n" ) );
-    push( @result , gettext( "Le message n'existe peut etre pas ou a été validé avant votre demande\n" ) );
+    push( @result , sprintf( gettext( "The message with the following id %s") , $hash ) );
+    push( @result , sprintf( gettext( "present in the moderation queue for the list %s") , $list->get_listname ) );
+    push( @result , gettext( "cannot be removed.\n" ) );
+    push( @result , gettext( "The message does not exists or was moderated before you.\n" ) );
     push( @result , "\n" );
     push( @result , "---\n" );
     push( @result , "Listengine 4.0\n" );
@@ -291,9 +288,8 @@
     my $hash = shift;
 
 
-    push( @result , sprintf( gettext( "Le message portant l'identifiant %s") , $hash ) );
-    push( @result , sprintf( gettext( "présent dans la queue de modération de la liste %s") , $list->get_listname ) );
-    push( @result , gettext( "a été retiré de la queue de modération\n" ) );
+    push( @result , sprintf( gettext( "Message with id: %s") , $hash ) );
+    push( @result , sprintf( gettext( "was removed from the moderation queue from the list %s") , $list->get_listname ) );
     push( @result , "\n" );
     push( @result , "---\n" );
     push( @result , "Listengine 4.0\n" );
@@ -307,10 +303,9 @@
     my $hash = shift;
 
 
-    push( @result , sprintf( gettext( "Le message portant l'identifiant %s") , $hash ) );
-    push( @result , sprintf( gettext( "présent dans la queue de modération de la liste %s") , $list->get_listname ) );
-    push( @result , gettext( "n'a pu être envoyé sur la liste\n" ) );
-    push( @result , gettext( "Le message n'existe peut etre pas ou a été envoyé avant votre demande\n" ) );
+    push( @result , sprintf( gettext( "Message with id: %s") , $hash ) );
+    push( @result , sprintf( gettext( "present in the moderation queue for the list %s") , $list->get_listname ) );
+    push( @result , gettext( "cannot be removed from the list\n" ) );
     push( @result , "\n" );
     push( @result , "---\n" );
     push( @result , "Listengine 4.0\n" );
@@ -324,9 +319,9 @@
     my $hash = shift;
 
 
-    push( @result , sprintf( gettext( "Le message portant l'identifiant %s") , $hash ) );
-    push( @result , sprintf( gettext( "présent dans la queue de modération de la liste %s") , $list->get_listname ) );
-    push( @result , gettext( "a été envoyé sur la liste.\n" ) );
+    push( @result , sprintf( gettext( "Mail with id %s") , $hash ) );
+    push( @result , sprintf( gettext( "in the moderation queue of the list %s") , $list->get_listname ) );
+    push( @result , gettext( "was sent on the list.\n" ) );
     push( @result , "\n" );
     push( @result , "---\n" );
     push( @result , "Listengine 4.0\n" );
@@ -342,8 +337,7 @@
 
     my @result;
     
-    push( @result , sprintf( gettext( "L'adresse mail %s \n" ) , $from) );
-    push( @result , sprintf( gettext( "n'est pas autorisée à executer cette action sur la liste %s \n" ), $list->get_listname) );
+    push( @result , sprintf( gettext( "The following adress %s is not allowed to execute commandes on the list %s\n") , $from , $list->get_listname ) );
     push( @result , "\n" );
     
     return( \@result );  
@@ -359,12 +353,12 @@
     my $subject = shift;
     my @result;
     
-    push( @result , sprintf( gettext( "Un mail à modérer est arrivé sur la liste %s.\n" ) , $list->get_listname) );
-    push( @result , sprintf( gettext( "Ce message a été envoyé par %s, le sujet est le suivant: \n" ) , $from) );
+    push( @result , sprintf( gettext( "A mail to moderate is on the list %s.\n" ) , $list->get_listname) );
+    push( @result , sprintf( gettext( "This mail was sent by  %s with the following subject: \n" ) , $from) );
     push( @result , $subject );
     push( @result , "-------\n" );
-    push( @result , gettext( "Pour laisser passer ce message sur la liste, envoyez un mail \n" ) );
-    push( @result , sprintf( gettext( "à l'adresse %s-request@%s avec pour sujet : \"moderate %s\" \n" ) , $list->get_localpart , $list->get_domain , $hash) );
+    push( @result , gettext( "To put this post on the list, send a message  \n" ) );
+    push( @result , sprintf( gettext( "to %s-request\@%s with the following subject : \"moderate %s\" \n" ) , $list->get_localpart , $list->get_domain , $hash) );
     push( @result , "\n" );
     
     return( \@result );  

Modified: trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Panel/Cvs.pm Mon Aug  1 16:26:45 2005
@@ -111,18 +111,27 @@
 	    }
 	    elsif( $cvs->get_status == Vhffs::Constants::WAITING_FOR_VALIDATION )
 	    {
-		$subtemplate = new HTML::Template( filename => "$templatesdir/cvs/menu_sub_wait.tmpl" );
-		$subtemplate->param( NAME => $cvs->get_cvsroot );
-		$subtemplate->param( REASON => gettext( "Waiting for validation" ) );
-		$subtemplate->param( HISTORY => gettext("History"));
-		$subtemplate->param( OID => $cvs->get_oid );
-		$output .= $subtemplate->output;
+			$subtemplate = new HTML::Template( filename => "$templatesdir/cvs/menu_sub_wait.tmpl" );
+			$subtemplate->param( NAME => $cvs->get_cvsroot );
+			$subtemplate->param( REASON => gettext( "Waiting for validation" ) );
+			$subtemplate->param( HISTORY => gettext("History"));
+			$subtemplate->param( OID => $cvs->get_oid );
+			$output .= $subtemplate->output;
 	    }
 	    elsif( $cvs->get_status == Vhffs::Constants::WAITING_FOR_CREATION )
 	    {
 		$subtemplate = new HTML::Template( filename => "$templatesdir/cvs/menu_sub_wait.tmpl" );
 		$subtemplate->param( NAME => $cvs->get_cvsroot);
 		$subtemplate->param( REASON => gettext( "Waiting for creation" ) );
+		$subtemplate->param( HISTORY => gettext("History"));
+		$subtemplate->param( OID => $cvs->get_oid );
+		$output .= $subtemplate->output;
+	    }
+	    elsif( $cvs->get_status == Vhffs::Constants::VALIDATION_REFUSED )
+	    {
+		$subtemplate = new HTML::Template( filename => "$templatesdir/cvs/menu_sub_wait.tmpl" );
+		$subtemplate->param( NAME => $cvs->get_cvsroot);
+		$subtemplate->param( REASON => gettext( "Validation refused" ) );
 		$subtemplate->param( HISTORY => gettext("History"));
 		$subtemplate->param( OID => $cvs->get_oid );
 		$output .= $subtemplate->output;

Modified: trunk/vhffs-api/src/Vhffs/Panel/DNS.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/DNS.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Panel/DNS.pm Mon Aug  1 16:26:45 2005
@@ -130,7 +130,7 @@
 		{
 			$subtemplate = new HTML::Template( filename => "$templatesdir/dns/menu_sub_wait.tmpl" );
 			$subtemplate->param( DOMAIN => $_ );
-			$subtemplate->param( REASON => gettext( "(waiting for moderation)" ) );
+			$subtemplate->param( REASON => "(".gettext( "waiting for moderation" ) .")");
             $subtemplate->param( HISTORY => gettext("History"));
             $subtemplate->param( OID => $domains->{$_}{'object_id'});
 			$output .= $subtemplate->output;
@@ -139,7 +139,16 @@
 		{
 			$subtemplate = new HTML::Template( filename => "$templatesdir/dns/menu_sub_wait.tmpl" );
 			$subtemplate->param( DOMAIN => $_ );
-			$subtemplate->param( REASON => gettext( "(waiting for creation)" ) );
+			$subtemplate->param( REASON => "(".gettext( "waiting for creation".")" ) );
+            $subtemplate->param( HISTORY => gettext("History"));
+            $subtemplate->param( OID => $domains->{$_}{'object_id'});
+			$output .= $subtemplate->output;
+		}
+		elsif( $domains->{$_}{'state'} == Vhffs::Constants::VALIDATION_REFUSED )
+		{
+			$subtemplate = new HTML::Template( filename => "$templatesdir/dns/menu_sub_wait.tmpl" );
+			$subtemplate->param( DOMAIN => $_ );
+			$subtemplate->param( REASON => "(".gettext( "validation refused" ).")" );
             $subtemplate->param( HISTORY => gettext("History"));
             $subtemplate->param( OID => $domains->{$_}{'object_id'});
 			$output .= $subtemplate->output;

Modified: trunk/vhffs-api/src/Vhffs/Panel/Mail.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/Mail.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Panel/Mail.pm Mon Aug  1 16:26:45 2005
@@ -127,7 +127,7 @@
 		{
 			$subtemplate = new HTML::Template( filename => "$templatesdir/mail/menu_sub_wait.tmpl" );
 			$subtemplate->param( DOMAIN => "$_");
-			$subtemplate->param( REASON => gettext( "(waiting for validation)" ));
+			$subtemplate->param( REASON => gettext( "(waiting for moderation)" ));
 			$subtemplate->param( HISTORY => gettext("History"));
             $subtemplate->param( OID => $mails->{$_}{'object_id'});
 			$output .= $subtemplate->output;                                                                        
@@ -158,6 +158,15 @@
             $subtemplate->param( OID => $mails->{$_}{'object_id'});
 			$output .= $subtemplate->output;
 		}
+		elsif( $mails->{$_}{'state'} == Vhffs::Constants::VALIDATION_REFUSED )
+		{
+			$subtemplate = new HTML::Template( filename => "$templatesdir/mail/menu_sub_wait.tmpl" );
+			$subtemplate->param( DOMAIN => "$_");
+			$subtemplate->param( HISTORY => gettext("History"));
+			$subtemplate->param( REASON => gettext( "(validation refused)" ));
+            $subtemplate->param( OID => $mails->{$_}{'object_id'});
+			$output .= $subtemplate->output;
+		}
 	}       
 
 

Modified: trunk/vhffs-api/src/Vhffs/Panel/Pgsql.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/Pgsql.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Panel/Pgsql.pm Mon Aug  1 16:26:45 2005
@@ -132,7 +132,16 @@
 		{
 			$subtemplate = new HTML::Template( filename => "$templatesdir/pgsql/menu_sub_wait.tmpl" );
 			$subtemplate->param( NAME => $_);
-			$subtemplate->param( REASON => gettext( "Will be deleted" ) );
+			$subtemplate->param( REASON => "(". gettext( "Will be deleted" ).")" );
+			$subtemplate->param( HISTORY => gettext("History"));
+	        $subtemplate->param( OID => $dbs->{$_}{'object_id'});
+			$output .= $subtemplate->output;
+		}
+		elsif( $dbs->{$_}{'state'} == Vhffs::Constants::VALIDATION_REFUSED )
+		{
+			$subtemplate = new HTML::Template( filename => "$templatesdir/pgsql/menu_sub_wait.tmpl" );
+			$subtemplate->param( NAME => $_);
+			$subtemplate->param( REASON => "(".gettext( "Validation refused" ).")" );
 			$subtemplate->param( HISTORY => gettext("History"));
 	        $subtemplate->param( OID => $dbs->{$_}{'object_id'});
 			$output .= $subtemplate->output;

Modified: trunk/vhffs-api/src/Vhffs/Panel/Svn.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Panel/Svn.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Panel/Svn.pm Mon Aug  1 16:26:45 2005
@@ -159,6 +159,15 @@
             $subtemplate->param( OID => $repos->{$_}{'object_id'});
             $output .= $subtemplate->output;
         }
+		elsif( $repos->{$_}{'state'} == Vhffs::Constants::VALIDATION_REFUSED )
+		{
+			$subtemplate = new HTML::Template( filename => "$templatesdir/svn/menu_sub_wait.tmpl" );
+			$subtemplate->param( NAME => "$_");
+			$subtemplate->param( REASON => gettext( "Validation refused" ) );
+			$subtemplate->param( HISTORY => gettext("History"));
+			$subtemplate->param( OID => $repos->{$_}{'object_id'});
+			$output .= $subtemplate->output;
+		}
 
 	}
 

Modified: trunk/vhffs-api/src/Vhffs/Robots/Group.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Robots/Group.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Robots/Group.pm Mon Aug  1 16:26:45 2005
@@ -29,20 +29,6 @@
     return undef if ( $request->execute() <= 0 );
 
     return( $request->fetchall_hashref('groupname') );
-}
-
-
-
-sub get_all_groups_to_delete
-{
-	my( $main ) = @_;
-	
-	my $query = "SELECT g.groupname,g.gid FROM  vhffs_groups g, vhffs_object o WHERE o.state='".Vhffs::Constants::TO_DELETE."' AND g.object_id = o.object_id";
-
-	$request = $main->{'db'}->{'DB_READ'}->prepare( $query ) or return -2;
-	return undef if ( $request->execute() <= 0 );
-
-	return( $request->fetchall_hashref('groupname') );
 }
 
 
@@ -174,5 +160,82 @@
 	return 1;
 }
 
+sub delete
+{
+	my $vhffs = shift;
+	my $group = shift;
+	my $objects;
+	use Vhffs::Services::Cvs;
+	use Vhffs::Services::DNS;
+	use Vhffs::Services::Httpd;
+	use Vhffs::Services::Mailing;
+	use Vhffs::Services::Mail;
+	use Vhffs::Services::Mysql;
+	use Vhffs::Services::Postgres;
+	use Vhffs::Services::Svn;
+	
+	use Vhffs::Robots::Svn;
+	use Vhffs::Robots::Cvs;
+	use Vhffs::Robots::DNS;
+	use Vhffs::Robots::Web;
+	use Vhffs::Robots::Postgres;
+	use Vhffs::Robots::Mysql;
+	use Vhffs::Robots::Mail;
+	use Vhffs::Robots::Mailinglist;
+
+#	$objects = Vhffs::Services::Cvs::getall( $vhffs , undef , undef , $group );
+#	foreach ( @{$objects} )
+#	{
+#		Vhffs::Robots::Cvs::delete_cvs( $_ );
+#		$_->delete;
+#	}
+
+	$objects = Vhffs::Services::Svn::getall( $vhffs , undef , undef , $group );
+	foreach ( @{$objects} )
+	{
+		Vhffs::Robots::Cvs::delete_repo( $_ );
+		$_->delete;
+	}
+
+#	$objects = Vhffs::Services::DNS::getall( $vhffs , undef , undef , $group );
+#	foreach ( @{$objects} )
+#	{
+#		$_->delete;
+#	}
+
+#	$objects = Vhffs::Services::Mysql::getall( $vhffs , undef , undef , $group );
+#	foreach ( @{$objects} )
+#	{
+	#	Vhffs::Robots::Mysql::delete_db( $vhffs , $_->get_dbname ); 
+#		$_->delete;
+#	}
+
+	#$objects = Vhffs::Services::Postgres::getall( $vhffs , undef , undef , $group );
+#	foreach ( @{$objects} )
+#	{
+	#	Vhffs::Robots::Postgres::delete_db( $vhffs , $_->get_dbname ); 
+#		$_->delete;
+#	}
+
+
+	$objects = Vhffs::Services::Httpd::getall( $vhffs , undef , undef , $group );
+#	foreach ( @{$objects} )
+#	{
+#		Vhffs::Robots::Web::delete_web( $vhffs , $_->get_servername ); 
+#		$_->delete;
+#	}
+
+	my $users = $group->get_users;
+	my $user;
+	foreach $user ( @{$users} )
+	{
+		del_user( $user , $group , $vhffs );
+	}
+
+	delete_groupdir( $vhffs , $group );
+
+}
+
+
 1;
 

Modified: trunk/vhffs-api/src/Vhffs/Services/Cvs.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Cvs.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Cvs.pm Mon Aug  1 16:26:45 2005
@@ -178,6 +178,8 @@
 {
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 
     my $query;
     my $request;
@@ -186,14 +188,10 @@
     my $result;
     my $tmp;
 
-    if( defined $state )
-    {
-        $query = "SELECT c.cvsroot, c.object_id FROM  vhffs_cvs c, vhffs_object o WHERE o.state='".$state."' AND c.object_id = o.object_id";
-    }
-    else
-    {
-        $query = "SELECT c.cvsroot, c.object_id FROM  vhffs_cvs c, vhffs_object o WHERE c.object_id = o.object_id";
-    }
+    $query = "SELECT c.cvsroot, c.object_id FROM  vhffs_cvs c, vhffs_object o WHERE c.object_id = o.object_id";
+	$query.= " AND o.state='".$state."'" if( defined $state );
+	$query.= " AND c.cvsroot LIKE '%".$state."%'" if( defined $state );
+	$query.= " AND c.owner_gid='".$group->get_gid."'" if( defined $group );
     $query .= " ORDER BY c.cvsroot";
     $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;

Modified: trunk/vhffs-api/src/Vhffs/Services/DNS.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/DNS.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/DNS.pm Mon Aug  1 16:26:45 2005
@@ -52,6 +52,8 @@
 {
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 
     my $query;
     my $request;
@@ -60,15 +62,12 @@
     my $result;
     my $tmp;
 
-    if( defined $state )
-    {
-	$query = "SELECT n.domain, n.object_id FROM  vhffs_dns_global n, vhffs_object o WHERE o.state='".$state."' AND n.object_id = o.object_id";
-    }
-    else
-    {
-	$query = "SELECT n.domain, n.object_id FROM  vhffs_dns_global n, vhffs_object o WHERE AND n.object_id = o.object_id";
-    }
-    $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
+	$query = "SELECT n.domain, n.object_id FROM  vhffs_dns_global n, vhffs_object o WHERE n.object_id = o.object_id";
+    $query.= " AND o.state='".$state."'" if( defined $state );
+    $query.= " AND n.domain LIKE '%".$name."%'" if( defined $name );
+    $query.= " AND n.owner_gid='".$group->get_gid."'" if( defined $group );
+
+	$request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;
 
     return undef if( $rows <= 0);

Modified: trunk/vhffs-api/src/Vhffs/Services/Httpd.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Httpd.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Httpd.pm Mon Aug  1 16:26:45 2005
@@ -236,6 +236,8 @@
 {
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 
     my $query;
     my $request;
@@ -244,21 +246,17 @@
     my $result;
     my $tmp;
 
-    if( ( defined $state ) && ( $state < Vhffs::Constants::TO_DELETE ) )
-    {
-        $query = "SELECT w.servername, w.object_id FROM  vhffs_httpd w, vhffs_object o WHERE o.state='".$state."' AND w.object_id = o.object_id";
-    }
-    else
-    {
-        $query = "SELECT w.servername, w.object_id FROM  vhffs_httpd w, vhffs_object o WHERE w.object_id = o.object_id";
-    }
-    $query .= " ORDER BY servername";
+	$query = "SELECT w.servername, w.object_id FROM  vhffs_httpd w, vhffs_object o WHERE w.object_id = o.object_id";
+    $query .= " AND o.state='".$state."'" if( defined $state );
+    $query .= " AND w.servername LIKE '%".$name."%'" if( defined $name );
+    $query .= " AND w.owner_gid='".$group->get_gid."'" if( defined $group );
+    
+	
+	$query .= " ORDER BY servername";
     $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;
 
     return undef if( $rows == 0);
-
-#    $result = $request->fetchall_hashref( 'servername' );
 
     while( $result = $request->fetchrow_hashref )
     {

Modified: trunk/vhffs-api/src/Vhffs/Services/Mail.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Mail.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Mail.pm Mon Aug  1 16:26:45 2005
@@ -500,6 +500,8 @@
 {
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 	
     my $query;
     my $request;
@@ -510,6 +512,8 @@
 
     $query = "SELECT m.domain FROM  vhffs_mxdomain m, vhffs_object o WHERE m.object_id = o.object_id";
 	$query .= " AND o.state='".$state."'" if( defined $state );
+	$query .= " AND m.domain LIKE '%".$name."%'" if( defined $name );
+	$query .= " AND m.owner_gid='".$group->get_gid."'" if( defined $group );
     $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;
 

Modified: trunk/vhffs-api/src/Vhffs/Services/Mailing.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Mailing.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Mailing.pm Mon Aug  1 16:26:45 2005
@@ -579,19 +579,14 @@
     my $vhffs = shift;
     my $state = shift;
     my $name = shift;
+    my $group = shift;
 
     my $query;
     return undef if( ! defined $vhffs );
 
-    if( defined $state )
-    {
-	$query = "SELECT * FROM vhffs_ml ml, vhffs_object o WHERE o.object_id=ml.object_id AND o.state='".$state."'";
-    }
-    else
-    {
 	$query = "SELECT * FROM vhffs_ml ml, vhffs_object o WHERE o.object_id=ml.object_id";
-    }
-
+	$query .= " AND o.state='".$state."'" if( defined $state );
+	$query .= " AND ml.owner_gid='".$group->get_gid."'" if( defined $group );
     $query .= " AND ( ( local LIKE '%".$name."%' ) OR (domain LIKE '%".$name."'% ) )" if( defined $name );
 
     my $request = $vhffs->get_db_object->{'DB_WRITE'}->prepare( $query );

Modified: trunk/vhffs-api/src/Vhffs/Services/Mysql.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Mysql.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Mysql.pm Mon Aug  1 16:26:45 2005
@@ -213,6 +213,8 @@
 {
 	my $vhffs = shift;
 	my $state = shift;
+	my $name = shift;
+	my $group = shift;
 
     my $query;
     my $request;
@@ -221,15 +223,11 @@
     my $result;
     my $tmp;
 
-    if( defined $state )
-    {
-            $query = "SELECT dbname, dbuser FROM vhffs_mysql m, vhffs_object o WHERE o.state='".$state."' AND o.object_id=m.object_id";
-    }
-    else
-    {
-            $query = "SELECT dbname, dbuser FROM vhffs_mysql m, vhffs_object o WHERE o.object_id=m.object_id";
-    }
-    $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
+	$query = "SELECT dbname, dbuser FROM vhffs_mysql m, vhffs_object o WHERE o.object_id=m.object_id";
+    $query.= " AND o.state='".$state."'" if( defined $state );
+    $query.= " AND m.dbname LIKE '%".$name."%'" if( defined $name );
+    $query.= " AND m.owner_gid='".$group->get_gid."'" if( defined $group );
+	$request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;
 
     return undef if( $rows == 0);

Modified: trunk/vhffs-api/src/Vhffs/Services/Postgres.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Postgres.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Postgres.pm Mon Aug  1 16:26:45 2005
@@ -227,6 +227,8 @@
 {   
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 
     my $query;
     my $request;
@@ -237,6 +239,8 @@
 
     $query = "SELECT dbname FROM vhffs_pgsql p, vhffs_object o WHERE o.object_id=p.object_id";
 	$query .= " AND o.state='".$state."'" if( defined $state );
+	$query .= " AND p.dbname LIKE '%".$name."%'" if( defined $name );
+	$query .= " AND p.owner_gid='".$group->get_gid."'" if( defined $group );
 
     $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     my $rows = $request->execute;

Modified: trunk/vhffs-api/src/Vhffs/Services/Svn.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/Services/Svn.pm (original)
+++ trunk/vhffs-api/src/Vhffs/Services/Svn.pm Mon Aug  1 16:26:45 2005
@@ -229,6 +229,8 @@
 {
     my $vhffs = shift;
     my $state = shift;
+    my $name = shift;
+    my $group = shift;
 
     my $query;
     my $request;
@@ -236,16 +238,14 @@
     my $objs;
     my $result;
     my $tmp;
-
-    if( defined $state )
-    {
-        $query = "SELECT * FROM  vhffs_svn s, vhffs_object o WHERE o.state='".$state."' AND s.object_id = o.object_id";
-    }
-    else
-    {
-        $query = "SELECT * FROM  vhffs_svn s, vhffs_object o WHERE s.object_id = o.object_id";
-    }
+	
+	
+	$query = "SELECT * FROM  vhffs_svn s, vhffs_object o WHERE s.object_id = o.object_id ";
+	$query.= " AND o.state='".$state."'" if( defined $state);
+	$query.= " AND s.owner_gid='".$group->get_gid."'" if( defined $group);
+	$query.= " AND s.reponame LIKE '%".$name."%'" if( defined $name);
     $query .= " ORDER BY reponame";
+
     $request = $vhffs->{'db'}->{'DB_READ'}->prepare( $query );
     
     my $rows = $request->execute;

Modified: trunk/vhffs-api/src/Vhffs/User.pm
==============================================================================
--- trunk/vhffs-api/src/Vhffs/User.pm (original)
+++ trunk/vhffs-api/src/Vhffs/User.pm Mon Aug  1 16:26:45 2005
@@ -389,13 +389,7 @@
 
     return -1 if ( ! defined $self->{'username'} );
     return -1 if ( ! defined $self->{'uid'} );
-
-    $self->SUPER::delete;
-
-#    $group = new Vhffs::Group( $self->{'main'} , $self->{'username'} , $self->{'uid'} );
-
-
-    return -1 if ( $self->{'group'}->delete < 0 );
+    return -2 if ( $self->{'group'}->delete < 0 );
 
     $request = $self->{'db'}->{'DB_WRITE'}->prepare("DELETE FROM vhffs_users WHERE uid='".$self->{'uid'}."'");
     $request2 = $self->{'db'}->{'DB_WRITE'}->prepare("DELETE FROM vhffs_user_group WHERE uid='".$self->{'uid'}."'");
@@ -403,6 +397,8 @@
 
     $request->execute() or return -1;
     $request2->execute() or return -2;
+    
+	$self->SUPER::delete;
 
     return 1;
 }
@@ -756,13 +752,15 @@
 sub getall
 {
 	my $vhffs = shift;
+	my $state = shift ;
 	my $name = shift ;
 	my @users;
 	return if( ! defined $vhffs );
 
 	my $query;
-	$query = "SELECT username FROM vhffs_users vu , vhffs_user_info vi WHERE vu.uid=vi.uid ";
+	$query = "SELECT username FROM vhffs_users vu , vhffs_user_info vi, vhffs_object o  WHERE vu.uid=vi.uid AND o.object_id=vu.object_id ";
 	$query.= " AND ( vu.username LIKE '%".$name."%' OR vi.firstname LIKE '%".$name."%' OR vi.lastname LIKE '%".$name."%' )" if( defined $name );
+	$query.= " AND o.state='".$state."'" if( defined $state );
 	$query.="ORDER BY username";
 	
 	

Modified: trunk/vhffs-backend/conf/vhffs.conf
==============================================================================
--- trunk/vhffs-backend/conf/vhffs.conf (original)
+++ trunk/vhffs-backend/conf/vhffs.conf Mon Aug  1 16:26:45 2005
@@ -6,6 +6,7 @@
 	intldir			=	/usr/share/vhffs/intl/
 	default_template	=	default
 	vhffs_master 		=	VHFFS Admin <admin@localhost>
+	vhffs_moderator 		=	VHFFS Admin <moderator@localhost>
 	mailtag 		=	[VHFFS]
 	allow_subscribe		=	yes
 	alert_mail		=	root@localhost
@@ -192,6 +193,7 @@
 		password	= zepojf
 	</postgresql>
 	<subversion>
+		svnweb_url = "http://svnweb.hoster";	
 		uid	=	33
 		gid	=	33
 	</subversion>
@@ -201,7 +203,7 @@
 		user 		=	sod
 	</mailuser>
 	<mailing>
-		default_domain = tuxfamily.org
+		default_domain = lists.tuxfamily.org
 	</mailing>
 	<listengine>
 		datadir		=	"/data/listengine"

Modified: trunk/vhffs-listengine/src/archives/archives.pl
==============================================================================
--- trunk/vhffs-listengine/src/archives/archives.pl (original)
+++ trunk/vhffs-listengine/src/archives/archives.pl Mon Aug  1 16:26:45 2005
@@ -70,7 +70,7 @@
 if( Vhffs::Functions::valid_mail( $listname ) != 1 )
 {
     $template = new HTML::Template( filename => $templatedir."/error.tmpl");
-    $template->param( ERROR => gettext("Bad listname $listname") );
+    $template->param( ERROR => sprintf( gettext("Bad listname %s"), $listname) );
 }
 elsif( ( ! defined $lpart ) || ( ! defined $domain ) )
 {

Modified: trunk/vhffs-panel/admin/cvs/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/cvs/list.pl (original)
+++ trunk/vhffs-panel/admin/cvs/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All CVS repositories List") );
+		$template->param( TITLE => gettext("List of all CVS repositories") );
 	}
 
 	use Vhffs::Panel::Web;

Modified: trunk/vhffs-panel/admin/dns/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/dns/list.pl (original)
+++ trunk/vhffs-panel/admin/dns/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All domains List") );
+		$template->param( TITLE => gettext("List of all domains") );
 	}
 
 	use Vhffs::Panel::Web;

Modified: trunk/vhffs-panel/admin/group/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/group/list.pl (original)
+++ trunk/vhffs-panel/admin/group/list.pl Mon Aug  1 16:26:45 2005
@@ -46,7 +46,7 @@
 
 	if( ! defined $name)
 	{
-		$template->param( TITLE => gettext("All Groups List") );
+		$template->param( TITLE => gettext("List of all groups") );
 	}
 	else
 	{

Modified: trunk/vhffs-panel/admin/mail/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/mail/list.pl (original)
+++ trunk/vhffs-panel/admin/mail/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
     }
     else
     {
-	$template->param( TITLE => gettext("All Mail Domains List") );
+	$template->param( TITLE => gettext("List of all mail-domain") );
     }
 
     use Vhffs::Panel::Mail;

Modified: trunk/vhffs-panel/admin/mailing/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/mailing/list.pl (original)
+++ trunk/vhffs-panel/admin/mailing/list.pl Mon Aug  1 16:26:45 2005
@@ -52,7 +52,7 @@
     }
     else
     {
-	$template->param( TITLE => gettext("All Mailing list") );
+	$template->param( TITLE => gettext("List of all mailing-list") );
     }
 
 

Modified: trunk/vhffs-panel/admin/mysql/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/mysql/list.pl (original)
+++ trunk/vhffs-panel/admin/mysql/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All MySQL database List") );
+		$template->param( TITLE => gettext("List of all MySQL databases") );
 	}
 
 	use Vhffs::Panel::Web;

Modified: trunk/vhffs-panel/admin/pgsql/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/pgsql/list.pl (original)
+++ trunk/vhffs-panel/admin/pgsql/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All PostgreSQL database List") );
+		$template->param( TITLE => gettext("List of all PostgreSQL databases") );
 	}
 
 	use Vhffs::Panel::Web;

Modified: trunk/vhffs-panel/admin/svn/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/svn/list.pl (original)
+++ trunk/vhffs-panel/admin/svn/list.pl Mon Aug  1 16:26:45 2005
@@ -48,16 +48,17 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All Subversion repositories List") );
+		$template->param( TITLE => gettext("List of all subversion repositories") );
 	}
 
-	use Vhffs::Panel::Svn;
-	my $repos = Vhffs::Panel::Svn::getall_svn( $vhffs , $name );
+	use Vhffs::Services::Svn;
+	my $repos = Vhffs::Services::Svn::getall( $vhffs , undef , $name );
+	my $svn;
 
 	if( defined $repos )
 	{
 		my $output = "";
-		foreach( sort ( keys %{$repos} ) )
+		foreach $svn ( @{$repos} )
 		{
 			my $subtemplate;
 			if( $user->is_admin == 1 )  {
@@ -65,26 +66,10 @@
 			}  else  {
 				$subtemplate = new HTML::Template( filename => "$templatesdir/admin/svn/part-modo.tmpl" );
 			}
-			$subtemplate->param( SVNROOT => $repos->{$_}{'reponame'} ) if( defined $repos->{$_}{'reponame'} );
-			$subtemplate->param( GROUP => Vhffs::Group::get_name_by_gid( $vhffs , $repos->{$_}{'owner_gid'} ) ) if( defined $repos->{$_}{'owner_gid'} );
-			$subtemplate->param( OID => $repos->{$_}{'object_id'} ) if( defined $repos->{$_}{'object_id'} );
-
-			if( $repos->{$_}{'state'} == Vhffs::Constants::WAITING_FOR_CREATION )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for creation") );
-			}
-			elsif( $repos->{$_}{'state'} == Vhffs::Constants::ACTIVATED )
-			{
-				$subtemplate->param( STATE => gettext("Activated") );
-			}
-			elsif( $repos->{$_}{'state'} == Vhffs::Constants::TO_DELETE )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for delete") );
-			}
-			elsif( $repos->{$_}{'state'} == Vhffs::Constants::WAITING_FOR_VALIDATION )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for validation") );
-			}
+			$subtemplate->param( SVNROOT => $svn->get_reponame );
+			$subtemplate->param( GROUP => $svn->get_group->get_groupname );
+			$subtemplate->param( OID => $svn->get_oid );
+			$subtemplate->param( STATE => Vhffs::Functions::status_string_from_status_id( $svn->get_status ) );
 
 			if( $user->is_admin == 1 )  {
 				$subtemplate->param( SEND => gettext("Modify this Subversion repository") );

Modified: trunk/vhffs-panel/admin/user/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/user/list.pl (original)
+++ trunk/vhffs-panel/admin/user/list.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All Users List") );
+		$template->param( TITLE => gettext("List of all users") );
 	}
 
 	use Vhffs::Panel::User;

Modified: trunk/vhffs-panel/admin/web/list.pl
==============================================================================
--- trunk/vhffs-panel/admin/web/list.pl (original)
+++ trunk/vhffs-panel/admin/web/list.pl Mon Aug  1 16:26:45 2005
@@ -50,19 +50,20 @@
 	}
 	else
 	{
-		$template->param( TITLE => gettext("All Web Areas List") );
+		$template->param( TITLE => gettext("List of all websites") );
 	}
 
 	use Vhffs::Panel::Web;
-
-	my $webs = Vhffs::Panel::Web::getall_webs( $vhffs , $name );
-
+	use Vhffs::Services::Httpd;
+	my $webs = Vhffs::Services::Httpd::getall( $vhffs , undef , $name );
+	my $web;
 	if( defined $webs )
 	{
 		my $output = "";
-		foreach( sort ( keys %{$webs} ) )
+		foreach $web ( @{$webs} )
 		{
 			my $subtemplate;
+			next if( $web->fetch < 0 );
 
 			if( $user->is_admin == 1 )  {
 				$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part.tmpl" );
@@ -70,33 +71,12 @@
 				$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part-modo.tmpl" );
 			}
 
-			$subtemplate->param( SERVERNAME => $webs->{$_}{'servername'} ) if( defined $webs->{$_}{'servername'} );
-			$subtemplate->param( GROUP => $webs->{$_}{'owner_gid'} ) if( defined $webs->{$_}{'owner_gid'} );
-			$subtemplate->param( OID => $webs->{$_}{'object_id'} ) if( defined $webs->{$_}{'object_id'} );
-
-			if( $webs->{$_}{'state'} == Vhffs::Constants::WAITING_FOR_CREATION )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for creation") );
-			}
-			elsif( $webs->{$_}{'state'} == Vhffs::Constants::ACTIVATED )
-			{
-				$subtemplate->param( STATE => gettext("Activated") );
-			}
-			elsif( $webs->{$_}{'state'} == Vhffs::Constants::TO_DELETE )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for delete") );
-			}
-			elsif( $webs->{$_}{'state'} == Vhffs::Constants::WAITING_FOR_VALIDATION )
-			{
-				$subtemplate->param( STATE => gettext("Waiting for validation") );
-			}
+			$subtemplate->param( SERVERNAME => $web->get_servername );
+			$subtemplate->param( GROUP => $web->get_group->get_groupname );
+			$subtemplate->param( OID => $web->get_oid );
+			$subtemplate->param( STATE => Vhffs::Functions::status_string_from_status_id( $web->get_status ) );
+			$subtemplate->param( SEND => gettext("Change this Website") );
 			
-			if( $user->is_admin == 1 )  {
-				$subtemplate->param( SEND => gettext("Modify this web area") );
-			}  else   {
-				$subtemplate->param( SEND => gettext("Show this web area") );
-			}
-
 			$output .= $subtemplate->output;
 		}
 		$template->param( LIST => $output );

Modified: trunk/vhffs-panel/dns/prefs.pl
==============================================================================
--- trunk/vhffs-panel/dns/prefs.pl (original)
+++ trunk/vhffs-panel/dns/prefs.pl Mon Aug  1 16:26:45 2005
@@ -50,7 +50,7 @@
 {
 
 	$template = new HTML::Template( filename => $templatedir."/misc/simplemsg.tmpl" );
-	$message = sprintf( gettext( "Cannot get informations on this object %s %s"), $retour, $dns->get_domain);
+	$message = gettext( "Cannot get informations on this object");
 	$template->param( MESSAGE => $message );
 
 }

Modified: trunk/vhffs-panel/mail/prefs.pl
==============================================================================
--- trunk/vhffs-panel/mail/prefs.pl (original)
+++ trunk/vhffs-panel/mail/prefs.pl Mon Aug  1 16:26:45 2005
@@ -91,7 +91,7 @@
 #	$template->param( TEXT_SEND => gettext("Modify") );
 	$template->param( TEXT_CHANGE_CATCHALL => gettext("Change catchall forward") );
 	$template->param( TEXT_ADD_ACCOUNT => gettext("Add a popbox to this domain") );
-	$template->param( TEXT_ADD_FORWARD => gettext("Add a forward to this domain") );
+	$template->param( TEXT_ADD_FORWARD => gettext("Add a forward on this domain") );
 
 
 	$template->param( TEXT_DELETE_MAIL => gettext("Delete this mail domain") );

Modified: trunk/vhffs-panel/mailinglist/prefs.pl
==============================================================================
--- trunk/vhffs-panel/mailinglist/prefs.pl (original)
+++ trunk/vhffs-panel/mailinglist/prefs.pl Mon Aug  1 16:26:45 2005
@@ -43,7 +43,7 @@
 {
 
 	$template = new HTML::Template( filename => $templatedir."/misc/simplemsg.tmpl" );
-	my $message = gettext( "Cannot get informations on this object $lpart $domain");
+	my $message = gettext( "Cannot get informations on this object");
 	$template->param( MESSAGE => $message );
 
 }

Modified: trunk/vhffs-panel/public/group.pl
==============================================================================
--- trunk/vhffs-panel/public/group.pl (original)
+++ trunk/vhffs-panel/public/group.pl Mon Aug  1 16:26:45 2005
@@ -20,6 +20,7 @@
 my $template;
 my $templatedir = $vhffs->get_config->get_templatedir;
 my $cgi = new CGI;
+my $repos;
 
 my $name = $cgi->param("name");
 $name = Vhffs::Functions::check_arg( $name );
@@ -92,6 +93,7 @@
 			{
 			    $subtemplate = new HTML::Template( filename => $templatedir."/public/misc/web-part.tmpl" );
 			    $subtemplate->param( SERVERNAME => $_->get_servername );
+			    $subtemplate->param( DESCRIPTION => $_->get_description );
 			    $output .= $subtemplate->output;
 			}
 
@@ -105,14 +107,9 @@
 
 		if( $vhffs->get_config->use_cvs == 1 )
 		{
-
 		    use Vhffs::Services::Cvs;
-
-		    
-		    my $repos = Vhffs::Services::Cvs::getall_per_group( $vhffs , $group );
-
+		    $repos = Vhffs::Services::Cvs::getall_per_group( $vhffs , $group );
 		    $output = "";
-
 		    $template->param( CVS_TITLE => gettext("CVS repository for this group"));
 		    if( defined $repos )
 		    {
@@ -120,7 +117,7 @@
 			{
 			    $subtemplate = new HTML::Template( filename => $templatedir."/public/misc/cvs-part.tmpl" );
 			    $subtemplate->param( CVSROOT => $_->get_cvsroot );
-			    $subtemplate->param( CVSURL  => $vhffs->get_config->get_cvsweburl . "/" . $group->get_groupname . "/" . $_->get_cvsroot );
+			    $subtemplate->param( CVSURL  => $vhffs->get_config->get_svnweburl . "/" . $group->get_groupname . "/" . $_->get_cvsroot );
 			    $output .= $subtemplate->output;
 			}
 
@@ -131,8 +128,33 @@
 			$template->param( CVS_VALUE => gettext("No cvs repository available for this group") );
 		    }
 		}
+		if( $vhffs->get_config->use_svn == 1 )
+		{
+		    use Vhffs::Services::Svn;
+		    $repos = Vhffs::Services::Svn::getall_by_group( $vhffs , $group );
+		    $output = "";
+		    $template->param( SVN_TITLE => gettext("SVN repository for this group"));
+		    if( defined $repos )
+		    {
+				foreach(  @{$repos} )
+				{
+			   	 	$subtemplate = new HTML::Template( filename => $templatedir."/public/misc/svn-part.tmpl" );
+			    	$subtemplate->param( SVNROOT => $_->get_reponame );
+			    	$subtemplate->param( DESCRIPTION => $_->get_description );
+			    	$subtemplate->param( SVNURL  => $vhffs->get_config->get_svnweburl . "/" . $group->get_groupname . "/" . $_->get_reponame );
+			    	$output .= $subtemplate->output;
+				}
 
+				$template->param( SVN_VALUE => $output );
+		    }
+	    	else
+	    	{
+				$template->param( SVN_VALUE => gettext("No subversion repository available for this group") );
+	    	}
+		}
 
 	}
 }
 print "Content-Type: text/html; charset=utf-8\n\n" . $template->output;
+
+

Modified: trunk/vhffs-panel/public/index.pl
==============================================================================
--- trunk/vhffs-panel/public/index.pl (original)
+++ trunk/vhffs-panel/public/index.pl Mon Aug  1 16:26:45 2005
@@ -39,6 +39,7 @@
 
 
 $template->param( TEXT_LASTGROUPS => sprintf( gettext("Show me last groups on %s") , $hostname )  );
+$template->param( TEXT_ALLGROUPS => sprintf( gettext("Show me last groups on %s") , $hostname )  );
 $template->param( GROUPS_TITLE => gettext("Group public area")  );
 $template->param( TEXT_SEARCH_GROUP => gettext("Show me this group according to this username")  );
 

Modified: trunk/vhffs-panel/subscribe.pl
==============================================================================
--- trunk/vhffs-panel/subscribe.pl (original)
+++ trunk/vhffs-panel/subscribe.pl Mon Aug  1 16:26:45 2005
@@ -1,48 +1,52 @@
 #!/usr/bin/perl -w
 
 
+use strict;
+use CGI;
+use locale;
+use Vhffs::Main;
+use Vhffs::Constants;
+use Vhffs::Panel::Main;
+use Vhffs::Panel::Confirmation;
 use POSIX qw(locale_h);
 use HTML::Template;
-use locale;
 use Locale::gettext;
-use CGI;
-use Vhffs::Main;
-use Vhffs::Constants;
-use strict;
-use Vhffs::Panel::Main;
 
-my $vhffs = init Vhffs::Main;
-my $templatedir = $vhffs->get_config->get_templatedir;
-
+my $vhffs 			= init Vhffs::Main;
+my $templatedir 	= $vhffs->get_config->get_templatedir;
+my $template;
+my $confirmation;
 setlocale(LC_ALL, CGI->cookie("language") );
 bindtextdomain("vhffs", $vhffs->get_config->get_intldir);
 textdomain("vhffs");
 
-my $template;
 
 if( $vhffs->get_config->get_allow_subscribe == 0 )
 {
 	$template = new HTML::Template( filename => $templatedir."/misc/simplemsg.tmpl");
-	my $message = gettext("You cannot subscribe to VHFFS");
-	$template->param( MESSAGE => $message );
+	$template->param( MESSAGE => gettext("You cannot subscribe to VHFFS") );
 }
 else
 {
-	$template = new HTML::Template( filename => $templatedir."/user/create.tmpl" );
+	$template 		= new HTML::Template( filename => $templatedir."/user/create.tmpl" );
+	$confirmation	=	Vhffs::Panel::Confirmation::create_code( $vhffs );
 	
-	$template->param( TITLE => gettext("Subscription") );
-	$template->param( TEXT_SUBSCRIBE => gettext("Subscription") );
-	$template->param( TEXT_INFOS => gettext("Please fill all the fields, a mail containing your password will be sent to you") );
-	$template->param( USERNAME_TEXT => gettext("Username") );
-	$template->param( MAIL_TEXT => gettext("mail") );
-	$template->param( FIRSTNAME_TEXT => gettext("Firstname") );
-	$template->param( LASTNAME_TEXT => gettext("Lastname") );
-	$template->param( ZIPCODE_TEXT => gettext("Zipcode") );
-	$template->param( CITY_TEXT => gettext("City") );
-	$template->param( COUNTRY_TEXT => gettext("Country") );
-	$template->param( ADDRESS_TEXT => gettext("Address") );
-	$template->param( SEND => gettext("Subscribe") );
-	$template->param( BACK => gettext("Back to Login") );
+	$template->param( TITLE 			=> gettext("Subscription ") );
+	$template->param( TEXT_SUBSCRIBE 	=> gettext("Subscription") );
+	$template->param( TEXT_INFOS 		=> gettext("Please fill all the fields, a mail containing your password will be sent to you") );
+	$template->param( USERNAME_TEXT 	=> gettext("Username") );
+	$template->param( MAIL_TEXT 		=> gettext("mail") );
+	$template->param( FIRSTNAME_TEXT 	=> gettext("Firstname") );
+	$template->param( LASTNAME_TEXT 	=> gettext("Lastname") );
+	$template->param( ZIPCODE_TEXT 		=> gettext("Zipcode") );
+	$template->param( CITY_TEXT 		=> gettext("City") );
+	$template->param( COUNTRY_TEXT 		=> gettext("Country") );
+	$template->param( ADDRESS_TEXT 		=> gettext("Address") );
+	$template->param( SEND 				=> gettext("Subscribe") );
+	$template->param( BACK 				=> gettext("Back to Login") );
+	$template->param( CONFIRMATION_TEXT	=> gettext("Code confirmation") );
+	$template->param( REPEAT_CONFIRMATION_TEXT	=> gettext("Recopy the code") );
+	$template->param( CID				=> $confirmation->[0] );
 }
 
 display_light Vhffs::Panel::Main($template);

Modified: trunk/vhffs-panel/subscribe_complete.pl
==============================================================================
--- trunk/vhffs-panel/subscribe_complete.pl (original)
+++ trunk/vhffs-panel/subscribe_complete.pl Mon Aug  1 16:26:45 2005
@@ -1,43 +1,55 @@
 #!/usr/bin/perl -w
 
 use POSIX qw(locale_h);
-use HTML::Template;
+use CGI;
 use locale;
 use Locale::gettext;
-use CGI;
+use HTML::Template;
 
 use Vhffs::User;
 use Vhffs::Main;
 use Vhffs::Functions;
 use Vhffs::Constants;
 use Vhffs::Panel::Main;
+use Vhffs::Panel::Confirmation;
 
 #Get some basics informations with CGI
-my $cgi = new CGI;
-my ( $uid , $good_news , $bad_news );
+my $cgi;
+my $uid;
+my $good_news;
+my $bad_news;
+my $vhffs;
+my $templatedir;
+my $cid;
+my $realcode;
+my $code;
+
+$cgi = new CGI;
 
 #Initialize vars
 $bad_news = "";
 $good_news = "";
 
 #Init the Vhffs Main System
-my $vhffs = init Vhffs::Main;
-my $templatedir = $vhffs->get_config->get_templatedir;
+$vhffs = init Vhffs::Main;
+$templatedir = $vhffs->get_config->get_templatedir;
 
 setlocale(LC_ALL, CGI->cookie("language") );
 bindtextdomain("vhffs", $vhffs->get_config->get_intldir);
 textdomain("vhffs");
 
 
-#Create an instance of Vhffs::User
-$mail = $cgi->param( "MAIL" );
-$username = $cgi->param( "USERNAME" );
-$firstname = $cgi->param( "FIRSTNAME");
-$lastname = $cgi->param( "LASTNAME" );
-$city = $cgi->param("CITY");
-$zipcode = $cgi->param("ZIPCODE");
-$country = $cgi->param("COUNTRY");
-$address = $cgi->param("ADDRESS");
+$mail 		= $cgi->param( "MAIL" );
+$username 	= $cgi->param( "USERNAME" );
+$firstname 	= $cgi->param( "FIRSTNAME");
+$lastname 	= $cgi->param( "LASTNAME" );
+$city 		= $cgi->param("CITY");
+$zipcode 	= $cgi->param("ZIPCODE");
+$country 	= $cgi->param("COUNTRY");
+$address 	= $cgi->param("ADDRESS");
+$cid 		= $cgi->param("CID");
+$code 		= $cgi->param("CONFIRMATION");
+$realcode	= Vhffs::Panel::Confirmation::get_code( $vhffs , $cid );
 
 my $template;
 my $message;
@@ -47,6 +59,12 @@
 	$template = new HTML::Template( filename => $templatedir."/user/create_failed.tmpl");
 	$message = gettext("You cannot subscribe to VHFFS");
 	$template->param( TEXT_CREATEFAILED => $message );
+	$template->param( TEXT_CREATE => gettext("Subscribe"));
+}
+elsif( ( ! defined $cid ) || ( ! defined $code ) || ( $code ne $realcode ) )
+{
+	$template = new HTML::Template( filename => $templatedir."/user/create_failed.tmpl");
+	$template->param( TEXT_CREATEFAILED => gettext("code does not match") );
 	$template->param( TEXT_CREATE => gettext("Subscribe"));
 }
 elsif( ! defined $username )

Modified: trunk/vhffs-panel/svn/prefs.pl
==============================================================================
--- trunk/vhffs-panel/svn/prefs.pl (original)
+++ trunk/vhffs-panel/svn/prefs.pl Mon Aug  1 16:26:45 2005
@@ -78,7 +78,7 @@
 	$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 cvs repository ?") );
+	$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 it !") );

Modified: trunk/vhffs-panel/templates/admin/svn/part.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/admin/svn/part.tmpl (original)
+++ trunk/vhffs-panel/templates/admin/svn/part.tmpl Mon Aug  1 16:26:45 2005
@@ -12,7 +12,6 @@
 	<td>
 		<form method="post" action="../../svn/prefs.pl">
 			<input type="hidden" name="OID" value="<TMPL_VAR NAME="OID">" />
-			<input type="hidden" name="NAME" value="<TMPL_VAR NAME="SVNROOT">" />
 			<input type="hidden" name="name" value="<TMPL_VAR NAME="SVNROOT">" />
 			<input type="submit" value="<TMPL_VAR NAME="SEND">" />
 		</form>

Modified: trunk/vhffs-panel/templates/admin/web/part-modo.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/admin/web/part-modo.tmpl (original)
+++ trunk/vhffs-panel/templates/admin/web/part-modo.tmpl Mon Aug  1 16:26:45 2005
@@ -1,7 +1,7 @@
 
 <tr>
 	<td>
-		<TMPL_VAR NAME="SERVERNAME">
+		<a href="<TMPL_VAR NAME="SERVERNAME">"><TMPL_VAR NAME="SERVERNAME"></a>
 	</td>
 	<td>
 		<TMPL_VAR NAME="GROUP"> 

Modified: trunk/vhffs-panel/templates/admin/web/part.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/admin/web/part.tmpl (original)
+++ trunk/vhffs-panel/templates/admin/web/part.tmpl Mon Aug  1 16:26:45 2005
@@ -1,7 +1,7 @@
 
 <tr>
 	<td>
-		<TMPL_VAR NAME="SERVERNAME">
+		<a href="<TMPL_VAR NAME="SERVERNAME">"><TMPL_VAR NAME="SERVERNAME"></a>
 	</td>
 	<td>
 		<TMPL_VAR NAME="GROUP"> 

Modified: trunk/vhffs-panel/templates/public/group.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/public/group.tmpl (original)
+++ trunk/vhffs-panel/templates/public/group.tmpl Mon Aug  1 16:26:45 2005
@@ -36,5 +36,13 @@
 				<tmpl_var name="CVS_VALUE">
 			</ul>
 		</p>
+
+		<p>
+			<h2><tmpl_var name="SVN_TITLE"></h2>
+			<ul>
+				<tmpl_var name="SVN_VALUE">
+			</ul>
+		</p>
+
 </body>
-</html>
+</html>

Modified: trunk/vhffs-panel/templates/public/index.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/public/index.tmpl (original)
+++ trunk/vhffs-panel/templates/public/index.tmpl Mon Aug  1 16:26:45 2005
@@ -40,6 +40,9 @@
 				<a href="lastgroups.pl"><tmpl_var name="TEXT_LASTGROUPS"></a>
 			</li>
 			<li>
+				<a href="allgroups.pl"><tmpl_var name="TEXT_ALLGROUPS"></a>
+			</li>
+			<li>
 				<form method="post" action="group.pl">
 					<input type="text" name="name"/>
 					<input type="submit" value="<tmpl_var name="TEXT_SEARCH_GROUP">"/>

Modified: trunk/vhffs-panel/templates/user/create.tmpl
==============================================================================
--- trunk/vhffs-panel/templates/user/create.tmpl (original)
+++ trunk/vhffs-panel/templates/user/create.tmpl Mon Aug  1 16:26:45 2005
@@ -68,7 +68,20 @@
 					</label>
 					<input type="text" name="ZIPCODE" id="ZIPCODE" maxlength="16"/>
 				</p>
+				<p>
+					<label for="ZIPCODE">
+						<TMPL_VAR NAME="CONFIRMATION_TEXT">
+					</label>
+						<img src="show_code.pl?cid=<TMPL_VAR NAME="CID">"/>
+				</p>
+				<p>
+					<label for="ZIPCODE">
+						<TMPL_VAR NAME="REPEAT_CONFIRMATION_TEXT">
+					</label>
+					<input type="text" name="CONFIRMATION"  maxlength="16"/>
+				</p>
 				<p class="button">
+					<input type="hidden" name="CID" value="<TMPL_VAR NAME="CID">"/>
 					<input type="submit" value="<TMPL_VAR NAME="SEND">" />
 				</p>
 			

Modified: trunk/vhffs-panel/user/delete.pl
==============================================================================
--- trunk/vhffs-panel/user/delete.pl (original)
+++ trunk/vhffs-panel/user/delete.pl Mon Aug  1 16:26:45 2005
@@ -40,14 +40,21 @@
 
 	if( $delete == 1 )
 	{
-		$user->set_status( Vhffs::Constants::TO_DELETE );
-		if( $user->commit < 0 )
+		if( defined $user->get_groups )
 		{
-			$message = gettext("Error while applied changes. This user will NOT be delete");
+			$message = gettext("This user is always in a group");
 		}
 		else
 		{
-			$message = gettext("This user will BE DELETED");
+			$user->set_status( Vhffs::Constants::TO_DELETE );
+			if( $user->commit < 0 )
+			{
+				$message = gettext("Error while applied changes. This user will NOT be delete");
+			}
+			else
+			{
+				$message = gettext("This user will BE DELETED");
+			}
 		}
 	}
 	else

Modified: trunk/vhffs-robots/src/delete_group.pl
==============================================================================
--- trunk/vhffs-robots/src/delete_group.pl (original)
+++ trunk/vhffs-robots/src/delete_group.pl Mon Aug  1 16:26:45 2005
@@ -4,26 +4,17 @@
 use Vhffs::Robots::Group;
 use Vhffs::Main;
 use Vhffs::Group;
-
+use Vhffs::Constants;
 my $main = init Vhffs::Main;
-my $groups = Vhffs::Robots::Group::get_all_groups_to_delete( $main );
+my $groups = Vhffs::Group::getall( $main , Vhffs::Constants::TO_DELETE );
 my $group;
 
-foreach( keys %{$groups} )
+foreach $group ( @{$groups} )
 {
 	my $user;
-	$group = new Vhffs::Group( $main , $_ , '401' );
 	if( $group->fetch > 0 )
 	{
-
-		#Delete all symlinks for users from this group
-		my $users = $group->get_users;
-		foreach $user ( @{$users} )
-		{
-			Vhffs::Robots::Group::del_user( $user , $group , $main );
-		}
-	Vhffs::Robots::Group::delete_groupdir( $main , $group );
-	print "error while delete group: ". $group->get_groupname  if( $group->delete < 0 );
+		Vhffs::Robots::Group::delete( $main , $group );
 	}
 }
 

Modified: trunk/vhffs-tools/mans/blankmysql.1
==============================================================================
--- trunk/vhffs-tools/mans/blankmysql.1 (original)
+++ trunk/vhffs-tools/mans/blankmysql.1 Mon Aug  1 16:26:45 2005
@@ -1,18 +1,16 @@
-.TH TUXSHELL 1
+.TH BLANKMYSQL 1
 .SH NAME
-Tuxshell \- VHFFS shell
+Blankmysql \- VHFFS MySQL database reset password
 .SH SYNOPSIS
-.B tuxshell
+.B blankmysql
 .SH "DESCRIPTION"
-.B tuxshell
-is a shell which prevent to execute any command execpt some
-.PP
-Tuxshell was written to allow programs like subversion or cvs trhough ssh but prevent shell connexions.
+.B Blankmysql
+is an utility for VHFFS. It erased the password of all MySQL databases, to prevent an malicious cracker to get him.
 
 .SH "SEE ALSO"
 http://www.vhffs.org
 .SH AUTHOR
-Tuxshell was written by Julien Delange <julien@xxxxxxxxx>
+Blankmysql was written by Julien Delange <julien@xxxxxxxxx>
 
 
 




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