_loadAndFillObject($src['CODICE_FISCALE'], self::TABLE_NAME, $src, null, "CODICE_FISCALE"); } else { $this->_loadByRow($src, $stripSlashes); } } elseif ($src) { $this->_loadById($src, self::TABLE_NAME, true, null, "CODICE_FISCALE"); } //$this->getPriorityColumn(); } /** * Save */ public function Save() { global $con, $LoggedAccount; $response = array(); $this->DATA_MODIFICA = date(FORMAT_TIMESTAMP_ORACLE); $vars = get_object_vars($this); unset($vars['FLAG']); unset($vars['STUDENTE']); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars, "ID"); $queryabi = $con->prepare($sql); foreach ($vars as $k => $v) { if ($k == "ID" && empty($v)){ continue; } $queryabi->bindValue(":" . $k, $v); } try { $response = parent::_Save($queryabi); } catch (Exception $exc) { $response['erroreDescrizione'] = $exc->getMessage(); } return $response; } /** * Funzione per il load dei dati per DataTable * * @return array Risultato booleano dell'operazione */ 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); } /** * Elimina l'oggetto corrente, in modo logico, dal database e restituisce TRUE se ha successo * * @return bool Risultato booleano dell'operazione */ public function Delete() { 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 = "") { array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); } /** * Funzione per il controllo se i dati SPID presenti nel LoggedAccount (ricevuti da SPID) sono uguali a quelli che vengono salvati per evitare manimissioni */ public static function verificaDatiSPID($input = array()) { global $LoggedAccount; $response = false; if ( !empty($input) && isset($input['CODICE_FISCALE']) && $LoggedAccount->CODICE_FISCALE == $input['CODICE_FISCALE'] && isset($input['DATA_NASCITA']) && $LoggedAccount->Anagrafica->DATA_NASCITA == $input['DATA_NASCITA'] && isset($input['NOME']) && $LoggedAccount->Anagrafica->NOME == $input['NOME'] && isset($input['COGNOME']) && $LoggedAccount->Anagrafica->COGNOME == $input['COGNOME'] // isset($input['SPID_CELLULARE']) && $LoggedAccount->Anagrafica->SPID_CELLULARE == $input['SPID_CELLULARE'] && // isset($input['SPID_EMAIL']) && $LoggedAccount->Anagrafica->SPID_EMAIL == $input['SPID_EMAIL'] && // isset($input['SPID_DOCUMENTO']) && $LoggedAccount->Anagrafica->SPID_DOCUMENTO == $input['SPID_DOCUMENTO'] && // isset($input['SPID_DOCUMENTO_SCADENZA']) && $LoggedAccount->Anagrafica->SPID_DOCUMENTO_SCADENZA == $input['SPID_DOCUMENTO_SCADENZA'] && // isset($input['SPID_DOCUMENTO_RILASCIO']) && $LoggedAccount->Anagrafica->SPID_DOCUMENTO_RILASCIO == $input['SPID_DOCUMENTO_RILASCIO'] && // isset($input['SPID_TIPO_DOCUMENTO']) && $LoggedAccount->Anagrafica->SPID_TIPO_DOCUMENTO == $input['SPID_TIPO_DOCUMENTO'] && // isset($input['SPID_DOCUMENTO_ENTE']) && $LoggedAccount->Anagrafica->SPID_DOCUMENTO_ENTE == $input['SPID_DOCUMENTO_ENTE'] ) { $response = true; } return $response; } public function checkValidazioneCodiceFiscale($codiceFiscale = ''){ if($this->FORZATURA_CODICE_FISCALE == 0){ $cf = new CodiceFiscale(); $data = Date::FormatDate($this->DATA_NASCITA); $codice = $cf->calcola($this->NOME, $this->COGNOME, $data, $this->SESSO, $this->COMUNE_NASCITA, $this->PROV_NASCITA); if($codiceFiscale != $codice || $codiceFiscale == ''){ return false; } } return true; } }