projects
/
euphorik.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MOD passage systèmatique par l'objet Communication
[euphorik.git]
/
modules
/
erl
/
euphorik_protocole.erl
diff --git
a/modules/erl/euphorik_protocole.erl
b/modules/erl/euphorik_protocole.erl
index
a321287
..
3706f68
100755
(executable)
--- a/
modules/erl/euphorik_protocole.erl
+++ b/
modules/erl/euphorik_protocole.erl
@@
-47,7
+47,7
@@
register([{login, Login}, {password, Password}, {profile, Profile_json}], IP) ->
if Can_register ->
\r
case euphorik_bd:user_by_login(Login) of
\r
{ok, _} ->
\r
if Can_register ->
\r
case euphorik_bd:user_by_login(Login) of
\r
{ok, _} ->
\r
- erreur(
"Login déjà existant"
);
\r
+ erreur(
10
);
\r
_ ->
\r
User = euphorik_bd:nouveau_user(Login, Password, generer_cookie(), profile_from_json(Profile_json)),
\r
euphorik_bd:update_ip(User#user.id, IP),
\r
_ ->
\r
User = euphorik_bd:nouveau_user(Login, Password, generer_cookie(), profile_from_json(Profile_json)),
\r
euphorik_bd:update_ip(User#user.id, IP),
\r
@@
-69,7
+69,7
@@
register([{profile, Profile_json}], IP) ->
end.
\r
\r
erreur_register_flood() ->
\r
end.
\r
\r
erreur_register_flood() ->
\r
- erreur(
"Trop de register (flood)"
).
\r
+ erreur(
20
).
\r
\r
\r
% Un utilisateur se logge (avec un couple {login, mot de passe})
\r
\r
\r
% Un utilisateur se logge (avec un couple {login, mot de passe})
\r
@@
-79,7
+79,7
@@
login([{login, Login}, {password, Password}], IP) ->
loginUser(User, IP);
\r
_ ->
\r
timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN),
\r
loginUser(User, IP);
\r
_ ->
\r
timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN),
\r
- erreur(
"Couple login/pass introuvable"
)
\r
+ erreur(
30
)
\r
end;
\r
% Un utilisateur se logge (avec un cookie)
\r
login([{cookie, Cookie}], IP) ->
\r
end;
\r
% Un utilisateur se logge (avec un cookie)
\r
login([{cookie, Cookie}], IP) ->
\r
@@
-88,7
+88,7
@@
login([{cookie, Cookie}], IP) ->
loginUser(User, IP);
\r
_ ->
\r
timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN),
\r
loginUser(User, IP);
\r
_ ->
\r
timer:sleep(?TEMPS_ATTENTE_ERREUR_LOGIN),
\r
- erreur(
"Authentification impossible par cookie"
)
\r
+ erreur(
40
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-122,9
+122,9
@@
profile(
ok ->
\r
json_reponse_ok();
\r
login_deja_pris ->
\r
ok ->
\r
json_reponse_ok();
\r
login_deja_pris ->
\r
- erreur(
"Login déjà pris"
);
\r
+ erreur(
10
);
\r
_ ->
\r
_ ->
\r
- erreur(
"Impossible de mettre à jour le profile"
)
\r
+ erreur(
50
)
\r
end
\r
end.
\r
\r
end
\r
end.
\r
\r
@@
-269,10
+269,10
@@
wait_event([{page, "admin"}, {last_troll, Last_troll}]) ->
]
\r
};
\r
_ ->
\r
]
\r
};
\r
_ ->
\r
- erreur(
"timeout"
)
\r
+ erreur(
60
)
\r
end;
\r
wait_event(_) ->
\r
end;
\r
wait_event(_) ->
\r
- erreur(
"Page inconnue"
).
\r
+ erreur(
70
).
\r
\r
\r
% Attend un événement pour la page "Chat" et renvoie soit un troll soit les messages manquants au client.
\r
\r
\r
% Attend un événement pour la page "Chat" et renvoie soit un troll soit les messages manquants au client.
\r
@@
-283,7
+283,7
@@
wait_event_page_chat(User, Racines_conversations, Message_count, Last_message_id
{struct, [
\r
{reply, "new_troll"},
\r
{troll_id, Current#troll.id},
\r
{struct, [
\r
{reply, "new_troll"},
\r
{troll_id, Current#troll.id},
\r
- {message_id,
euphorik_bd:message_id_associe(Current#troll.id)
},
\r
+ {message_id,
Current#troll.id_minichat
},
\r
{content, Current#troll.content}
\r
]};
\r
_ ->
\r
{content, Current#troll.content}
\r
]};
\r
_ ->
\r
@@
-308,7
+308,7
@@
wait_event_page_chat(User, Racines_conversations, Message_count, Last_message_id
{Racine_id, _, _} = Racine,
\r
case euphorik_bd:message_by_id(Racine_id) of
\r
{ok, Mess} ->
\r
{Racine_id, _, _} = Racine,
\r
case euphorik_bd:message_by_id(Racine_id) of
\r
{ok, Mess} ->
\r
- json_message(Mess, euphorik_bd:parents(Racine), User);
\r
+ json_message(Mess, euphorik_bd:parents(Racine
_id
), User);
\r
_ ->
\r
null
\r
end
\r
_ ->
\r
null
\r
end
\r
@@
-426,23
+426,23
@@
put_message(
{ok, User} ->
\r
case euphorik_bd:est_banni(User#user.id) of
\r
{true, Temps_restant} ->
\r
{ok, User} ->
\r
case euphorik_bd:est_banni(User#user.id) of
\r
{true, Temps_restant} ->
\r
- erreur(
"Vous êtes banni pour encore " ++ format_minutes(Temps_restant)
);
\r
+ erreur(
80, [format_minutes(Temps_restant)]
);
\r
_ ->
\r
Strip_content = string:strip(Content),
\r
if Strip_content =:= [] ->
\r
_ ->
\r
Strip_content = string:strip(Content),
\r
if Strip_content =:= [] ->
\r
- erreur(
"Message vide"
);
\r
+ erreur(
90
);
\r
true ->
\r
% attention : non-atomique (update_pseudo+nouveau_message)
\r
euphorik_bd:update_pseudo_user(User#user.id, Nick),
\r
case euphorik_bd:nouveau_message(Strip_content, User#user.id, Answer_to) of
\r
true ->
\r
% attention : non-atomique (update_pseudo+nouveau_message)
\r
euphorik_bd:update_pseudo_user(User#user.id, Nick),
\r
case euphorik_bd:nouveau_message(Strip_content, User#user.id, Answer_to) of
\r
- {erreur, R} -> erreur(
"Impossible d'ajouter un nouveau message. Raison : " ++ R
);
\r
+ {erreur, R} -> erreur(
100, [R]
);
\r
_ ->
\r
json_reponse_ok()
\r
end
\r
end
\r
end;
\r
_ ->
\r
_ ->
\r
json_reponse_ok()
\r
end
\r
end
\r
end;
\r
_ ->
\r
- erreur(
"Utilisateur inconnu"
)
\r
+ erreur(
110
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-459,10
+459,10
@@
ban(
{ok, User1 = #user{ek_master = true}} ->
\r
case euphorik_bd:user_by_id(User_id) of
\r
{ok, User1} ->
\r
{ok, User1 = #user{ek_master = true}} ->
\r
case euphorik_bd:user_by_id(User_id) of
\r
{ok, User1} ->
\r
- erreur(
"Il n'est pas possible de s'auto bannir"
);
\r
+ erreur(
120
);
\r
{ok, #user{ek_master = false, profile = Profile2} = User2} ->
\r
euphorik_bd:ban(User2#user.last_ip, Duration),
\r
{ok, #user{ek_master = false, profile = Profile2} = User2} ->
\r
euphorik_bd:ban(User2#user.last_ip, Duration),
\r
- euphorik_bd:nouveau_message_sys(lists:flatten(io_lib:format("
''~s~s''
est ~s pour ~s.~s",
\r
+ euphorik_bd:nouveau_message_sys(lists:flatten(io_lib:format("
\"~s~s\"
est ~s pour ~s.~s",
\r
[
\r
Profile2#profile.pseudo,
\r
if User2#user.login =:= [] -> ""; true -> " (" ++ User2#user.login ++ ")" end,
\r
[
\r
Profile2#profile.pseudo,
\r
if User2#user.login =:= [] -> ""; true -> " (" ++ User2#user.login ++ ")" end,
\r
@@
-473,12
+473,12
@@
ban(
))),
\r
json_reponse_ok();
\r
{ok, _} ->
\r
))),
\r
json_reponse_ok();
\r
{ok, _} ->
\r
- erreur(
"L'utilisateur est lui même un ekMaster"
);
\r
+ erreur(
130
);
\r
_ ->
\r
_ ->
\r
- erreur(
"Utilisateur à bannir inconnu"
)
\r
+ erreur(
140
)
\r
end;
\r
_ ->
\r
end;
\r
_ ->
\r
- erreur(
"Utilisateur inconnu ou non ek master"
)
\r
+ erreur(
150
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-511,12
+511,12
@@
slap(
))),
\r
json_reponse_ok();
\r
{ok, _} ->
\r
))),
\r
json_reponse_ok();
\r
{ok, _} ->
\r
- erreur(
"L'utilisateur est lui même un ekMaster"
);
\r
+ erreur(
130
);
\r
_ ->
\r
_ ->
\r
- erreur(
"Utilisateur à slaper inconnu"
)
\r
+ erreur(
160
)
\r
end;
\r
_ ->
\r
end;
\r
_ ->
\r
- erreur(
"Utilisateur inconnu ou non ek master"
)
\r
+ erreur(
170
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-531,14
+531,14
@@
put_troll(
{ok, User = #user{ek_master = true}} ->
\r
case euphorik_bd:put_troll(User#user.id, Content) of
\r
max_troll_reached_per_user ->
\r
{ok, User = #user{ek_master = true}} ->
\r
case euphorik_bd:put_troll(User#user.id, Content) of
\r
max_troll_reached_per_user ->
\r
- erreur(
lists:flatten(io_lib:format("Le nombre de troll maximum par utilisateur est atteint : ~w ", [?NB_MAX_TROLL_WAITING_BY_USER]))
);
\r
+ erreur(
180, [?NB_MAX_TROLL_WAITING_BY_USER]
);
\r
max_troll_reached ->
\r
max_troll_reached ->
\r
- erreur(
lists:flatten(io_lib:format("Le nombre de troll maximum en attente est atteint : ~w ", [?NB_MAX_TROLL_WAITING]))
);
\r
+ erreur(
190, [?NB_MAX_TROLL_WAITING]
);
\r
_Id ->
\r
json_reponse_ok()
\r
end;
\r
_ ->
\r
_Id ->
\r
json_reponse_ok()
\r
end;
\r
_ ->
\r
- erreur(
"Seul les ekMaster peuvent proposer des trolls"
)
\r
+ erreur(
200
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-558,10
+558,10
@@
mod_troll(
euphorik_bd:mod_troll(Troll_id, Content),
\r
json_reponse_ok();
\r
_ ->
\r
euphorik_bd:mod_troll(Troll_id, Content),
\r
json_reponse_ok();
\r
_ ->
\r
- erreur(
"Vous ne posséder pas ce troll"
)
\r
+ erreur(
210
)
\r
end;
\r
_ ->
\r
end;
\r
_ ->
\r
- erreur(
"Seul les ekMaster peuvent proposer des trolls"
)
\r
+ erreur(
220
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-580,10
+580,10
@@
del_troll(
euphorik_bd:del_troll(Troll_id),
\r
json_reponse_ok();
\r
_ ->
\r
euphorik_bd:del_troll(Troll_id),
\r
json_reponse_ok();
\r
_ ->
\r
- erreur(
"Vous ne posséder pas ce troll"
)
\r
+ erreur(
210
)
\r
end;
\r
_ ->
\r
end;
\r
_ ->
\r
- erreur(
"Seul les ekMaster peuvent proposer des trolls"
)
\r
+ erreur(
220
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-598,7
+598,7
@@
unban_ip(
euphorik_bd:deban(euphorik_common:unserialize_ip(IP)),
\r
json_reponse_ok();
\r
_ ->
\r
euphorik_bd:deban(euphorik_common:unserialize_ip(IP)),
\r
json_reponse_ok();
\r
_ ->
\r
- erreur(
"Seul les ekMaster peuvent connaitre la liste des ips bannies"
)
\r
+ erreur(
230
)
\r
end.
\r
\r
\r
end.
\r
\r
\r
@@
-638,16
+638,25
@@
list_banned_ips(
]
\r
};
\r
_ ->
\r
]
\r
};
\r
_ ->
\r
- erreur(
"Seul les ekMaster peuvent connaitre la liste des ips bannies"
)
\r
+ erreur(
230
)
\r
end.
\r
\r
\r
% Construit une erreur
\r
end.
\r
\r
\r
% Construit une erreur
\r
-erreur(Message) ->
\r
+erreur(Num, Args) ->
\r
+ erreur_json(Num, lists:flatten(io_lib:format(euphorik_bd:get_texte(Num), Args))).
\r
+
\r
+
\r
+erreur(Num) ->
\r
+ erreur_json(Num, euphorik_bd:get_texte(Num)).
\r
+
\r
+
\r
+erreur_json(Num, Mess) ->
\r
{
\r
struct, [
\r
{reply, "error"},
\r
{
\r
struct, [
\r
{reply, "error"},
\r
- {error_message, Message}
\r
+ {no, Num},
\r
+ {error_message, Mess}
\r
]
\r
}.
\r
\r
]
\r
}.
\r
\r
@@
-735,7
+744,7
@@
json_message(Mess, Repond_a, User) ->
{struct, [
\r
{id, Mess#minichat.id},
\r
{user_id, User_mess#user.id},
\r
{struct, [
\r
{id, Mess#minichat.id},
\r
{user_id, User_mess#user.id},
\r
- {date,
format_date(Mess#minichat.date)
},
\r
+ {date,
case Mess#minichat.date of undefined -> "?"; _ -> format_date(Mess#minichat.date) end
},
\r
{system, Mess#minichat.auteur_id =:= 0},
\r
{owner, Est_proprietaire},
\r
{answered, A_repondu_a_message},
\r
{system, Mess#minichat.auteur_id =:= 0},
\r
{owner, Est_proprietaire},
\r
{answered, A_repondu_a_message},
\r