Source for file auth.db_ext.php
Documentation is available at auth.db_ext.php
* @subpackage Authentication
* @author Mario Marcello Verona <marcelloverona@gmail.com>
* @copyright 2007 Mario Marcello Verona
* @license http://www.gnu.org/licenses/gpl.html GNU Public License
* Funzione di autenticazione mediante un database esterno, presente su un server remoto o locale
* Viene richiamata dalla classe {@link auth}
$sql_auth= sprintf("SELECT * FROM {$conf_auth['db_ext']['dbname']}.{$conf_auth['db_ext']['tabella']}
WHERE {$conf_auth['campo_email']}='%s' AND {$conf_auth['campo_password']}='%s'",
if($conf_auth['db_ext']['dbtype']== 'mysql'){
$link_tmp = @mysqli_connect($conf_auth['db_ext']['host'],
$conf_auth['db_ext']['user'],
$conf_auth['db_ext']['passw'],
$conf_auth['db_ext']['dbname'],
$conf_auth['db_ext']['port']) or die("Impossibile connettersi al server per l'autenticazione");
$q_auth= mysqli_query($link_tmp,$sql_auth,MYSQLI_STORE_RESULT);
if($q_auth!== false && mysqli_num_rows($q_auth)== 1){
$RS= mysqli_fetch_assoc($q_auth);
return array('response'=> true,$RS);
return array('response'=> false);
else die("Impossibile connettersi al server {$conf_auth['db_ext']['dbtype']} per l'autenticazione: estensione php mancante");
else if($conf_auth['db_ext']['dbtype']== 'postgres'){
$link_tmp = @pg_connect("host={$conf_auth['db_ext']['host']} port={$conf_auth['db_ext']['port']} dbname={$conf_auth['db_ext']['dbname']} user={$conf_auth['db_ext']['user']} password={$conf_auth['db_ext']['passw']}") or die("Impossibile connettersi al server per l'autenticazione");
$q_auth= pg_query($link_tmp,$sql_auth);
if(pg_num_rows($q_auth)== 1){
$RS= pg_fetch_assoc($q_auth);
return array('response'=> true,$RS);
return array('response'=> false);
else die("Impossibile connettersi al server {$conf_auth['db_ext']['dbtype']} per l'autenticazione: estensione php mancante");
else if($conf_auth['db_ext']['dbtype']== 'odbc'){
$link_tmp = @odbc_connect($conf_auth['db_ext']['odbc_dsn'],$conf_auth['db_ext']['user'],$conf_auth['db_ext']['passw']) or die("Impossibile connettersi al server per l'autenticazione");
return array('response'=> true,$RS);
return array('response'=> false);
else die("Impossibile connettersi al server {$conf_auth['db_ext']['dbtype']} per l'autenticazione: estensione php mancante");
* Funzione di hash o crypt personalizzata, richiama il tipo di codifica impostata nel file CONF
* per le password in caso di autenticazione esterna tramite database
if($conf_auth['password_crypt']== 'md5'){
else if($conf_auth['password_crypt']== 'sha1'){
|