112 $cf[
'auth'][
'status'] = NULL;
115 if( ! empty( $_SERVER[
'PHP_AUTH_USER'] ) && ! empty( $_SERVER[
'PHP_AUTH_PW'] ) ) {
116 $_REQUEST[
'__login__'][
'user'] = $_SERVER[
'PHP_AUTH_USER'];
117 $_REQUEST[
'__login__'][
'pasw'] = $_SERVER[
'PHP_AUTH_PW'];
124 logWrite(
'tentativo di login in corso per ' .
$_REQUEST[
'__login__'][
'user'],
'auth', LOG_INFO );
127 if( isset(
$_REQUEST[
'__login__'][
'user'] ) && isset(
$_REQUEST[
'__login__'][
'pasw'] ) ) {
133 if( in_array(
$_REQUEST[
'__login__'][
'user'], array_keys(
$cf[
'auth'][
'accounts'] ) ) ) {
135 if(
$cf[
'auth'][
'accounts'][
$_REQUEST[
'__login__'][
'user'] ][
'password'] ==
$_REQUEST[
'__login__'][
'pasw'] ) {
141 foreach(
$_SESSION[
'account'][
'gruppi'] as $gr ) {
142 $_SESSION[
'groups'][ $gr ] = &
$cf[
'auth'][
'groups'][ $gr ];
143 if( isset(
$cf[
'auth'][
'groups'][ $gr ][
'privilegi'] ) ) {
144 foreach(
$cf[
'auth'][
'groups'][ $gr ][
'privilegi'] as
$pr ) {
145 if( ! in_array( $pr,
$_SESSION[
'account'][
'privilegi'] ) ) {
164 logWrite(
'login effettuato correttamente per ' . $_REQUEST[
'__login__'][
'user'],
'auth', LOG_DEBUG );
172 logWrite(
'password errata per ' .
$_REQUEST[
'__login__'][
'user'],
'auth', LOG_ERR );
173 logWrite(
'mancata corrispondenza degli hash per ' .
$_REQUEST[
'__login__'][
'user'] .
': ' .
$cf[
'auth'][
'accounts'][
$_REQUEST[
'__login__'][
'user'] ][
'password'] .
'/' .
$_REQUEST[
'__login__'][
'pasw'],
'auth', LOG_ERR );
183 logWrite(
$_REQUEST[
'__login__'][
'user'] .
' non presente nei file di configurazione',
'auth', LOG_INFO );
195 if( ! empty(
$cf[
'mysql'][
'connection'] ) ) {
198 logWrite(
'fallback al login su database',
'auth', LOG_DEBUG );
202 $cf[
'mysql'][
'connection'],
203 'SELECT * FROM account_view WHERE username = ? AND password = ?',
205 array(
's' =>
$_REQUEST[
'__login__'][
'user'] ),
206 array(
's' =>
$_REQUEST[
'__login__'][
'pasw'] )
211 if( count(
$r ) &&
$r[
'se_attivo'] ==
true ) {
214 if( is_null(
$r[
'timestamp_login']) ){
$r[
'first_access'] =
true;
215 }
else {
$r[
'last_access'] =
$r[
'timestamp_login']; }
220 'UPDATE account SET timestamp_login = ? WHERE id = ? ',
222 array(
's' => time() ),
223 array(
's' =>
$r[
'id'] ) ) );
231 $_SESSION[
'account'][
'permissions'] = array();
233 foreach(
$_SESSION[
'account'][
'id_gruppi'] as $g ) {
235 $cf[
'memcache'][
'connection'],
236 $cf[
'mysql'][
'connection'],
237 'SELECT * FROM gruppi_view WHERE id = ?',
238 array( array(
's' => $g ) )
240 if( isset(
$cf[
'auth'][
'groups'][
$r[
'nome'] ] ) ) {
241 $cf[
'auth'][
'groups'][ $r[
'nome'] ] = array_replace_recursive( $r,
$cf[
'auth'][
'groups'][ $r[
'nome'] ] );
243 $cf[
'auth'][
'groups'][ $r[
'nome'] ] =
$r;
245 $_SESSION[
'groups'][ $r[
'nome'] ] = &
$cf[
'auth'][
'groups'][ $r[
'nome'] ];
250 $cf[
'mysql'][
'connection'],
251 'SELECT se_collaboratore, se_cliente, se_fornitore, se_agente, se_amministrazione FROM anagrafica_view WHERE id = ?',
252 array( array(
's' =>
$_SESSION[
'account'][
'id_anagrafica'] ) )
257 if( isset(
$cf[
'auth'][
'groups'][ $gr[
'nome'] ][
'privilegi'] ) ) {
258 foreach(
$cf[
'auth'][
'groups'][ $gr[
'nome'] ][
'privilegi'] as
$pr ) {
259 if( ! isset(
$_SESSION[
'account'][
'privilegi'] ) || ! in_array( $pr,
$_SESSION[
'account'][
'privilegi'] ) ) {
267 if( ! empty(
$_SESSION[
'account'][
'id_gruppi_attribuzione'] ) ) {
268 $aGroups = explode(
'|',
$_SESSION[
'account'][
'id_gruppi_attribuzione'] );
269 $_SESSION[
'account'][
'id_gruppi_attribuzione'] = array();
270 foreach( $aGroups as $aGroup ) {
271 $aGrData = explode(
'#', $aGroup );
272 $_SESSION[
'account'][
'id_gruppi_attribuzione'][ $aGrData[0] ][] = $aGrData[1];
310 logWrite(
'login effettuato correttamente via database per ' .
$_REQUEST[
'__login__'][
'user'],
'auth', LOG_DEBUG );
312 }
elseif( count(
$r ) &&
$r[
'se_attivo'] !=
true ) {
318 logWrite(
'UTENTE INATTIVO, impossibile effettuare il login via database per ' .
$_REQUEST[
'__login__'][
'user'] .
'/' .
$_REQUEST[
'__login__'][
'pasw'],
'auth', LOG_INFO );
326 logWrite(
'impossibile effettuare il login via database per ' .
$_REQUEST[
'__login__'][
'user'] .
'/' .
$_REQUEST[
'__login__'][
'pasw'],
'auth', LOG_ERR );
352 logWrite(
'login sul database per ' .
$_REQUEST[
'__login__'][
'user'] .
' impossibile per mancanza di connessione',
'auth', LOG_DEBUG );
367 logWrite(
'dati di login insufficienti per ' .
$_REQUEST[
'__login__'][
'user'],
'auth', LOG_DEBUG );
371 # // elimino il blocco dati di login 372 # unset( $_REQUEST['login'] );
logWrite( $m, $f='site', $l=LOG_NOTICE, $d=DIRECTORY_LOG, $t=CURRENT_LOG_LEVEL, $s=SITE_STATUS)
scrive un messaggio nei log del sito
const LOGIN_ERR_NO_CONNECTION
if(isset( $_REQUEST['amazonCheckoutSessionId'])) $_SESSION['carrello']
if(! isset( $_REQUEST['__view__'][ $ct['view']['id']]['__extra__']['assegnato'])|| $_REQUEST['__view__'][ $ct['view']['id']]['__extra__']['assegnato']=='__me__') elseif($_REQUEST[ '__view__'][$ct[ 'view'][ 'id']][ '__extra__'][ 'assegnato']=='__nessuno__')
$_REQUEST['__view__'][ $ct['view']['id']]['__restrict__']['id_progetto']['EQ']