Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
209 righe
6.7 KiB
209 righe
6.7 KiB
<?php |
|
|
|
require_once ROOT . "lib/classes/IDataClass.php"; |
|
|
|
class DomandaIban extends DataClass { |
|
const TABLE_NAME = "DOMANDA_IBAN"; |
|
const SEQ_NAME = "DOMANDA_IBAN_ID_SEQ"; |
|
|
|
public $ID = 0; |
|
public $ID_DOMANDA = 0; |
|
public $IBAN = ''; |
|
public $ISTITUTO_CREDITO = ''; |
|
public $FILIALE_CREDITO = ''; |
|
public $DATA_INSERIMENTO = null; |
|
public $CANCELLATO = 0; |
|
public $USER_INSERIMENTO = 0; |
|
|
|
|
|
public function __construct($src = null) { |
|
global $con; |
|
if ($src == null) { |
|
return; |
|
} |
|
if (is_array($src)) { |
|
if (isset($src['ID']) && $src['ID'] > 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 DATA_INSERIMENTO DESC "; |
|
$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; |
|
|
|
$_POST['ISTITUTO_CREDITO'] = Utils::get_filter_string_POST('ISTITUTO_CREDITO'); |
|
$_POST['FILIALE_CREDITO'] = Utils::get_filter_string_POST('FILIALE_CREDITO'); |
|
$_POST['IBAN'] = Utils::get_filter_string_POST('IBAN'); |
|
$_POST['RIPETI_IBAN'] = Utils::get_filter_string_POST('RIPETI_IBAN'); |
|
|
|
|
|
} |
|
|
|
public function checkDatiPreSave() |
|
{ |
|
global $LoggedAccount; |
|
$response = array(); |
|
|
|
$controllValidita = true; |
|
$dati_mancanti = ''; |
|
|
|
if ($this->ISTITUTO_CREDITO == "") { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>L'istituto di credito</b> "; |
|
} |
|
if ($this->FILIALE_CREDITO == "") { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>La filiale dell'istituto di credito</b> "; |
|
} |
|
if ($this->IBAN == "") { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>Il codice IBAN</b> "; |
|
} |
|
|
|
if (!Utils::inizia_con($this->IBAN, 'IT') && SOLO_IBAN_ITALIANI) { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>Si accettano solo IBAN di banche italiane</b>"; |
|
} |
|
|
|
if (strlen($this->IBAN) > LUNGHEZZA_IBAN) { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>La lunghezza del codice IBAN deve essere di massimo (" . LUNGHEZZA_IBAN . ") caratteri</b> "; |
|
} |
|
if (strlen($this->IBAN) < LUNGHEZZA_IBAN) { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>La lunghezza del codice IBAN deve essere di minimo (" . LUNGHEZZA_IBAN . ") caratteri</b> "; |
|
} |
|
|
|
if (isset($_POST['RIPETI_IBAN']) && ($_POST['RIPETI_IBAN'] == "" || ($_POST['RIPETI_IBAN'] != $this->IBAN))) { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>Campo Iban errato o non corrispondente</b>"; |
|
} |
|
|
|
if (SOLO_IBAN_ITALIANI && !Utils::checkIban($this->IBAN)) { |
|
$controllValidita = false; |
|
$dati_mancanti .= " <br><b>Il codice IBAN non è valido</b>"; |
|
} |
|
|
|
|
|
|
|
$response['checkDati'] = $controllValidita; |
|
$response['txt_dati_mancanti'] = $dati_mancanti; |
|
|
|
return $response; |
|
} |
|
|
|
/** |
|
* @return array |
|
*/ |
|
public function SaveCronologia() { |
|
global $con, $LoggedAccount; |
|
$response = Utils::initDefaultResponse(); |
|
$domanda = Domanda::loadDomandaFromAccount(); |
|
$sql = "UPDATE " . self::TABLE_NAME . " SET CANCELLATO = 1 WHERE ID_DOMANDA = :id_domanda "; |
|
if($domanda->ID > 0){ |
|
$queryabi = $con->prepare($sql); |
|
$queryabi->bindValue(":ID_DOMANDA" , $domanda->ID); |
|
if ($queryabi->execute()) { |
|
try { |
|
$response['esito'] = 1; |
|
} catch (Exception $exc) { |
|
$response['erroreDescrizione'] = $exc->getMessage(); |
|
} |
|
} |
|
} |
|
|
|
return $response; |
|
} |
|
|
|
|
|
public function Save() { |
|
global $con, $LoggedAccount; |
|
$vars = get_object_vars($this); |
|
unset($vars['DATA_INSERIMENTO']); |
|
$domanda = Domanda::loadDomandaFromAccount(); |
|
$vars['ID_DOMANDA'] = $domanda->ID; |
|
$vars['USER_INSERIMENTO'] = $LoggedAccount->CODICE_FISCALE; |
|
$sql = Utils::prepareQuery(self::TABLE_NAME, $vars); |
|
//echo $sql; |
|
$queryabi = $con->prepare($sql); |
|
foreach ($vars as $k => $v) { |
|
if ($k == "ID" && $v == 0){ |
|
continue; |
|
} |
|
// echo "<br>:" . $k. " => ". $v; |
|
$queryabi->bindValue(":" . $k, $v); |
|
} |
|
try { |
|
$it = parent::_Save($queryabi); |
|
} catch (Exception $exc) { |
|
$it['erroreDescrizione'] = $exc->getMessage(); |
|
} |
|
return $it; |
|
} |
|
|
|
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)); |
|
} |
|
|
|
} |