c6bce871d977c9539d96f90bf6a202cd03750b65
howto/come_gestire_password.md
... | ... | @@ -19,8 +19,10 @@ Nel **common.h** (o comunque in file .h inclusi nel common): |
19 | 19 | volatile U8 my_password[32]; // array ralativo alla password che deve essere inserita |
20 | 20 | |
21 | 21 | volatile char livello_accesso; // variabile che indica chi ha effettuato l' accesso |
22 | + |
|
22 | 23 | volatile int flag_visu_msg_password = 0; // flag relativa alla visualizzazione del messaggio di corretta o errata |
23 | 24 | // dopo l' inserimento della password |
25 | + volatile int flag_msg_salva_password = 0; // flag relativa alla scritta di salvataggio effettuato dopo la modifica delle password |
|
24 | 26 | |
25 | 27 | // funzione che stampa sulla pagina grafica la scritta se la password è corretta o errata |
26 | 28 | void stampa_msg_password(void) |
... | ... | @@ -39,11 +41,17 @@ Nel **common.h** (o comunque in file .h inclusi nel common): |
39 | 41 | flag_visu_msg_password = 0; // dopo 2 sec dall' inserimento della password (vedi page_reqPassword.c) |
40 | 42 | } |
41 | 43 | |
44 | + // funzione relativa alla flag di visualizzazione del messaggio di "Password salvata" (vedi page_modPassword.c) |
|
45 | + void stop_msg_salva_password(void) |
|
46 | + { |
|
47 | + flag_msg_salva_password = 0; |
|
48 | + } |
|
49 | + |
|
42 | 50 | // funzione per impostare i caratteri di default delle password |
43 | 51 | void reset_pasword(void) |
44 | 52 | { |
45 | - superadmin_password = "1234"; |
|
46 | - manutentore_password = "5678"; |
|
53 | + snprintf(superadmin_password, sizeof(superadmin_password), "%s", "1234"); |
|
54 | + snprintf(manutentore_password, sizeof(manutentore_password), "%s", "5678"); |
|
47 | 55 | } |
48 | 56 | |
49 | 57 | Nella pagina (page_reqPassword.c) in cui viene richiesto di inserire la password, la variabile my_password è associata ad un edit nel quale è possibile inserire la password con un pulsante di conferma della password inserita ed è presente un label (label1) che scrive se la password è corretta o errata: |
... | ... | @@ -72,7 +80,7 @@ Nella pagina (page_reqPassword.c) in cui viene richiesto di inserire la password |
72 | 80 | else // se la password non è corretta |
73 | 81 | livello_accesso = 0; |
74 | 82 | |
75 | - // la flag di visualizzazione messaggio vine messa a 1 e viene rimessa a 0 ogni 2 sec |
|
83 | + // la flag di visualizzazione messaggio vine messa a 1 e viene rimessa a 0 dopo 2 sec |
|
76 | 84 | flag_visu_msg_password = 1; |
77 | 85 | remove_timer(stop_visu_msg_password); |
78 | 86 | exec_timer(stop_visu_msg_password, ONCE, 2000); |
... | ... | @@ -80,7 +88,8 @@ Nella pagina (page_reqPassword.c) in cui viene richiesto di inserire la password |
80 | 88 | // ------------------------------- |
81 | 89 | void Event(label1_onentry)() |
82 | 90 | { |
83 | - // label1 viene visualizzato solo se la flag di visualizzazione messaggio è 1 (ogni 2 sec) |
|
91 | + // label1 viene visualizzato solo se la flag di visualizzazione messaggio è 1 |
|
92 | + // dopo 2 sec il messaggio non è più visibile |
|
84 | 93 | me2->visible = flag_visu_msg_password; |
85 | 94 | if (flag_visu_msg_password) // se il label è visibile |
86 | 95 | { |
... | ... | @@ -91,11 +100,11 @@ Nella pagina (page_reqPassword.c) in cui viene richiesto di inserire la password |
91 | 100 | else // se la password è errata |
92 | 101 | me->fontcolor = RED; // il label diventa di colore rosso |
93 | 102 | |
94 | - me->rgb_fontcolor=0; |
|
103 | + me->rgb_fontcolor = 0; |
|
95 | 104 | } |
96 | 105 | } |
97 | 106 | |
98 | -Nella pagina **page_modPassword.c**: |
|
107 | +Nella pagina **page_modPassword.c**, in cui si può modificare la password, le varibili new_seperadmin_password e new_manutentore_password sono associate a due edit nella parte grafica in cui si può inserire le nuove password, ed è presente anche un pulsante di reset che reimposta le password con i caratteri di default, ed è presente una bitmap che se premuta salva le nuove password inserite: |
|
99 | 108 | |
100 | 109 | #include "page_modPassword.h" |
101 | 110 | // -------------------------------+ |
... | ... | @@ -108,42 +117,37 @@ Nella pagina **page_modPassword.c**: |
108 | 117 | // ------------------------------- |
109 | 118 | // methods: |
110 | 119 | // ------------------------------- |
111 | - void Event(onfirst)() |
|
120 | + void Event(onfirst)() // all' inizio, negli edit delle nuove password, vengono stampate le password attualmente impostate |
|
112 | 121 | { |
113 | 122 | snprintf(new_superadmin_password, sizeof(new_superadmin_password), "%s", superadmin_password); |
114 | 123 | snprintf(new_manutentore_password, sizeof(new_manutentore_password), "%s", manutentore_password); |
115 | 124 | } |
116 | 125 | // ------------------------------- |
117 | - void Event(button1_onmousedown)() |
|
118 | - { |
|
119 | - snprintf(dfRic.superadmin_password_Ric, sizeof(dfRic.superadmin_password_Ric), "1018"); |
|
120 | - snprintf(dfRic.manutentore_password_Ric, sizeof(dfRic.manutentore_password_Ric), "118"); |
|
121 | - salva(); |
|
122 | - snprintf(superadmin_password, sizeof(superadmin_password), "%s", dfRic.superadmin_password_Ric); |
|
123 | - snprintf(manutentore_password, sizeof(manutentore_password), "%s", dfRic.manutentore_password_Ric); |
|
124 | - } |
|
125 | - // ------------------------------- |
|
126 | - void Event(label1_onentry)() |
|
126 | + void Event(button1_onmousedown)() // quando si preme il pulsante di reset |
|
127 | 127 | { |
128 | - me2->visible = visualizzaEsitoSalvataggioOK; |
|
129 | - } |
|
130 | - // ------------------------------- |
|
131 | - void Event(label2_onentry)() |
|
132 | - { |
|
133 | - me2->visible = visualizzaEsitoSalvataggioNO; |
|
128 | + reset_password(); // vengono reimpostate le password con i caratteri di default |
|
129 | + |
|
130 | + // stampa negli edit le password reimpostate |
|
131 | + snprintf(new_superadmin_password, sizeof(new_superadmin_password), "%s", superadmin_password); |
|
132 | + snprintf(new_manutentore_password, sizeof(new_manutentore_password), "%s", manutentore_password); |
|
134 | 133 | } |
135 | 134 | // ------------------------------- |
136 | - void Event(bitmap1_onmousedown)() |
|
135 | + void Event(bitmap1_onmousedown)() // quando viene premuta la bitmap per il salvataggio |
|
137 | 136 | { |
138 | 137 | v_tik(30); |
139 | - pagina = _page_intro; |
|
140 | - page_end = 1; |
|
138 | + |
|
139 | + // salva le nuove password negli array delle password correnti |
|
140 | + snprintf(superadmin_password, sizeof(superadmin_password), "%s", new_superadmin_password); |
|
141 | + snprintf(manutentore_password, sizeof(manutentore_password), "%s", new_manutentore_password); |
|
142 | + |
|
143 | + // la flag del salvataggio che fa apparire il messaggio di password salvata viene messa a 1 e dopo 3 sec viene rimessa a 0 |
|
144 | + flag_msg_salva_password = 1; |
|
145 | + remove_timer(stop_msg_salva_password); |
|
146 | + exec_timer(stop_msg_salva password, ONCE, 3000); |
|
141 | 147 | } |
142 | 148 | // ------------------------------- |
143 | - void Event(bitmap2_onmousedown)() |
|
149 | + void Event(label1_onentry)() // il label1 ("Password salvata") è visibile quando la flag relativa al messaggio di salvataggio è 1 |
|
144 | 150 | { |
145 | - v_tik(30); |
|
146 | - snprintf(dfRic.superadmin_password_Ric, sizeof(dfRic.superadmin_password_Ric), "%s", superadmin_password); |
|
147 | - snprintf(dfRic.manutentore_password_Ric, sizeof(dfRic.manutentore_password_Ric), "%s", manutentore_password); |
|
148 | - salva(); |
|
149 | - } |
|
... | ... | \ No newline at end of file |
0 | + me2->visible = flag_msg_salva_password; |
|
1 | + } |
|
2 | + |