0) { $this->_loadAndFillObject($src['ID'], self::TABLE_NAME, $src); } else { $this->_loadByRow($src, $stripSlashes); } } elseif (intval($src)) { $this->_loadById($src, self::TABLE_NAME, true); } $this->SchedaPersona = array(); } public static function loadObjFromCodiceF($codice_fiscale = "") { global $con; $return = new Account(); $verify = $con->prepare("SELECT * FROM " . self::TABLE_NAME . " WHERE CODICE_FISCALE=:cod "); $verify->bindParam(":cod", $codice_fiscale); try { $verify->execute(); $itVerify = $verify->fetch(PDO::FETCH_ASSOC); if (intval($itVerify['ID']) > 0) { Utils::FillObjectFromRow($return, $itVerify); } } catch (Exception $exc) { } return $return; } /* * Select id by Mail */ public function selectId($email = "") { global $con; $return = array(); $return['esito'] = 1; $return['descrizioneErrore'] = ""; $verify = $con->prepare("SELECT ID FROM " . self::TABLE_NAME . " WHERE EMAIL=:email "); $verify->bindParam(":email", $email); try { $verify->execute(); $itVerify = $verify->fetch(PDO::FETCH_ASSOC); if (intval($itVerify['ID']) > 0) { $return['ID'] = $itVerify['ID']; $return['esito'] = 1; } else { $return['esito'] = -999; } } catch (Exception $exc) { $return['esito'] = -999; $return['descrizioneErrore'] = $exc->getMessage(); } return $return; } /* * Select id by codice Fiscale */ public function selectIdFromCodiceF($codice_fiscale = "") { global $con; $return = array(); $verify = $con->prepare("SELECT ID FROM " . self::TABLE_NAME . " WHERE CODICE_FISCALE=:cod "); $verify->bindParam(":cod", $codice_fiscale); try { $verify->execute(); $itVerify = $verify->fetch(PDO::FETCH_ASSOC); if (intval($itVerify['ID']) > 0) { $return['ID'] = $itVerify['ID']; $return['esito'] = 1; } else { $return['esito'] = -999; } } catch (Exception $exc) { $return['esito'] = -999; $return['descrizioneErrore'] = $exc->getMessage(); } return $return; } /* * controllo presenza codice Fiscale */ public function controlloCodiceFiscale($codice_fiscale = "") { global $con; $return = array(); $return['esito'] = 1; $return['descrizioneErrore'] = ""; $verify = $con->prepare("SELECT ID FROM " . self::TABLE_NAME . " WHERE CODICE_FISCALE=:codice_fiscale "); $verify->bindParam(":codice_fiscale", $codice_fiscale); try { $verify->execute(); $itVerify = $verify->fetch(PDO::FETCH_ASSOC); if (intval($itVerify['ID']) > 0) { $return['esito'] = -999; $return['erroreDescrizione'] = "Il codice fiscale dell'utente è già registrato"; } } catch (Exception $exc) { $return['esito'] = -999; $return['erroreDescrizione'] = $exc->getMessage(); } return $return; } public static function LoadDataTable($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0) { return parent::_loadDataTable(self::TABLE_NAME, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); } public static function login_spid($codice_fiscale = "", $mobilePhone = "", $email = "", $idCard = "", $inResponseTo = "", $AuthnInstant = 0) { global $con, $LoggedAccount, $bando_setup; session_name('SICILIAPEIFE_BONUSICILIA'); session_start(); $idCardArray = explode(" ", $idCard); $tipodocumento = $idCardArray[0]; $numerodocumento = $idCardArray[1]; /*BUG FIX TIMSPID*/ if(Utils::is_date($idCardArray[3])){ $enterilascio = $idCardArray[2]; $dataemissione = date("d-m-Y", strtotime($idCardArray[3])); $datascadenza = date("d-m-Y", strtotime($idCardArray[4])); }else{ $enterilascio = $idCardArray[2]. " ".$idCardArray[3]; $dataemissione = date("d-m-Y", strtotime($idCardArray[4])); $datascadenza = date("d-m-Y", strtotime($idCardArray[5])); } $return = array(); if(ATTIVA_CONTROLO_BANDO_LOGIN){ if (!$bando_setup->ControllaPeriodoPreparazione()) { $return['esito'] = -999; $return['erroreDescrizione'] = 'Il servizio non è attivo.'; return $return; } } //echo "
CI ENTRO"; $con->db_transactionStart(); $transaction = false; $codFisc = trim($codice_fiscale); $uid_spid = new UID_SPID(); $uid_spid->CODICE_FISCALE = $codFisc; $uid_spid->INRESPONSETO = $inResponseTo; $resSpid = $uid_spid->Save(); //echo "
CI ENTRO
". print_r($resSpid, true)."
"; if ($resSpid['esito'] == 1) { //echo "
CI ENTRO 2"; $id_accountCodiFis = Account::selectIdFromCodiceF($uid_spid->CODICE_FISCALE); if ($id_accountCodiFis['esito'] == 1) { $account = new Account($id_accountCodiFis['ID']); $account->INRESPONSETO = $inResponseTo; $account->AUTHNINSTANT = $AuthnInstant; $respAccount = $account->Save(); //echo "
CI ENTRO 3"; if ($respAccount['esito'] == 1) { $LoggedAccount = $account; $LoggedAccount->SchedaPersona = SchedaPersona::Load($uid_spid->CODICE_FISCALE); $jsonEncodeLogged = json_encode($LoggedAccount); $jsonDecodeLogged = json_decode($jsonEncodeLogged, true); $LoggedAccount->COGNOME = $jsonDecodeLogged['SchedaPersona']['cognome']; $LoggedAccount->NOME = $jsonDecodeLogged['SchedaPersona']['nome']; $LoggedAccount->CODICE_FISCALE = $uid_spid->CODICE_FISCALE; $LoggedAccount->SPID_MOBILE_PHONE = $mobilePhone; $LoggedAccount->SPID_EMAIL = $email; $LoggedAccount->SPID_TIPO_DOCUMENTO = $tipodocumento; $LoggedAccount->SPID_NUMERO_DOCUMENTO = $numerodocumento; $LoggedAccount->SPID_ENTE_RILASCIO = $enterilascio; $LoggedAccount->SPID_DATA_RILASCIO = $dataemissione; $LoggedAccount->SPID_DATA_SCADENZA = $datascadenza; $_SESSION['ID'] = $LoggedAccount->ID; $_SESSION['ControllaPeriodoPreparazione'] = $bando_setup->ControllaPeriodoPreparazione(); $_SESSION['ControllaPeriodoAttestati'] = $bando_setup->ControllaPeriodoAttestati(); $_SESSION['LoggedAccount'] = json_encode($LoggedAccount); $transaction = true; //echo "
CI ENTRO 4"; } } else { $account = new Account(); $account->CODICE_FISCALE = $codFisc; $account->INRESPONSETO = $inResponseTo; $account->AUTHNINSTANT = $AuthnInstant; $respAccount = $account->Save(); if ($respAccount['esito'] == 1) { $LoggedAccount = $account; $LoggedAccount->SchedaPersona = SchedaPersona::Load($account->CODICE_FISCALE); $jsonEncodeLogged = json_encode($LoggedAccount); $jsonDecodeLogged = json_decode($jsonEncodeLogged, true); $LoggedAccount->COGNOME = $jsonDecodeLogged['SchedaPersona']['cognome']; $LoggedAccount->NOME = $jsonDecodeLogged['SchedaPersona']['nome']; $LoggedAccount->CODICE_FISCALE = $uid_spid->CODICE_FISCALE; $LoggedAccount->SPID_MOBILE_PHONE = $mobilePhone; $LoggedAccount->SPID_EMAIL = $email; $LoggedAccount->SPID_TIPO_DOCUMENTO = $tipodocumento; $LoggedAccount->SPID_NUMERO_DOCUMENTO = $numerodocumento; $LoggedAccount->SPID_ENTE_RILASCIO = $enterilascio; $LoggedAccount->SPID_DATA_RILASCIO = $dataemissione; $LoggedAccount->SPID_DATA_SCADENZA = $datascadenza; $_SESSION['ID'] = $LoggedAccount->ID; $_SESSION['ControllaPeriodoPreparazione'] = $bando_setup->ControllaPeriodoPreparazione(); $_SESSION['ControllaPeriodoAttestati'] = $bando_setup->ControllaPeriodoAttestati(); $_SESSION['LoggedAccount'] = json_encode($LoggedAccount); $transaction = true; } } } else { $return['esito'] = -999; $return['erroreDescrizione'] = $resSpid['erroreDescrizione']; } if ($transaction) { $return['esito'] = 1; $return['custom'] = "quimettocustom"; $con->db_transactionCommit(); } else { $return['esito'] = -999; $return['erroreDescrizione'] = "Attenzione , riprovare o contattare il Personale Tecnico"; $con->db_transactionRollback(); } return($return); } public static function loginSpidDeroga($codice_fiscale = "", $mobilePhone = "", $email = "", $idCard = "", $inResponseTo = "", $AuthnInstant = 0) { global $con, $LoggedAccount, $bando_setup; $idCardArray = explode(" ", $idCard); $tipodocumento = $idCardArray[0]; $numerodocumento = $idCardArray[1]; /*BUG FIX TIMSPID*/ if(Utils::is_date($idCardArray[3])){ $enterilascio = $idCardArray[2]; $dataemissione = date("d-m-Y", strtotime($idCardArray[3])); $datascadenza = date("d-m-Y", strtotime($idCardArray[4])); }else{ $enterilascio = $idCardArray[2]. " ".$idCardArray[3]; $dataemissione = date("d-m-Y", strtotime($idCardArray[4])); $datascadenza = date("d-m-Y", strtotime($idCardArray[5])); } $return = array(); if(ATTIVA_CONTROLO_BANDO_LOGIN){ if (!$bando_setup->ControllaPeriodoDeroga() ) { $return['esito'] = -999; $return['erroreDescrizione'] = 'Il servizio non è attivo.'; return $return; } } $con->db_transactionStart(); $transaction = false; $codFisc = trim($codice_fiscale); $uid_spid = new UID_SPID(); $uid_spid->CODICE_FISCALE = $codFisc; $uid_spid->INRESPONSETO = $inResponseTo; $resSpid = $uid_spid->Save(); if ($resSpid['esito'] == 1) { $id_accountCodiFis = Account::selectIdFromCodiceF($uid_spid->CODICE_FISCALE); echo "selectIdFromCodiceF"; Utils::print_array($id_accountCodiFis);exit(); if ($id_accountCodiFis['esito'] == 1) { $account = new Account($id_accountCodiFis['ID']); $account->INRESPONSETO = $inResponseTo; $account->AUTHNINSTANT = $AuthnInstant; $respAccount = $account->Save(); if ($respAccount['esito'] == 1) { $verificaDeroga = FixFile::verificaDeroga($uid_spid->CODICE_FISCALE); echo "verificaDeroga"; Utils::print_array($verificaDeroga);exit(); if($verificaDeroga['esito'] == 1){ $LoggedAccount = $account; /*$LoggedAccount->SchedaPersona = SchedaPersona::Load($uid_spid->CODICE_FISCALE); $amerigo = json_encode($LoggedAccount); $stefano = json_decode($amerigo, true); $LoggedAccount->COGNOME = $stefano['SchedaPersona']['cognome']; $LoggedAccount->NOME = $stefano['SchedaPersona']['nome'];*/ $LoggedAccount->CODICE_FISCALE = $uid_spid->CODICE_FISCALE; $LoggedAccount->SPID_MOBILE_PHONE = $mobilePhone; $LoggedAccount->SPID_EMAIL = $email; $LoggedAccount->SPID_TIPO_DOCUMENTO = $tipodocumento; $LoggedAccount->SPID_NUMERO_DOCUMENTO = $numerodocumento; $LoggedAccount->SPID_ENTE_RILASCIO = $enterilascio; $LoggedAccount->SPID_DATA_RILASCIO = $dataemissione; $LoggedAccount->SPID_DATA_SCADENZA = $datascadenza; $_SESSION['ID'] = $LoggedAccount->ID; $_SESSION['ControllaPeriodoPreparazione'] = $bando_setup->ControllaPeriodoPreparazione(); $_SESSION['ControllaPeriodoClickDay'] = $bando_setup->ControllaPeriodoClickDay(); $_SESSION['ControllaPeriodoErogazione'] = $bando_setup->ControllaPeriodoErogazione(); $_SESSION['LoggedAccount'] = json_encode($LoggedAccount); $transaction = true; } else { $return['esito'] = -999; $return['erroreDescrizione'] = 'Accesso alle deroghe non consentito'; } } }else{ $return['esito'] = -999; $return['erroreDescrizione'] = 'Accesso non consentito'; } } else { $return['esito'] = -999; $return['erroreDescrizione'] = $resSpid['erroreDescrizione']; } if ($transaction) { $return['esito'] = 1; $return['custom'] = "quimettocustom"; $con->db_transactionCommit(); } else { $return['esito'] = -999; $return['erroreDescrizione'] = "Attenzione , riprovare o contattare il Personale Tecnico"; $con->db_transactionRollback(); } return($return); } public static function loginSpidClickDay($codice_fiscale = "", $mobilePhone = "", $email = "", $idCard = "", $inResponseTo = "", $AuthnInstant = 0) { global $con, $LoggedAccount, $bando_setup; $idCardArray = explode(" ", $idCard); $tipodocumento = $idCardArray[0]; $numerodocumento = $idCardArray[1]; /*BUG FIX TIMSPID*/ if(Utils::is_date($idCardArray[3])){ $enterilascio = $idCardArray[2]; $dataemissione = date("d-m-Y", strtotime($idCardArray[3])); $datascadenza = date("d-m-Y", strtotime($idCardArray[4])); }else{ $enterilascio = $idCardArray[2]. " ".$idCardArray[3]; $dataemissione = date("d-m-Y", strtotime($idCardArray[4])); $datascadenza = date("d-m-Y", strtotime($idCardArray[5])); } $return = array(); // if(ATTIVA_CONTROLO_BANDO_LOGIN){ // // if (!$bando_setup->ControllaPeriodoClickDay()) { // $return['esito'] = -999; // $return['erroreDescrizione'] = 'Il servizio non è attivo.'; // return $return; // } // // } //$con->db_transactionStart(); $transaction = false; $codFisc = trim($codice_fiscale); $resSpid['esito'] = 1; if ($resSpid['esito'] == 1) { //$id_accountCodiFis = Account::selectIdFromCodiceF($codFisc); $account = Account::loadObjFromCodiceF($codFisc); if ($account->ID > 0) { // $account = new Account($id_accountCodiFis['ID']); $account->INRESPONSETO = $inResponseTo; $account->AUTHNINSTANT = $AuthnInstant; //$respAccount = $account->Save(); $respAccount['esito'] = 1; if ($respAccount['esito'] == 1) { $LoggedAccount = $account; /*$LoggedAccount->SchedaPersona = SchedaPersona::Load($uid_spid->CODICE_FISCALE); $amerigo = json_encode($LoggedAccount); $stefano = json_decode($amerigo, true); $LoggedAccount->COGNOME = $stefano['SchedaPersona']['cognome']; $LoggedAccount->NOME = $stefano['SchedaPersona']['nome'];*/ $LoggedAccount->CODICE_FISCALE = $codFisc; $LoggedAccount->SPID_MOBILE_PHONE = $mobilePhone; $LoggedAccount->SPID_EMAIL = $email; $LoggedAccount->SPID_TIPO_DOCUMENTO = $tipodocumento; $LoggedAccount->SPID_NUMERO_DOCUMENTO = $numerodocumento; $LoggedAccount->SPID_ENTE_RILASCIO = $enterilascio; $LoggedAccount->SPID_DATA_RILASCIO = $dataemissione; $LoggedAccount->SPID_DATA_SCADENZA = $datascadenza; $_SESSION['ID'] = $LoggedAccount->ID; //$_SESSION['ControllaPeriodoPreparazione'] = $bando_setup->ControllaPeriodoPreparazione(); $_SESSION['ControllaPeriodoClickDay'] = $bando_setup->ControllaPeriodoClickDay(); //$_SESSION['ControllaPeriodoErogazione'] = $bando_setup->ControllaPeriodoErogazione(); $_SESSION['LoggedAccount'] = json_encode($LoggedAccount); $transaction = true; } } } else { $return['esito'] = -999; $return['erroreDescrizione'] = $resSpid['erroreDescrizione']; } if ($transaction) { $return['esito'] = 1; $return['custom'] = "quimettocustom"; //$con->db_transactionCommit(); } else { $return['esito'] = -999; $return['erroreDescrizione'] = "Accesso non consentito"; //$con->db_transactionRollback(); } return($return); } public static function loginSpidAttestati($codice_fiscale = "", $mobilePhone = "", $email = "", $idCard = "", $inResponseTo = "", $AuthnInstant = 0) { global $con, $LoggedAccount, $bando_setup; session_name('SICILIAPEIFE_BONUSICILIA'); session_start(); $idCardArray = explode(" ", $idCard); $tipodocumento = $idCardArray[0]; $numerodocumento = $idCardArray[1]; /*BUG FIX TIMSPID*/ if(Utils::is_date($idCardArray[3])){ $enterilascio = $idCardArray[2]; $dataemissione = date("d-m-Y", strtotime($idCardArray[3])); $datascadenza = date("d-m-Y", strtotime($idCardArray[4])); }else{ $enterilascio = $idCardArray[2]. " ".$idCardArray[3]; $dataemissione = date("d-m-Y", strtotime($idCardArray[4])); $datascadenza = date("d-m-Y", strtotime($idCardArray[5])); } $return = array(); if(ATTIVA_CONTROLO_BANDO_LOGIN){ if (!$bando_setup->ControllaPeriodoAttestati()) { $return['esito'] = -999; $return['erroreDescrizione'] = 'Il servizio non è attivo.'; return $return; } } //$con->db_transactionStart(); $transaction = false; $codFisc = trim($codice_fiscale); $resSpid['esito'] = 1; if ($resSpid['esito'] == 1) { //$id_accountCodiFis = Account::selectIdFromCodiceF($codFisc); $account = Account::loadObjFromCodiceF($codFisc); if ($account->ID > 0) { // $account = new Account($id_accountCodiFis['ID']); $account->INRESPONSETO = $inResponseTo; $account->AUTHNINSTANT = $AuthnInstant; //$respAccount = $account->Save(); $respAccount['esito'] = 1; if ($respAccount['esito'] == 1) { $LoggedAccount = $account; /*$LoggedAccount->SchedaPersona = SchedaPersona::Load($uid_spid->CODICE_FISCALE); $amerigo = json_encode($LoggedAccount); $stefano = json_decode($amerigo, true); $LoggedAccount->COGNOME = $stefano['SchedaPersona']['cognome']; $LoggedAccount->NOME = $stefano['SchedaPersona']['nome'];*/ $LoggedAccount->CODICE_FISCALE = $codFisc; $LoggedAccount->SPID_MOBILE_PHONE = $mobilePhone; $LoggedAccount->SPID_EMAIL = $email; $LoggedAccount->SPID_TIPO_DOCUMENTO = $tipodocumento; $LoggedAccount->SPID_NUMERO_DOCUMENTO = $numerodocumento; $LoggedAccount->SPID_ENTE_RILASCIO = $enterilascio; $LoggedAccount->SPID_DATA_RILASCIO = $dataemissione; $LoggedAccount->SPID_DATA_SCADENZA = $datascadenza; $_SESSION['ID'] = $LoggedAccount->ID; $_SESSION['ControllaPeriodoPreparazione'] = $bando_setup->ControllaPeriodoPreparazione(); $_SESSION['ControllaPeriodoAttestati'] = $bando_setup->ControllaPeriodoAttestati(); $_SESSION['LoggedAccount'] = json_encode($LoggedAccount); $transaction = true; } } } else { $return['esito'] = -999; $return['erroreDescrizione'] = $resSpid['erroreDescrizione']; } if ($transaction) { $return['esito'] = 1; $return['custom'] = "quimettocustom"; //$con->db_transactionCommit(); } else { $return['esito'] = -999; $return['erroreDescrizione'] = "Accesso non consentito"; //$con->db_transactionRollback(); } return($return); } public function Save() { global $con, $LoggedAccount; $vars = get_object_vars($this); unset($vars['SchedaPersona']); unset($vars['SPID_MOBILE_PHONE']); unset($vars['SPID_TIPO_DOCUMENTO']); unset($vars['SPID_ENTE_RILASCIO']); unset($vars['SPID_DATA_RILASCIO']); unset($vars['SPID_DATA_SCADENZA']); unset($vars['SPID_NUMERO_DOCUMENTO']); unset($vars['NOME']); unset($vars['COGNOME']); unset($vars['SPID_EMAIL']); //Utils::print_array($LoggedAccount);exit(); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars); $queryabi = $con->prepare($sql); //Utils::print_array($LoggedAccount);exit(); foreach ($vars as $k => $v) { if ($k == "ID" && $v == 0) continue; $queryabi->bindValue(":" . $k, $v); } try { $it = parent::_Save($queryabi); } catch (Exception $exc) { $it['descrizioneErrore'] = $exc->getMessage(); } // $it['sql']=$sql; return $it; } /** * Vorifico se è istaziato * @return type */ public function IsLogged() { Utils::checkLogin(); } public function Delete() { return parent::_Delete(self::TABLE_NAME, "id = " . $this->id); } /** * Elimina l'oggetto corrente dal database e restituisce TRUE se ha successo * * @return bool Risultato booleano dell'operazione */ public function LogicalDelete() { return parent::_LogicalDelete(self::TABLE_NAME, "id = " . $this->id); } /** * Funzione per la visualizzazione dei logs * @param type $record * @param type $campo */ public function Parse(&$record, $campo = "") { $props = get_class_vars(get_class($this)); switch ($campo) { default: array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); break; } } }