Cleaning + fr -> en.
[euphorik.git] / modules / include / euphorik_bd.hrl
1 % coding: utf-8\r
2 % Copyright 2008 Grégory Burri\r
3 %\r
4 % This file is part of Euphorik.\r
5 %\r
6 % Euphorik is free software: you can redistribute it and/or modify\r
7 % it under the terms of the GNU General Public License as published by\r
8 % the Free Software Foundation, either version 3 of the License, or\r
9 % (at your option) any later version.\r
10 %\r
11 % Euphorik is distributed in the hope that it will be useful,\r
12 % but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14 % GNU General Public License for more details.\r
15 %\r
16 % You should have received a copy of the GNU General Public License\r
17 % along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.\r
18 %\r
19 % @author GBurri\r
20 \r
21 % Version de la BD\r
22 -define(DB_VERSION, 3).\r
23 -define(TABLES, [counter, proprietes, minichat, reponse_minichat, user, ip_table, troll]).\r
24 \r
25 % Pour générer des id\r
26 -record(counter,\r
27    {\r
28       key,\r
29       value\r
30    }).\r
31 \r
32 % Mémorse toutes les propriétés, entre autre la version des données\r
33 -record(proprietes,\r
34    {\r
35       nom,\r
36       valeur\r
37    }).\r
38 \r
39 % Contient tous les textes que peut envoyer le serveur vers client.\r
40 -record(texte,\r
41    {\r
42       id,\r
43       fr\r
44    }).\r
45 \r
46 % décrit un enregistrement d'un message\r
47 -record(minichat,\r
48    {\r
49       id, % integer\r
50       auteur_id, % -> #user.id\r
51       date, % erlang:timestamp()\r
52       pseudo, % chaine de caractère\r
53       contenu, % chaine de caractère\r
54       racine_id = undefined, % la racine, par défaut correspond à l'id du message\r
55       status = normal % can be equal to normal, censored or deleted\r
56    }).\r
57 \r
58 % type bag\r
59 % 'repondant' repond à 'cible'\r
60 -record(reponse_minichat,\r
61    {\r
62       repondant, % -> #minichat.id\r
63       cible % -> #minichat.id\r
64    }).\r
65 \r
66 % Warning: this is not a table, it's part of the user table.\r
67 -record(profile,\r
68    {\r
69       pseudo = [], % string()\r
70       email = [], % string()\r
71       css = [], % string()\r
72       nick_format = nick, %atom(), peut valoir 'nick', 'login' ou 'nick_login'\r
73       view_times = true,\r
74       view_tooltips = true,\r
75       ostentatious_master = light, % peut valoir invisible, light ou heavy. seulement pour ek_master\r
76       chat_order = reverse, % peut valoir chrono ou reverse\r
77       conversations = [] % [{integer(), bool}], la liste des messages correspondant au conversation {racine, reduite?}\r
78    }).\r
79 \r
80 -record(user,\r
81    {\r
82       id,\r
83       cookie, % string()\r
84       login = [], % string()\r
85       password = [], % string() (md5)\r
86       profile = #profile{},\r
87       date_creation, % erlang:timestamp()\r
88       date_derniere_connexion, % erlang:timestamp(), est mis à jour lors de n'importe quelle activitée (envoie de message par exemple)\r
89       indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages.\r
90       ek_master = false,\r
91       last_ip = undefined % integer(), undefined si inconnu\r
92    }).\r
93 \r
94 % identificateur : (ip)\r
95 -record(ip_table,\r
96    {\r
97       ip, % {integer(), integer(), integer(), integer()}\r
98       ban = undefined, % la date du dernier bannissement\r
99       ban_duration = 0, % le temps de ban en minute\r
100       nb_try_register = 0,\r
101       nb_try_login = 0, % pour l'instant pas utilisé\r
102       date_last_try_register,\r
103       date_last_try_login % pour l'instant pas utilisé\r
104    }).\r
105 \r
106 -record(troll,\r
107    {\r
108       id,\r
109       id_user,\r
110       id_minichat = undefined, % l'id du message associé\r
111       date_create, % erlang:timestamp()\r
112       date_post = undefined, % date à laquelle le troll est affiché sur la page principale. undefined initialement puis erlang:timestamp() quand affiché\r
113       content % chaine de caractère\r
114    }).\r