2 % Copyright 2008 Grégory Burri
\r
4 % This file is part of Euphorik.
\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
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
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
22 -define(DB_VERSION, 3).
\r
23 -define(TABLES, [counter, proprietes, minichat, reponse_minichat, user, ip_table, troll]).
\r
25 % Pour générer des id
\r
32 % Mémorse toutes les propriétés, entre autre la version des données
\r
39 % Contient tous les textes que peut envoyer le serveur vers client.
\r
46 % décrit un enregistrement d'un message
\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
59 % 'repondant' repond à 'cible'
\r
60 -record(reponse_minichat,
\r
62 repondant, % -> #minichat.id
\r
63 cible % -> #minichat.id
\r
66 % Warning: this is not a table, it's part of the user table.
\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
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
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
91 last_ip = undefined % integer(), undefined si inconnu
\r
94 % identificateur : (ip)
\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
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