Gli hooks nascono con lo scopo di estendere delle funzionalità del framework, senza impattare in maniera importante nella struttura esistente.
Nel file hooks/hooks.ini devono essere censiti gli hook presenti nell'applicativo, ecco un esempio:
[citywareHook.php] active=1
In questo caso, l'hook è attivo, ed è richiesta la presenza del file hooks/citywareHook.php
Il codice si divide in due fasi:
Es. Cityware:
<?php itaHooks::register('post_login', 'cityware_post_login'); function cityware_post_login($args) { require_once ITA_BASE_PATH . '/apps/CityBase/cwbParGen.class.php'; require_once ITA_BASE_PATH . '/apps/CityBase/cwbLibDB_BOR.class.php'; $libDB_BOR = new cwbLibDB_BOR(); // Imposta anno contabile cwbParGen::setAnnoContabile(date("Y")); // Imposta cliente $cliente = $libDB_BOR->leggiBorClient()[0]; cwbParGen::setBorClient($cliente); // Imposta enti per il cliente $enti = $libDB_BOR->leggiBorEntiClient($cliente['PROGCLIENT']); cwbParGen::setBorEnti($enti); } ?>
In questo caso, Cityware imposta in sessione delle variabili, per poi utilizzarle successivamente in tutti i moduli al bisogno.7 visualizzazioni.