X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Finclude%2Feuphorik_bd.hrl;h=1fc17a2c3be65bba8e7d2b08c33581213032dded;hp=841d7a4c6437a6643bd88c4d813cd81c7ee4a20d;hb=0fd41878c239877c274bd2bf58caf65b24977e52;hpb=7ed3a03bffb4112ee174b05ef1d7b486d6ad6534 diff --git a/modules/include/euphorik_bd.hrl b/modules/include/euphorik_bd.hrl index 841d7a4..1fc17a2 100755 --- a/modules/include/euphorik_bd.hrl +++ b/modules/include/euphorik_bd.hrl @@ -1,46 +1,123 @@ -% @author GBurri -% Version 3 - -% Pour générer des id +% 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, 3). +-define(TABLES, [counter, proprietes, minichat, reponse_minichat, user, ip_table, troll]). + + +% Pour générer des id -record(counter, { key, value }). - -% décrit un enregistrement d'un message --record(minichat, + +% 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 +-record(minichat, { id, % integer - auteur_id, % -> #user.id - date, % erlang:now() - pseudo, % chaine de caractère - contenu % chaine de caractère + auteur_id, % -> #user.id + date, % erlang:timestamp() + pseudo, % chaine de caractère + contenu, % chaine de caractère + racine_id = undefined, % la racine, par défaut correspond à l'id du message + status = normal % can be equal to normal, censored or deleted }). - - + + % type bag -% 'repondant' repond à 'cible' +% 'repondant' repond à 'cible' -record(reponse_minichat, { repondant, % -> #minichat.id cible % -> #minichat.id - }). - + }). + + +-record(profile, % attention : pas une table ! + { + pseudo = [], % string() + email = [], % string() + css = [], % string() + 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 + conversations = [] % [{integer(), bool}], la liste des messages correspondant au conversation {racine, reduite?} + }). + -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) - 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 - }). + login = [], % string() + password = [], % string() (md5) + profile = #profile{}, + date_creation, % erlang:timestamp() + date_derniere_connexion, % erlang:timestamp(), 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 + }). + + +% 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, + id_minichat = undefined, % l'id du message associé + date_create, % erlang:timestamp() + date_post = undefined, % date à laquelle le troll est affiché sur la page principale. undefined initialement puis erlang:timestamp() quand affiché + content % chaine de caractère + }).