package Vhffs::Constants;

use strict;
use utf8;
use Locale::gettext;

use constant
{
    VHFFS_VERSION => '4.3.1',
    VHFFS_RELEASE_NAME => 'Enhydra lutris',
    
    WAITING_FOR_VALIDATION => 1,
    VALIDATION_REFUSED => 2,
    WAITING_FOR_CREATION => 3,
    CREATING_ERROR => 4,
    CREATED => 5,
    ACTIVATED => 6,
    SUSPEND_PENDING => 7,
    SUSPENDED => 8,
    WAITING_FOR_MODIFICATION => 9,
    MODIFICATION_ERROR => 10,
    MODIFICATION_APPLIED => 11,
    TO_DELETE => 12,
    
    ACL_UNDEFINED => -1,
    ACL_DENIED => 0,
    ACL_VIEW => 2,
    ACL_MODIFY => 4,
    ACL_MANAGEACL => 8,
    ACL_DELETE => 10,
    
    USER_NORMAL => 0,
    USER_ADMIN => 1,
    USER_MODERATOR => 2,
    
    HOMEDIR	=> "web/",
    WEBDIR	=> "web/",
    CVSDIR => "cvs/",
    REPOSITORYDIR => "repository/",
    
    WEB_SUFFIX => "-web",
    REPOSITORY_SUFFIX => "-repository",
    
    DEFAULT_THEME => "default",
    DEFAULT_LANG => "en_US",

    ML_RIGHT_SUB_WAITING_FOR_REPLY => 2,	
    ML_RIGHT_SUB_WAITING_FOR_VALIDATION => 3,
    ML_RIGHT_SUB                   => 4,
    ML_RIGHT_ADMIN                 => 10,
    ML_RIGHT_SUB_WAITING_FOR_DEL   => 12,

    ML_SUBSCRIBE_NO_APPROVAL_REQUIRED => 0,
    ML_SUBSCRIBE_APPROVAL_REQUIRED => 1,
    ML_SUBSCRIBE_CLOSED => 2,
    ML_POSTING_OPEN_ALL => 0,
    ML_POSTING_MODERATED_ALL => 1,
    ML_POSTING_OPEN_MEMBERS_MODERATED_OTHERS => 2,
    ML_POSTING_MEMBERS_ONLY => 3,
    ML_POSTING_MEMBERS_ONLY_MODERATED => 4,
    ML_POSTING_ADMINS_ONLY => 5,

	MAILS_DIR					=> "/usr/share/vhffs/mails/",

# Objects' types
    TYPE_USER => 10,
    TYPE_GROUP => 11,
    TYPE_WEB => 20,
    TYPE_REPOSITORY => 21,
    TYPE_MYSQL => 30,
    TYPE_PGSQL => 31,
    TYPE_CVS => 40,
    TYPE_SVN => 41,
    TYPE_GIT => 42,
    TYPE_MERCURIAL => 43,
    TYPE_BAZAAR => 44,
    TYPE_DNS => 50,
    TYPE_MAIL => 60,
    TYPE_ML => 61,
    TYPE_CRON => 70,
    
# Tags visibility MUST BE ORDERED BY PRIVILEGE LEVEL!
	TAG_VISIBILITY_GROUP_CREATION => 10,
	TAG_VISIBILITY_PUBLIC		=> 20,
	TAG_VISIBILITY_MODERATORS	=> 30,
	TAG_VISIBILITY_ADMINS		=> 40,
};

1;

__END__

=head1 SYNOPSIS

Vhffs::Constants - Constants for VHFFS

=head1 DESCRIPTION

Vhffs::Constants if a class that defined all constants values in VHFFS.
So, you can use Vhffs::Constants::ConstantName to get the value of CosntantName.

=head1 CONSTANTS
	
=head2 WAITING_FOR_VALIDATION

=head2 VALIDATION_REFUSED

=head2 WAITING_FOR_CREATION

=head2 CREATING_ERROR

=head2 CREATED

=head2 ACTIVATED

=head2 SUSPEND_PENDING

=head2 SUSPENDED

=head2 WAITING_FOR_MODIFICATION

=head2 MODIFICATION_ERROR

=head2 MODIFICATION_APPLIED

=head2 TO_DELETE

=head2 DEFAULT_THEME

=head2 ML_RIGHT_SUB_WAITING_FOR_REPLY

=head2 ML_RIGHT_SUB

=head2 ML_RIGHT_ADMIN

=head2 ML_RIGHT_SUB_WAITING_FOR_DEL

=head2 WEBDIR

=head2 CVSDIR

=head2 USER_NORMAL

=head2 USER_ADMIN

=head2 USER_MODERATOR
	

=head1 AUTHOR
	
	Julien Delange <julien at gunnm dot org>

=head1 COPYRIGHT

	Julien Delange <julien at gunnm dot org>
