(no commit message)
[euphorik.git] / modules / erl / old / captcha.erl
1 % Module permettant la génération de captcha.
2 % Dépend de la lib 'erlycairo', il faut que son c-node soit démarré.
3 % Auteur : G.Burri
4 % Date : 05.11.2007
5
6 -module(captcha).
7 -export([create/2]).
8
9 -include("../include/euphorik_defines.hrl").
10
11
12 % Crée un captcha de longueur L dans le dossier Dossier.
13 % renvoie {Mot crypté:string(), Nom du fichier:string()}
14 create(L, Dossier) ->
15 Mot = common:generer_mot(L),
16 Mot_crypt = common:crypt(Mot),
17 Nom_fichier = Mot_crypt ++ ".png",
18 erlycairo:new_image_blank(length(Mot) * 8, 14),
19 erlycairo:set_source_rgba(0, 0, 0, 1),
20 erlycairo:select_font_face("Courier", 0, 1),
21 erlycairo:set_font_size(12),
22 erlycairo:move_to(2, 10),
23 erlycairo:show_text(Mot),
24 erlycairo:move_to(2, 10),
25 erlycairo:line_to(length(Mot) * 8 - 2, 10),
26 erlycairo:set_line_width(1),
27 erlycairo:stroke(),
28 erlycairo:write_to_png(Dossier ++ "/" ++ Nom_fichier),
29 erlycairo:close_image(),
30 {Mot_crypt, Nom_fichier}.
31