Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
domainepublic
alternc
Commits
dbfcac73
Commit
dbfcac73
authored
Aug 25, 2012
by
Alexis Lahouze
Browse files
Homogenized comments.
parent
f2ff02c5
Changes
1
Hide whitespace changes
Inline
Side-by-side
install/mysql.sql
View file @
dbfcac73
#
#
----------------------------------------------------------------------
#
AlternC
-
Web
Hosting
System
#
Copyright
(
C
)
2000
-
2012
by
the
AlternC
Development
Team
.
#
https
:
//
alternc
.
org
/
#
----------------------------------------------------------------------
#
LICENSE
#
#
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
#
modify
it
under
the
terms
of
the
GNU
General
Public
License
(
GPL
)
#
as
published
by
the
Free
Software
Foundation
;
either
version
2
#
of
the
License
,
or
(
at
your
option
)
any
later
version
.
#
#
This
program
is
distributed
in
the
hope
that
it
will
be
useful
,
#
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
#
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
#
GNU
General
Public
License
for
more
details
.
#
#
To
read
the
license
please
visit
http
:
//
www
.
gnu
.
org
/
copyleft
/
gpl
.
html
#
----------------------------------------------------------------------
#
Purpose
of
file
:
Create
the
basic
structure
for
the
mysql
system
db
#
----------------------------------------------------------------------
#
######################################################################
#
STRUCTURE
DES
TABLES
D
`ALTERNC
#
#
IMPORTANT: lorsque la structure de ces tables est modifie, le
#
fichier upgrades/<version>.sql doit tre modifi (ou cr!) pour que
#
les installations courantes soient mises jour. <version> est ici
#
le prochain numro de version d`
AlternC
.
Voir
upgrades
/
README
pour
#
plus
de
dtails
.
#########################################################################
--
--
----------------------------------------------------------------------
--
AlternC - Web Hosting System
--
Copyright (C) 2000-2012 by the AlternC Development Team.
--
https://alternc.org/
--
----------------------------------------------------------------------
--
LICENSE
--
--
This program is free software; you can redistribute it and/or
--
modify it under the terms of the GNU General Public License (GPL)
--
as published by the Free Software Foundation; either version 2
--
of the License, or (at your option) any later version.
--
--
This program is distributed in the hope that it will be useful,
--
but WITHOUT ANY WARRANTY; without even the implied warranty of
--
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--
GNU General Public License for more details.
--
--
To read the license please visit http://www.gnu.org/copyleft/gpl.html
--
----------------------------------------------------------------------
--
Purpose of file: Create the basic structure for the mysql system db
--
----------------------------------------------------------------------
--
-- ----------------------------------------------------------------------
--
STRUCTURE DES TABLES D`ALTERNC
--
--
IMPORTANT: lorsque la structure de ces tables est modifie, le
--
fichier upgrades/<version>.sql doit tre modifi (ou cr!) pour que
--
les installations courantes soient mises jour. <version> est ici
--
le prochain numro de version d`AlternC. Voir upgrades/README pour
--
plus de dtails.
-- ----------------------------------------------------------------------
CREATE
TABLE
IF
NOT
EXISTS
`slaveip`
(
`ip`
VARCHAR
(
40
)
NOT
NULL
,
...
...
@@ -46,59 +46,59 @@ PRIMARY KEY ( `login` )
#
#
Structure
de
la
table
`browser`
#
#
Cette
table
contient
les
prfrences
des
utilisateurs
dans
le
gestionnaire
de
fichiers
--
--
Structure de la table `browser`
--
--
Cette table contient les prfrences des utilisateurs dans le gestionnaire de fichiers
CREATE
TABLE
IF
NOT
EXISTS
browser
(
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
#
Numro
de
l
`utilisateur
editsizex int(10) unsigned NOT NULL default '0',
#
Largeur de la zone d`
edition
du
brouteur
editsizey
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
#
Hauteur
de
la
zone
d
`edition du brouteur
listmode tinyint(3) unsigned NOT NULL default '0',
#
Mode de listing (1 colonne, 2 colonne, 3 colonne)
showicons tinyint(4) NOT NULL default '0',
#
Faut-il afficher les icones (1/0)
downfmt tinyint(4) NOT NULL default '0',
#
Format de tlchargement (zip/bz2/tgz/tar.Z)
createfile tinyint(4) NOT NULL default '0',
#
Que fait-on aprs cration d`
un
fichier
(
1
/
0
)
showtype
tinyint
(
4
)
NOT
NULL
default
'0'
,
#
Affiche
-
t
-
on
le
type
mime
?
editor_font
varchar
(
64
)
NOT
NULL
default
''
,
#
Nom
de
la
police
dans
l
`diteur de fichiers
editor_size varchar(8) NOT NULL default '',
#
Taille de la police dans l`
diteur
de
fichiers
crff
tinyint
(
4
)
NOT
NULL
default
'0'
,
#
mmorise
le
dernier
fichier
/
dossier
cr
(
pour
le
bouton
radio
)
golastdir
tinyint
(
4
)
NOT
NULL
default
'0'
,
#
Faut
-
il
aller
au
dernier
dossier
ou
au
dossier
racine
dans
le
brouteur
?
lastdir
varchar
(
255
)
NOT
NULL
default
''
,
#
Dernier
dossier
visit
.
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Numro de l`utilisateur
editsizex
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Largeur de la zone d`edition du brouteur
editsizey
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Hauteur de la zone d`edition du brouteur
listmode
tinyint
(
3
)
unsigned
NOT
NULL
default
'0'
,
--
Mode de listing (1 colonne, 2 colonne, 3 colonne)
showicons
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Faut-il afficher les icones (1/0)
downfmt
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Format de tlchargement (zip/bz2/tgz/tar.Z)
createfile
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Que fait-on aprs cration d`un fichier (1/0)
showtype
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Affiche-t-on le type mime ?
editor_font
varchar
(
64
)
NOT
NULL
default
''
,
--
Nom de la police dans l`diteur de fichiers
editor_size
varchar
(
8
)
NOT
NULL
default
''
,
--
Taille de la police dans l`diteur de fichiers
crff
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
mmorise le dernier fichier/dossier cr (pour le bouton radio)
golastdir
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Faut-il aller au dernier dossier ou au dossier racine dans le brouteur ?
lastdir
varchar
(
255
)
NOT
NULL
default
''
,
--
Dernier dossier visit.
PRIMARY
KEY
(
uid
)
)
TYPE
=
MyISAM
COMMENT
=
'Prfrences du gestionnaire de fichiers'
;
#
#
Structure
de
la
table
`chgmail`
#
#
Cette
table
contient
les
demandes
de
changements
de
mail
pour
les
membres
--
--
Structure de la table `chgmail`
--
--
Cette table contient les demandes de changements de mail pour les membres
CREATE
TABLE
IF
NOT
EXISTS
chgmail
(
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
#
Numro
de
l
`utilisateur
cookie varchar(20) NOT NULL default '',
#
Cookie du mail
ckey varchar(6) NOT NULL default '',
#
Cl de vrif
mail varchar(128) NOT NULL default '',
#
Nouvel Email
ts bigint(20) unsigned NOT NULL default '0',
#
Timestamp de la demande
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Numro de l`utilisateur
cookie
varchar
(
20
)
NOT
NULL
default
''
,
--
Cookie du mail
ckey
varchar
(
6
)
NOT
NULL
default
''
,
--
Cl de vrif
mail
varchar
(
128
)
NOT
NULL
default
''
,
--
Nouvel Email
ts
bigint
(
20
)
unsigned
NOT
NULL
default
'0'
,
--
Timestamp de la demande
PRIMARY
KEY
(
uid
)
)
TYPE
=
MyISAM
COMMENT
=
'Demandes de changements de mail en cours'
;
#
#
Structure de la table `
db
`
#
#
Contient les bases mysql des membres, + login / pass en clair
--
--
Structure de la table `db`
--
--
Contient les bases mysql des membres, + login / pass en clair
CREATE
TABLE
IF
NOT
EXISTS
db
(
id
bigint
(
20
)
unsigned
NOT
NULL
AUTO_INCREMENT
,
uid int(10) unsigned NOT NULL default '0',
#
Numro de l`
utilisateur
login
varchar
(
16
)
NOT
NULL
default
''
,
#
Nom
d
`utilisateur mysql
pass varchar(16) NOT NULL default '',
#
Mot de passe mysql
db varchar(64) NOT NULL default '',
#
Base de donnes concerne
bck_mode tinyint(3) unsigned NOT NULL default '0',
#
Mode de backup (0/non 1/Daily 2/Weekly)
bck_history tinyint(3) unsigned NOT NULL default '0',
#
Nombre de backup conserver ?
bck_gzip tinyint(3) unsigned NOT NULL default '0',
#
Faut-il compresser les backups ?
bck_dir varchar(255) NOT NULL default '',
#
O stocke-t-on les backups sql ?
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Numro de l`utilisateur
login
varchar
(
16
)
NOT
NULL
default
''
,
--
Nom d`utilisateur mysql
pass
varchar
(
16
)
NOT
NULL
default
''
,
--
Mot de passe mysql
db
varchar
(
64
)
NOT
NULL
default
''
,
--
Base de donnes concerne
bck_mode
tinyint
(
3
)
unsigned
NOT
NULL
default
'0'
,
--
Mode de backup (0/non 1/Daily 2/Weekly)
bck_history
tinyint
(
3
)
unsigned
NOT
NULL
default
'0'
,
--
Nombre de backup conserver ?
bck_gzip
tinyint
(
3
)
unsigned
NOT
NULL
default
'0'
,
--
Faut-il compresser les backups ?
bck_dir
varchar
(
255
)
NOT
NULL
default
''
,
--
O stocke-t-on les backups sql ?
PRIMARY
KEY
id
(
id
)
)
TYPE
=
MyISAM
COMMENT
=
'Bases MySQL des membres'
;
...
...
@@ -120,10 +120,10 @@ CREATE TABLE IF NOT EXISTS domaines (
UNIQUE
KEY
(
domaine
)
)
TYPE
=
MyISAM
;
#
#
Structure de la table `
ftpusers
`
#
#
Comptes ftp des membres
--
--
Structure de la table `ftpusers`
--
--
Comptes ftp des membres
CREATE
TABLE
IF
NOT
EXISTS
ftpusers
(
id
int
(
10
)
unsigned
NOT
NULL
auto_increment
,
...
...
@@ -138,10 +138,10 @@ CREATE TABLE IF NOT EXISTS ftpusers (
KEY
mid
(
uid
)
)
TYPE
=
MyISAM
;
#
#
Structure de la table `
local
`
#
#
Champs utilisables par l`
hbergeur
pour
associer
des
donnes
locales
aux
membres
.
--
--
Structure de la table `local`
--
--
Champs utilisables par l`hbergeur pour associer des donnes locales aux membres.
CREATE
TABLE
IF
NOT
EXISTS
local
(
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
...
...
@@ -150,28 +150,28 @@ CREATE TABLE IF NOT EXISTS local (
PRIMARY
KEY
(
uid
)
)
TYPE
=
MyISAM
COMMENT
=
'Parametres Locaux des membres'
;
#
#
Structure
de
la
table
`membres`
#
#
Liste
des
membres
--
--
Structure de la table `membres`
--
--
Liste des membres
CREATE
TABLE
IF
NOT
EXISTS
membres
(
uid
int
(
10
)
unsigned
NOT
NULL
auto_increment
,
#
Numro
du
membre
(
GID
)
login
varchar
(
128
)
NOT
NULL
default
''
,
#
Nom
d
`utilisateur
pass varchar(64) NOT NULL default '',
#
Mot de passe
enabled tinyint(4) NOT NULL default '1',
#
Le compte est-il actif ?
su tinyint(4) NOT NULL default '0',
#
Le compte est-il super-admin ?
mail varchar(128) NOT NULL default '',
#
Adresse email du possesseur
lastaskpass bigint(20) unsigned default '0',
#
Date de dernire demande du pass par mail
show_help tinyint(4) NOT NULL default '1',
#
Faut-il afficher l`
aide
dans
le
bureau
lastlogin
datetime
NOT
NULL
default
'0000-00-00 00:00:00'
,
#
Date
du
dernier
login
lastfail
tinyint
(
4
)
NOT
NULL
default
'0'
,
#
Nombre
d
`checs depuis le dernier login
lastip varchar(255) NOT NULL default '',
#
Nom DNS du client au dernier login
creator int(10) unsigned default '0',
#
Qui a cr le compte (quel uid admin)
canpass tinyint(4) default '1',
#
L`
utilisateur
peut
-
il
changer
son
pass
.
warnlogin
tinyint
(
4
)
default
'0'
,
#
TODO
L
`utilisateur veut-il recevoir un mail quand on se loggue sur son compte ?
warnfailed tinyint(4) default '0',
#
TODO L`
utilisateur
veut
-
il
recevoir
un
mail
quand
on
tente
de
se
logguer
sur
son
compte
?
admlist
tinyint
(
4
)
default
'0'
,
#
Mode
d
`affichage de la liste des membres pour les super admins
uid
int
(
10
)
unsigned
NOT
NULL
auto_increment
,
--
Numro du membre (GID)
login
varchar
(
128
)
NOT
NULL
default
''
,
--
Nom d`utilisateur
pass
varchar
(
64
)
NOT
NULL
default
''
,
--
Mot de passe
enabled
tinyint
(
4
)
NOT
NULL
default
'1'
,
--
Le compte est-il actif ?
su
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Le compte est-il super-admin ?
mail
varchar
(
128
)
NOT
NULL
default
''
,
--
Adresse email du possesseur
lastaskpass
bigint
(
20
)
unsigned
default
'0'
,
--
Date de dernire demande du pass par mail
show_help
tinyint
(
4
)
NOT
NULL
default
'1'
,
--
Faut-il afficher l`aide dans le bureau
lastlogin
datetime
NOT
NULL
default
'0000-00-00 00:00:00'
,
--
Date du dernier login
lastfail
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Nombre d`checs depuis le dernier login
lastip
varchar
(
255
)
NOT
NULL
default
''
,
--
Nom DNS du client au dernier login
creator
int
(
10
)
unsigned
default
'0'
,
--
Qui a cr le compte (quel uid admin)
canpass
tinyint
(
4
)
default
'1'
,
--
L`utilisateur peut-il changer son pass.
warnlogin
tinyint
(
4
)
default
'0'
,
--
TODO L`utilisateur veut-il recevoir un mail quand on se loggue sur son compte ?
warnfailed
tinyint
(
4
)
default
'0'
,
--
TODO L`utilisateur veut-il recevoir un mail quand on tente de se logguer sur son compte ?
admlist
tinyint
(
4
)
default
'0'
,
--
Mode d`affichage de la liste des membres pour les super admins
type
varchar
(
128
)
default
'default'
,
notes
TEXT
NOT
NULL
,
created
datetime
default
NULL
,
...
...
@@ -181,27 +181,27 @@ CREATE TABLE IF NOT EXISTS membres (
UNIQUE
KEY
k_login
(
login
)
)
TYPE
=
MyISAM
COMMENT
=
'Liste des membres du serveur'
;
#
#
Structure de la table `
quotas
`
#
#
Listes des quotas des membres
--
--
Structure de la table `quotas`
--
--
Listes des quotas des membres
CREATE
TABLE
IF
NOT
EXISTS
quotas
(
uid int(10) unsigned NOT NULL default '0',
#
Numro GID du membre concern
name varchar(64) NOT NULL default '',
#
Nom du quota
total bigint(20) unsigned NOT NULL default '0',
#
Quota total (maximum autoris)
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Numro GID du membre concern
name
varchar
(
64
)
NOT
NULL
default
''
,
--
Nom du quota
total
bigint
(
20
)
unsigned
NOT
NULL
default
'0'
,
--
Quota total (maximum autoris)
PRIMARY
KEY
(
uid
,
name
)
)
TYPE
=
MyISAM
COMMENT
=
'Quotas des Membres'
;
#
#
Structure de la table `
sessions
`
#
#
Sessions actives sur le bureau
--
--
Structure de la table `sessions`
--
--
Sessions actives sur le bureau
CREATE
TABLE
IF
NOT
EXISTS
sessions
(
sid varchar(32) NOT NULL default '',
#
Cookie de session (md5)
uid int(10) unsigned NOT NULL default '0',
#
UID du membre concern
ip varchar(40) NOT NULL default '',
#
Adresse IP de la connexion
sid
varchar
(
32
)
NOT
NULL
default
''
,
--
Cookie de session (md5)
uid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
UID du membre concern
ip
varchar
(
40
)
NOT
NULL
default
''
,
--
Adresse IP de la connexion
ts
timestamp
(
14
)
NOT
NULL
)
TYPE
=
MyISAM
COMMENT
=
'Session actives sur le bureau'
;
...
...
@@ -292,37 +292,37 @@ CREATE TABLE IF NOT EXISTS `mailman` (
UNIQUE
KEY
`address_id`
(
`address_id`
)
)
COMMENT
=
'Table containing mailman list addresses.'
;
#
#
Structure de la table `
stats3
`
#
#
Liste des jeux de stat brutes demandes sur le serveur
--
--
Structure de la table `stats3`
--
--
Liste des jeux de stat brutes demandes sur le serveur
CREATE
TABLE
IF
NOT
EXISTS
stats2
(
id int(10) unsigned NOT NULL auto_increment,
#
Numro du jeu de stat brut
mid int(10) unsigned NOT NULL default '0',
#
Numro de l`
utilisateur
hostname
varchar
(
255
)
NOT
NULL
default
''
,
#
Domaine
concern
folder
varchar
(
255
)
NOT
NULL
default
''
,
#
Dossier
de
stockage
des
logs
id
int
(
10
)
unsigned
NOT
NULL
auto_increment
,
--
Numro du jeu de stat brut
mid
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
--
Numro de l`utilisateur
hostname
varchar
(
255
)
NOT
NULL
default
''
,
--
Domaine concern
folder
varchar
(
255
)
NOT
NULL
default
''
,
--
Dossier de stockage des logs
PRIMARY
KEY
(
id
),
KEY
mid
(
mid
)
)
TYPE
=
MyISAM
COMMENT
=
'Statistiques apaches brutes'
;
#
#
Structure
de
la
table
`defquotas`
#
#
Quotas
par
dfaut
pour
les
services
--
--
Structure de la table `defquotas`
--
--
Quotas par dfaut pour les services
CREATE
TABLE
IF
NOT
EXISTS
defquotas
(
quota
varchar
(
128
),
#
Nom
du
quota
value
bigint
(
20
)
unsigned
default
'0'
,
#
Valeur
du
quota
type
varchar
(
128
)
default
'default'
,
#
Type
de
compte
associe
ce
quota
quota
varchar
(
128
),
--
Nom du quota
value
bigint
(
20
)
unsigned
default
'0'
,
--
Valeur du quota
type
varchar
(
128
)
default
'default'
,
--
Type de compte associe ce quota
PRIMARY
KEY
(
quota
,
type
)
)
TYPE
=
MyISAM
;
#
#
Quotas
par
defaut
pour
les
nouveaux
membres
#
#
Ces
quotas
par
defaut
sont
redefinissables
dans
l
`interface web
--
--
Quotas par defaut pour les nouveaux membres
--
--
Ces quotas par defaut sont redefinissables dans l`interface web
INSERT
IGNORE
INTO
defquotas
(
quota
,
value
)
VALUES
(
'dom'
,
1
);
INSERT
IGNORE
INTO
defquotas
(
quota
,
value
)
VALUES
(
'web'
,
51200
);
...
...
@@ -333,21 +333,21 @@ INSERT IGNORE INTO defquotas (quota,value) VALUES ('mysql',1);
INSERT
IGNORE
INTO
defquotas
(
quota
,
value
)
VALUES
(
'mysql_users'
,
1
);
#
#
Structure de la table `
forbidden_domains
`
#
#
Liste des domaines explicitement interdits sur le serveur :
--
--
Structure de la table `forbidden_domains`
--
--
Liste des domaines explicitement interdits sur le serveur :
CREATE
TABLE
IF
NOT
EXISTS
forbidden_domains
(
domain
varchar
(
255
)
NOT
NULL
default
''
,
PRIMARY
KEY
(
domain
)
)
TYPE
=
MyISAM
COMMENT
=
'forbidden domains to install'
;
#
#
Contenu de la table `
forbidden_domains
`
#
--
--
Contenu de la table `forbidden_domains`
--
#
Registries :
--
Registries :
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'afilias.net'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'afnic.fr'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'dns.be'
);
...
...
@@ -360,7 +360,7 @@ INSERT IGNORE INTO forbidden_domains VALUES ('verisign.com');
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'octopuce.com'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'pir.org'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'cira.ca'
);
#
big isp :
--
big isp :
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'aol.com'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'hotmail.com'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'microsoft.com'
);
...
...
@@ -371,21 +371,21 @@ INSERT IGNORE INTO forbidden_domains VALUES ('wanadoo.fr');
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'yahoo.com'
);
INSERT
IGNORE
INTO
forbidden_domains
VALUES
(
'yahoo.fr'
);
#
#
Structure de la table `
tld
`
#
#
Liste des tld autoriss sur ce serveur :
--
--
Structure de la table `tld`
--
--
Liste des tld autoriss sur ce serveur :
CREATE
TABLE
IF
NOT
EXISTS
tld
(
tld varchar(128) NOT NULL default '',
#
lettres du tld (sans le .)
mode tinyint(4) NOT NULL default '0',
#
Comment est-il autoris ?
tld
varchar
(
128
)
NOT
NULL
default
''
,
--
lettres du tld (sans le .)
mode
tinyint
(
4
)
NOT
NULL
default
'0'
,
--
Comment est-il autoris ?
PRIMARY
KEY
(
tld
),
KEY
mode
(
mode
)
)
TYPE
=
MyISAM
COMMENT
=
'TLD autoriss et comment sont-ils autoriss ? '
;
#
#
Contenu de la table `
tld
`
#
--
--
Contenu de la table `tld`
--
INSERT
IGNORE
INTO
tld
VALUES
(
'fr'
,
4
);
INSERT
IGNORE
INTO
tld
VALUES
(
'com'
,
1
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment