X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Finclude%2Feuphorik_bd.hrl;h=053c046423617e54f81b35fab11ce37560a81fef;hp=a3a7f205aa199af032b1acf687dec93270b1f2a8;hb=bb692b6ec033e2c6ce4dd12d95831af96033ec6f;hpb=bacec85920574375f4b8df20d6a0457e1fffc658 diff --git a/modules/include/euphorik_bd.hrl b/modules/include/euphorik_bd.hrl index a3a7f20..053c046 100755 --- a/modules/include/euphorik_bd.hrl +++ b/modules/include/euphorik_bd.hrl @@ -1,47 +1,107 @@ +% 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 3 - -% Pour générer des id --record(counter, - { - key, - value - }). - -% décrit un enregistrement d'un message + + +% Version de la BD +-define(VERSION_BD, 2). + + +% Pour générer des id +-record(counter, + { + key, + value + }). + + +% Mémorse toutes les propriétés, entre autre la version des données +-record(proprietes, + { + nom, + valeur + }). + + +% 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 - }). + pseudo, % chaine de caractère + contenu, % chaine de caractère + troll_id = undefined, % l'id du troll associé correspondant + 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 - }). - - --record(user, - { - id, - cookie, % string() + +% type bag +% 'repondant' repond à 'cible' +-record(reponse_minichat, + { + repondant, % -> #minichat.id + cible % -> #minichat.id + }). + + +-record(user, + { + id, + cookie, % string() 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() + date_creation, % erlang:now() + date_derniere_connexion, % erlang:now(), est mis à jour lors de n'importe quelle activitée (envoie de message par exemple) css = [], % string() - indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages. - page_principale = 1, % la page de la conversation principale - conversations = [] % [{integer(), integer()}], la liste des messages correspondant au conversation ainsi que la page affichée - }). + nick_format = nick, %atom(), peut valoir 'nick', 'login' ou 'nick_login' + view_times = true, + view_tooltips = true, + ostentatious_master = light, % peut valoir invisible, light ou heavy. seulement pour ek_master + chat_order = reverse, % peut valoir chrono ou reverse + indice_flood = 0, % integer() est incrémenté lorsque l'utilisateur envoie trop rapidement des messages. + conversations = [], % [{integer(), bool}], la liste des messages correspondant au conversation {racine, reduite?} + ek_master = false, + last_ip = undefined % integer(), undefined si inconnu + }). + + +% identificateur : (ip) +-record(ip_table, + { + ip, % {integer(), integer(), integer(), integer()} + 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é + date_last_try_register, + date_last_try_login % pour l'instant pas utilisé + }). + +-record(troll, + { + id, + id_user, + 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 + }). \ No newline at end of file