2. OBIETTIVO DELLO SPEECH
Obiettivo di questa esposizione è la creazione di un
modulo che periodicamente invalidi la password degli
utenti.
Questo permette di migliorare la sicurezza del sito/
portale.
La scelta potrà essere a livello globale oppure partendo
dal ruolo per arrivare all'utente stesso.
3. OBIETTIVO DELLO SPEECH
• Creazione dei file necessari per il modulo
• Creazione tabelle nel database
• Utilizzo hook di sistema
• Come inviare email dal modulo
• Invio automatico di email di avviso
• Traduzione multilingua del modulo
4. FILE UTILIZZATI NEL MODULO
• expire_user_password.info (contiene i dati
informativi del modulo)
• expire_user_password.install (utilizzato per la
creazione delle tabelle e variabili)
• expire_user_password.module (contiene
l'implementazione del modulo)
• expire_user_password.it.po (contiene le traduzioni
delle stringhe)
5. CONTENUTO FILE expire_user_password.info
name = Expire User Password
description = Modules to manage scheduled user
password
package = User
core = 7.x
configure = admin/expire_user_password/configure
dependencies[] = locale
dependencies[] = date_popup
6. CONTENUTO FILE expire_user_password.install
Hook/funzioni presenti nel file:
! expire_user_password_schema()
(contiene la tabella che mappa utente/data di
scadenza password)
! expire_user_password_install()
(setta variabili di sistema)
! expire_user_password_uninstall()
(cancella le variabili di sistema create in
precedenza)
9. CONTENUTO FILE expire_user_password.module
COSTANTI DEL MODULO
EXPIRE_USER_PASSWORD_CONFIGURE:
utilizzata per il prefisso comune a tutte le voci di menu.
Il valore è: admin/expire_user_password
EXPIRE_USER_PASSWORD_RID_ADMIN_ROLE:
utilizzata per il definire in un punto il valore del role id
corrispondente agli amministratori. Nel nostro caso il
valore è: 3.
10. CONTENUTO FILE expire_user_password.module
HOOK/FUNZIONI DEL MODULO
expire_user_password_help($path, $arg):
hook_help utilizzato per generare la pagina contenente
la spiegazione e il riassunto dei link del modulo.
expire_user_password_menu():
hook_menu che permette di creare i link delle pagine di
amministrazione.
expire_user_password_permission():
hook_permission contenente il permesso per
permettere agli utenti di configurare le pagine di
amministrazione.
12. CONTENUTO FILE expire_user_password.module
expire_user_password_configure($form, &
$form_state):
funzione che crea la pagina di admin per abilitare o
disabilitare scadenza password a livello di sistema.
_expire_user_password_configure_submit
($form, &$form_state):
funzione che recupera i valori del form creato in
expire_user_password_configure ed in base alle
condizioni del form salva i dati nelle variabili di sistema
e genera le scadenze password per tutti gli utenti.
13. CONTENUTO FILE expire_user_password.module
expire_user_password_form_alter(&$form, &
$form_state, $form_id):
hook_form_alter per aggiungere al form il campo
conterrà la data di scadenza password utente. Il campo
sarà visibile agli utenti con il permesso associato ad
uno dei loro ruoli.
_expire_user_password_ttl_user_validate($form, &
$form_state):
funzione per verificare che la data inserita sia valida.
15. CONTENUTO FILE expire_user_password.module
_expire_user_password_ttl_user_save($form, &
$form_state):
funzione che salva/cancella la data di scadenza
password corrispondente all'utente nella tabella
expire_user_password_users.
_expire_user_password_get_ttl_user($uid):
funzione che recupera la data scadenza password in
base all'uid utente passato come parametro.
_expire_user_password_get_ttl_role($rid=null):
funzione che recupera la data scadenza password in
base all'rid ruolo passato come parametro.
16. CONTENUTO FILE expire_user_password.module
expire_user_password_user_delete($account):
hook_user_delete per cancellare la data scadenza
password utente da expire_user_password_users.
expire_user_password_reset_ttl($form, &
$form_state):
funzione che crea la pagina di admin per inserire le date
di scadenza password in base al ruolo.
_expire_user_password_reset_ttl_submit($form, &
$form_state):
funzione che recupera i valori del form creato in
expire_user_password_reset_ttl e permette di aggiornate
le scadenze delle password utente.
19. CONTENUTO FILE expire_user_password.module
expire_user_password_init():
hook_init per centralizzare il controllo della scadenza
password quando si visita una pagina.
expire_user_password_cron():
hook_cron per verificare scadenze di password ed
inviare un avviso agli utenti
expire_user_password_user_load($users):
hook_user_load per aggiungere all'oggetto $user la
proprietà corrispondente al campo scadenza password
21. TRADUZIONE MULTILINGUA DEL MODULO/1
Per tradurre le stringhe nel modulo eseguire i seguenti
passaggi preliminari:!
! Utilizzare la funzione t() su ogni stringa di cui si vuole
effettuare la traduzione.
! Scaricare il modulo “Translation template extractor”
dal seguente url: https://drupal.org/project/potx
! Abilitare il modulo “Translation template extractor”
! Aggiungere la lingua italiana tramite il form presente
all'url http://[dominio]/admin/config/regional/language/
22. TRADUZIONE MULTILINGUA DEL MODULO/2
Per estrarre le stringhe da tradurre andare alla pagina
http://[dominio]/admin/config/regional/translate/extract
e selezionare il checkbox inerente il modulo
expire_user_password.
Una volta generato il file .pot utilizzare un software, per
esempio poedit, per inserire le traduzioni delle stringhe
inglesi nella lingua preferita.
Salvare il file con un nome parlante, per esempio
expire_user_password.it.po.
23. TRADUZIONE MULTILINGUA DEL MODULO/3
Importare le stringhe di traduzione caricando il file al
seguente url:
http://[dominio]/admin/config/regional/translate/import
selezionando la lingua delle stringhe tradotte.
Ora selezionando la lingua italiana le stringhe
precedentemente in inglese saranno visibili nella lingua
dello Stivale.