X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd_admin.erl;h=62ab56328128aafe95d8f3e7b4d5da49249320fc;hb=6e96af2afdc875932c19685110c97ea7837944c6;hp=7412337409656ba32190ce7175c61d2f1e655954;hpb=ba4387c6afaaa2964c28292e7fbd1c35b3404ce5;p=euphorik.git diff --git a/modules/erl/euphorik_bd_admin.erl b/modules/erl/euphorik_bd_admin.erl index 7412337..62ab563 100644 --- a/modules/erl/euphorik_bd_admin.erl +++ b/modules/erl/euphorik_bd_admin.erl @@ -23,7 +23,7 @@ % - Copie de la BD à partir d'un autre noeud % % @author G.Burri - + -module(euphorik_bd_admin). -export([ @@ -58,7 +58,7 @@ version_bd() -> % Instructions pour créer une nouvelle base : -% $erl -sname yaws -mnesia dir '"/projets/euphorik/BD"' +% $erl -sname yaws -mnesia dir '"/projets/euphorik/var/BD"' % voir doc/installation.txt % >l(euphorik_bd). % >euphorik_bd:create(). @@ -79,6 +79,10 @@ create_tables() -> {attributes, record_info(fields, proprietes)}, {disc_copies, [node()]} ]), + mnesia:create_table(texte, [ + {attributes, record_info(fields, texte)}, + {disc_copies, [node()]} + ]), mnesia:create_table(minichat, [ {attributes, record_info(fields, minichat)}, {disc_copies, [node()]} @@ -125,6 +129,7 @@ connect(Node) -> reset() -> mnesia:clear_table(counter), mnesia:clear_table(proprietes), + mnesia:clear_table(texte), mnesia:clear_table(user), mnesia:clear_table(reponse_minichat), mnesia:clear_table(minichat), @@ -136,8 +141,37 @@ reset() -> User = #user{id = 0, profile = #profile{pseudo = "Sys"}, login = "Sys", date_creation = now(), date_derniere_connexion = now(), ek_master = true}, mnesia:write(User), User - end). + end), + peupler_texte(). + +peupler_texte() -> + mnesia:transaction(fun() -> + mnesia:write(#texte{ id = 10, fr = "Login déjà existant"}), + mnesia:write(#texte{ id = 20, fr = "Trop de register (flood)"}), + mnesia:write(#texte{ id = 30, fr = "Couple login/pass introuvable"}), + mnesia:write(#texte{ id = 40, fr = "Authentification impossible par cookie"}), + mnesia:write(#texte{ id = 50, fr = "Impossible de mettre à jour le profile"}), + mnesia:write(#texte{ id = 60, fr = "timeout"}), + mnesia:write(#texte{ id = 70, fr = "Page inconnue"}), + mnesia:write(#texte{ id = 80, fr = "Vous êtes banni pour encore ~s"}), + mnesia:write(#texte{ id = 90, fr = "Message vide"}), + mnesia:write(#texte{ id = 100, fr = "Impossible d'ajouter un nouveau message. Raison : ~s"}), + mnesia:write(#texte{ id = 110, fr = "Utilisateur inconnu"}), + mnesia:write(#texte{ id = 120, fr = "Il n'est pas possible de s'auto bannir"}), + mnesia:write(#texte{ id = 130, fr = "L'utilisateur est lui même un ekMaster"}), + mnesia:write(#texte{ id = 140, fr = "Utilisateur à bannir inconnu"}), + mnesia:write(#texte{ id = 150, fr = "Utilisateur inconnu ou non ek master"}), + mnesia:write(#texte{ id = 160, fr = "Utilisateur à slaper inconnu"}), + mnesia:write(#texte{ id = 170, fr = "Utilisateur inconnu ou non ek master"}), + mnesia:write(#texte{ id = 180, fr = "Le nombre de troll maximum par utilisateur est atteint : ~w "}), + mnesia:write(#texte{ id = 190, fr = "Le nombre de troll maximum en attente est atteint : ~w "}), + mnesia:write(#texte{ id = 200, fr = "Seul les ekMaster peuvent proposer des trolls"}), + mnesia:write(#texte{ id = 210, fr = "Vous ne posséder pas ce troll"}), + mnesia:write(#texte{ id = 220, fr = "Seul les ekMaster peuvent proposer des trolls"}), + mnesia:write(#texte{ id = 230, fr = "Seul les ekMaster peuvent connaitre la liste des ips bannies"}) + end). + % Met à jour la bd, compare ?VERSION_BD avec la version dans la table 'proprietes' % et exécute les patchs nécessaires. @@ -169,9 +203,14 @@ update(Version) -> % Applique une modification de la BD pour passer d'une version à la suivante. % crée un backup avant l'application du patch -% dans BD/backups nommé "backup" où et le numéro de la version. +% dans var/BD/backups nommé "backup" où et le numéro de la version. % 1 -> 2 patch(1) -> + mnesia:create_table(texte, [ + {attributes, record_info(fields, texte)}, + {disc_copies, [node()]} + ]), + peupler_texte(), % traitement des users mnesia:transform_table( user, @@ -231,7 +270,7 @@ patch_1_traiter_message(M, Racine) -> % mnesia:restore(fichier_backup(N), [{default_op, recreate_tables}]). -% Renvoie le fichier (avec le chemin) correspondant à la version Version, par exemple : "/var/euphorik/BD/backups/backup1" +% Renvoie le fichier (avec le chemin) correspondant à la version Version, par exemple : "/var/euphorik/var/BD/backups/backup1" fichier_backup(Version) -> mnesia:system_info(directory) ++ "/backups/" ++ if is_integer(Version) -> "backup" ++ integer_to_list(Version); true -> Version end.