0) { $this->_loadAndFillObject($src['ID'], self::TABLE_NAME, $src); } else { $this->_loadByRow($src, $stripSlashes); } } elseif (intval($src)) { $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :id"; $query = $con->prepare($sql); $query->bindParam(":id", $src); try { $query->execute(); $it = $query->fetchAll(PDO::FETCH_ASSOC); Utils::FillObjectFromRow($this, $it[0]); } catch (Exception $exc) { $exc->getMessage(); } } } /** * * @param type $filter * @return type */ public static function Count($filter = null) { return parent::_count(self::TABLE_NAME, $filter); } 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); } /** * * @global type $con * @global type $LoggedAccount * @param type $id_domanda * @return type array */ public static function load($id_domanda = 0) { global $con, $LoggedAccount; $rows = array(); if (intval($id_domanda) > 0) { $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID_DOMANDA=:id_domanda ORDER BY ID_DOMANDA ASC "; $query = $con->prepare($sql); $query->bindParam(":id_domanda", $id_domanda); try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $rows; } public static function checkVerificaDatiPreSalvataggio() { global $LoggedAccount; $domanda = Domanda::loadDomandaFromAccount(); $_POST['ID'] = intval(Utils::get_filter_int_POST('ID')); $_POST['ID_DOMANDA'] = $domanda->ID; $_POST['COMUNE'] = Utils::get_filter_string_POST('COMUNE'); $_POST['PROVINCIA'] = Utils::get_filter_string_POST('PROVINCIA'); $_POST['INDIRIZZO'] = Utils::get_filter_string_POST('INDIRIZZO'); $_POST['CIVICO'] = Utils::get_filter_string_POST('CIVICO'); $_POST['SCALA'] = Utils::get_filter_string_POST('SCALA'); $_POST['PIANO'] = Utils::get_filter_string_POST('PIANO'); $_POST['CONTRATTO_DAL'] = Utils::get_filter_string_POST('CONTRATTO_DAL'); $_POST['CONTRATTO_AL'] = Utils::get_filter_string_POST('CONTRATTO_AL'); $_POST['CANONE_ANNUO'] = Utils::get_filter_string_POST('CANONE_ANNUO'); $_POST['IMMOBILE_F23'] = Utils::get_filter_string_POST('IMMOBILE_F23'); $_POST['SFRATTO_ESECUTIVO'] = Utils::get_filter_string_POST('SFRATTO_ESECUTIVO'); $_POST['SFRATTO_ESECUTIVO'] = (strtolower($_POST['SFRATTO_ESECUTIVO']) == 'on' ? 1 : 0); if (isset($_POST['SFRATTO_ESECUTIVO_NUMERO'])) { $_POST['SFRATTO_ESECUTIVO_NUMERO'] = Utils::get_filter_string_POST('SFRATTO_ESECUTIVO_NUMERO'); }else{ $_POST['SFRATTO_ESECUTIVO_NUMERO'] = ""; } if (isset($_POST['SFRATTO_ESECUTIVO_DATA'])) { $_POST['SFRATTO_ESECUTIVO_DATA'] = Utils::get_filter_string_POST('SFRATTO_ESECUTIVO_DATA'); } else { $_POST['SFRATTO_ESECUTIVO_DATA'] = ""; } $_POST['COMUNE_AE'] = Utils::get_filter_string_POST('COMUNE_AE'); $_POST['PROVINCIA_AE'] = Utils::get_filter_string_POST('PROVINCIA_AE'); $_POST['DATA_AE'] = Utils::get_filter_string_POST('DATA_AE'); $_POST['NUMERO_AE'] = Utils::get_filter_string_POST('NUMERO_AE'); $_POST['SERIE_AE'] = Utils::get_filter_string_POST('SERIE_AE'); $_POST['IMMOBILE_PROPRIETARIO'] = Utils::get_filter_string_POST('IMMOBILE_PROPRIETARIO'); $_POST['IMMOBILE_CF'] = Utils::get_filter_string_POST('IMMOBILE_CF'); $_POST['IMMOBILE_NCEU'] = Utils::get_filter_string_POST('IMMOBILE_NCEU'); $_POST['IMMOBILE_FOGLIO'] = Utils::get_filter_string_POST('IMMOBILE_FOGLIO'); $_POST['IMMOBILE_PARTICELLA'] = Utils::get_filter_string_POST('IMMOBILE_PARTICELLA'); $_POST['IMMOBILE_SUBALTERNO'] = Utils::get_filter_string_POST('IMMOBILE_SUBALTERNO'); $_POST['CONIUGI_SEPARATI'] = Utils::get_filter_string_POST('CONIUGI_SEPARATI'); $_POST['CONIUGI_SEPARATI'] = (strtolower($_POST['CONIUGI_SEPARATI']) == 'on' ? 1 : 0); $_POST['CONTRATTO_CF'] = Utils::get_filter_string_POST('CONTRATTO_CF'); } public function checkDatiPreSave() { global $LoggedAccount; $response = array(); $controllValidita = true; $dati_mancanti = ''; if (trim($this->COMUNE) == '') { $controllValidita = false; $dati_mancanti .= "
Il comune dell'appartamento
"; } if (trim($this->PROVINCIA) == '') { $controllValidita = false; $dati_mancanti .= "
La provincia dell'appartamento
"; } if (trim($this->INDIRIZZO) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo indirizzo
"; } if (trim($this->CONTRATTO_DAL) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo data decorrenza del contratto
"; } if (trim($this->CONTRATTO_AL) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo data termine del contratto
"; } if (floatval($this->CANONE_ANNUO) <= 0) { $controllValidita = false; $dati_mancanti .= "
Il campo canone annuo deve essere maggiore di zero
"; } if (trim($this->COMUNE_AE) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo del comune dell'Agenzia delle entrate
"; } if (trim($this->PROVINCIA_AE) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo dell provincia dell'Agenzia delle entrate
"; } if (trim($this->DATA_AE) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo data di registrazione del contratto
"; } if (trim($this->DATA_AE) != '') { $checkAE = Date::checkSaveDate($this->DATA_AE, "", "", true); if ($checkAE['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Controllo data A.E.: " . $checkAE['erroreDescrizione'] . "
"; } } if (trim($this->NUMERO_AE) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo numero di registrazione del contratto
"; } if (trim($this->SERIE_AE) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo serie di registrazione del contratto
"; } if (trim($this->IMMOBILE_PROPRIETARIO) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo proprietario dell'immobile
"; } if (trim($this->IMMOBILE_CF) == '' || (strlen(trim($this->IMMOBILE_CF)) != MIN_IMMOBILE_CF && strlen(trim($this->IMMOBILE_CF)) != MAX_IMMOBILE_CF )) { $controllValidita = false; $dati_mancanti .= "
Il campo codice fiscale del proprietario dell'immobile
"; } if (CONTROLLO_FORMATTAZIONE_CF && strlen(trim($this->IMMOBILE_CF)) == MAX_IMMOBILE_CF && !Utils::ControlloCodiceFiscale(trim($this->IMMOBILE_CF))) { $controllValidita = false; $dati_mancanti .= "
Codice fiscale del proprietario dell'immobile non valido
"; } if (trim($this->IMMOBILE_CF) == $LoggedAccount->CODICE_FISCALE) { $controllValidita = false; $dati_mancanti .= "
Il codice fiscale dell'intestatario del contratto è lo stesso dell'utente che sta presentando la domanda
"; } if (trim($this->IMMOBILE_NCEU) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Comune NCEU dell'immobile
"; } if (trim($this->IMMOBILE_FOGLIO) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Foglio dell'immobile
"; } if (trim($this->IMMOBILE_PARTICELLA) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Particella dell'immobile
"; } if (trim($this->IMMOBILE_SUBALTERNO) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Subalterno dell'immobile
"; } if (intval($this->SFRATTO_ESECUTIVO) == 1 && trim($this->SFRATTO_ESECUTIVO_NUMERO) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Numero sentenza
"; } if (intval($this->SFRATTO_ESECUTIVO) == 1 && trim($this->SFRATTO_ESECUTIVO_DATA) == '') { $controllValidita = false; $dati_mancanti .= "
Il campo Data sentenza
"; } $checkContratto = Date::checkSaveDate($this->CONTRATTO_DAL, $this->CONTRATTO_AL); if ($checkContratto['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Controllo date contratto: " . $checkContratto['erroreDescrizione'] . "
"; } if (trim($this->CONTRATTO_CF) == '' || strlen(trim($this->CONTRATTO_CF)) < MIN_CF || strlen(trim($this->CONTRATTO_CF)) > MAX_CF ) { $controllValidita = false; $dati_mancanti .= "
Il campo codice fiscale dell'intestatario del contratto
"; } if (CONTROLLO_FORMATTAZIONE_CF && !Utils::ControlloCodiceFiscale(trim($this->CONTRATTO_CF))) { $controllValidita = false; $dati_mancanti .= "
Codice fiscale dell'intestatario del contratto non valido
"; } if (trim($this->CONTRATTO_CF) != $LoggedAccount->CODICE_FISCALE) { $controllValidita = false; $dati_mancanti .= "
Il codice fiscale dell'intestatario del contratto è diverso del codice fiscale dell'utente che sta presentando la domanda
"; } $this->CANONE_ANNUO= str_replace(",", ".", $this->CANONE_ANNUO); /* $checkAE1 = Date::checkSaveDate($this->CONTRATTO_DAL, $this->DATA_AE); if ($checkAE1['esito'] != 1) { $controllValidita = false; if ($checkAE1['errorePersonalizzato'] == 1) { $dati_mancanti .= "Data decorrenza contratto dal ".date("d/m/Y", strtotime($this->CONTRATTO_DAL)).", Data registrazione A.E. ".date("d/m/Y", strtotime($this->DATA_AE))."
"; } else { $dati_mancanti .= "Controllo date A.E. 1: " . $checkAE1['erroreDescrizione'] . "
"; } } $checkAE2 = Date::checkSaveDate($this->DATA_AE, $this->CONTRATTO_AL); if ($checkAE2['esito'] != 1) { $controllValidita = false; if($checkAE2['errorePersonalizzato']==1){ $dati_mancanti .= "Data registrazione A.E. ".date("d/m/Y", strtotime($this->DATA_AE)).", data fine contratto locazione. ".date("d/m/Y", strtotime($this->CONTRATTO_AL))."
"; }else{ $dati_mancanti .= "Controllo date A.E. 2: " . $checkAE2['erroreDescrizione'] . "
"; } } */ if (trim($this->SFRATTO_ESECUTIVO_DATA) != "") { $checkSfratto = Date::checkSaveDate($this->CONTRATTO_DAL, $this->SFRATTO_ESECUTIVO_DATA); if ($checkSfratto['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Controllo data sfratto: " . $checkSfratto['erroreDescrizione'] . "
"; } } if ($this->CONIUGI_SEPARATI == 0) { $fileDelete = new Allegati(); $resF = $fileDelete->DeleteDocumentiBando($this->ID_DOMANDA, ID_FILE_CONIUGI_SEPARATI); if ($resF['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Allegato coniugi separati: " . $resF['erroreDescrizione'] . "
"; } } if ($this->IMMOBILE_F23 == 1) { $fileDelete = new Allegati(); $resF = $fileDelete->DeleteDocumentiBando($this->ID_DOMANDA, ID_FILE_IMMOBILE_F23); if ($resF['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Allegato modulo f23: " . $resF['erroreDescrizione'] . "
"; } } $this->CONTRATTO_DAL = Date::dateOracleDate($this->CONTRATTO_DAL, 'd-M-y'); $this->CONTRATTO_AL = Date::dateOracleDate($this->CONTRATTO_AL, 'd-M-y'); $this->DATA_AE = Date::dateOracleDate($this->DATA_AE, 'd-M-y'); $this->SFRATTO_ESECUTIVO_DATA = (trim($this->SFRATTO_ESECUTIVO_DATA) != "" ? Date::dateOracleDate($this->SFRATTO_ESECUTIVO_DATA, 'd-M-y') : null); $response['checkDati'] = $controllValidita; $response['txt_dati_mancanti'] = $dati_mancanti; return $response; } public function isErasable() { global $LoggedAccount; $response = false; $domanda = Domanda::loadDomandaFromAccount(); if ($this->ID_DOMANDA == $domanda->ID) { $response = true; } return $response; } /** * * @global type $con * @global type $LoggedAccount * @return type */ public function Save() { global $con, $LoggedAccount; $vars = get_object_vars($this); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars); $queryabi = $con->prepare($sql); foreach ($vars as $k => $v) { if ($k == "ID" && $v == 0) { continue; } $queryabi->bindValue(":" . $k, $v); } try { $it = parent::_Save($queryabi); } catch (Exception $exc) { $it['erroreDescrizione'] = $exc->getMessage(); } return $it; } public function Delete() { return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID); } public function DeleteAll() { return parent::_Delete(self::TABLE_NAME, "ID_DOMANDA = " . $this->ID_DOMANDA); } public function Parse(&$record, $campo = "") { array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); } public function VerificaSlotTemporale() { global $con; $response = Utils::initDefaultResponse(); $response['erroreDescrizione'] = 'Il periodo di contratto inserito si sovrappone con altri periodi già inseriti'; $from = new DateTime(MIN_DATA_CONTRIBUTO); $to = new DateTime(MAX_DATA_CONTRIBUTO); if ($this->SFRATTO_ESECUTIVO == 1 && !empty($this->SFRATTO_ESECUTIVO_DATA)) { $d_sfratto = new DateTime($this->SFRATTO_ESECUTIVO_DATA); $d_al = new DateTime($this->CONTRATTO_AL); $out = ($d_sfratto < $d_al ? $d_sfratto : $d_al); } else { $out = new DateTime($this->CONTRATTO_AL); } $in = new DateTime($this->CONTRATTO_DAL); if ($in <= $to && $from <= $out) { $sql = "SELECT " . self::FNZ_SLOTCONTRATTI . "('" . $this->ID . "','" . $this->ID_DOMANDA . "', '" . $this->CONTRATTO_DAL . "', '" . $out->format('d-M-y') . "') AS COUNT FROM DUAL"; $query = $con->prepare($sql); try { $query->execute(); $res = $query->fetch(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } if (intval($res['COUNT']) <= 0) { $response['esito'] = 1; } } else { $response['esito'] = -999; $response['erroreDescrizione'] = "Le date del contratto devono ricadere nel periodo richiesto dal bando"; } return $response; } }