X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Finclude%2Feuphorik_bd.hrl;h=0b04c4b53697b79674a77eba93880602d6e63e6f;hp=2eaf9e6d7ea2cc14072ed71340b7251472cf0193;hb=6e20d759c95708c74084dc82dadab2167ed8ef80;hpb=fe508652111984ab4f2707a36d5ced39aaaf5cac diff --git a/modules/include/euphorik_bd.hrl b/modules/include/euphorik_bd.hrl index 2eaf9e6..0b04c4b 100755 --- a/modules/include/euphorik_bd.hrl +++ b/modules/include/euphorik_bd.hrl @@ -1,84 +1,100 @@ -% Copyright 2008 Grégory Burri -% -% This file is part of Euphorik. -% -% Euphorik is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Euphorik 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. -% -% You should have received a copy of the GNU General Public License -% along with Euphorik. If not, see . -% -% @author GBurri +% coding: utf-8 +% Copyright 2008 Grégory Burri +% +% This file is part of Euphorik. +% +% Euphorik is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% Euphorik 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. +% +% You should have received a copy of the GNU General Public License +% along with Euphorik. If not, see . +% +% @author GBurri % Version de la BD --define(VERSION_BD, 2). +-define(VERSION_BD, 3). +-define(TABLES, [counter, proprietes, minichat, reponse_minichat, user, ip_table, troll]). -% Pour générer des id --record(counter, - { - key, - value - }). +% Pour générer des id +-record(counter, + { + key, + value + }). -% Mémorse toutes les propriétés, entre autre la version des données +% Mémorse toutes les propriétés, entre autre la version des données -record(proprietes, { nom, valeur - }). + }). + + +% Contient tous les textes que peut envoyer le serveur vers client. +-record(texte, + { + id, + fr + }). + - -% décrit un enregistrement d'un message +% décrit un enregistrement d'un message -record(minichat, - { - id, % integer + { + id, % integer auteur_id, % -> #user.id date, % erlang:now() - pseudo, % chaine de caractère - contenu, % chaine de caractère - troll_id = undefined, % l'id du troll associé correspondant - racine_id % la racine, par défaut correspond à l'id du message - }). + pseudo, % chaine de caractère + contenu, % chaine de caractère + racine_id = undefined % la racine, par défaut correspond à l'id du message + }). - -% type bag -% 'repondant' repond à 'cible' --record(reponse_minichat, - { - repondant, % -> #minichat.id - cible % -> #minichat.id - }). + +% type bag +% 'repondant' repond à 'cible' +-record(reponse_minichat, + { + repondant, % -> #minichat.id + cible % -> #minichat.id + }). + - --record(user, - { - id, - cookie, % string() +-record(profile, % attention : pas une table ! + { pseudo = [], % string() - login = [], % string() - password = [], % string() (md5) - email = [], % string() - date_creation, % erlang:now() - date_derniere_connexion, % erlang:now(), est mis à jour lors de n'importe quelle activitée (envoie de message par exemple) + email = [], % string() css = [], % string() nick_format = nick, %atom(), peut valoir 'nick', 'login' ou 'nick_login' view_times = true, view_tooltips = true, - message_order = reverse, % can be normal or reverse - indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages. - conversations = [], % [integer()], la liste des messages correspondant au conversation + ostentatious_master = light, % peut valoir invisible, light ou heavy. seulement pour ek_master + chat_order = reverse, % peut valoir chrono ou reverse + conversations = [] % [{integer(), bool}], la liste des messages correspondant au conversation {racine, reduite?} + }). + + +-record(user, + { + id, + cookie, % string() + login = [], % string() + password = [], % string() (md5) + profile = #profile{}, + date_creation, % erlang:now() + date_derniere_connexion, % erlang:now(), est mis à jour lors de n'importe quelle activitée (envoie de message par exemple) + indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages. ek_master = false, - last_ip = undefined % integer(), undefined si inconnu + last_ip = undefined % integer(), undefined si inconnu }). @@ -89,18 +105,19 @@ ban = undefined, % la date du dernier bannissement ban_duration = 0, % le temps de ban en minute nb_try_register = 0, - nb_try_login = 0, % pour l'instant pas utilisé + nb_try_login = 0, % pour l'instant pas utilisé date_last_try_register, - date_last_try_login % pour l'instant pas utilisé + date_last_try_login % pour l'instant pas utilisé }). -record(troll, { id, - id_user, + id_user, + id_minichat = undefined, % l'id du message associé date_create, % erlang:now() - date_post = undefined, % date à laquelle le troll est affiché sur la page principale. undefined initialement puis erlang:now() quand affiché - content % chaine de caractère + date_post = undefined, % date à laquelle le troll est affiché sur la page principale. undefined initialement puis erlang:now() quand affiché + content % chaine de caractère }). \ No newline at end of file