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 .= "
L'istituto di credito ";
}
if ($this->FILIALE_CREDITO == "") {
$controllValidita = false;
$dati_mancanti .= "
La filiale dell'istituto di credito ";
}
if ($this->IBAN == "") {
$controllValidita = false;
$dati_mancanti .= "
Il codice IBAN ";
}
if (!Utils::inizia_con($this->IBAN, 'IT') && SOLO_IBAN_ITALIANI) {
$controllValidita = false;
$dati_mancanti .= "
Si accettano solo IBAN di banche italiane";
}
if (strlen($this->IBAN) > LUNGHEZZA_IBAN) {
$controllValidita = false;
$dati_mancanti .= "
La lunghezza del codice IBAN deve essere di massimo (" . LUNGHEZZA_IBAN . ") caratteri ";
}
if (strlen($this->IBAN) < LUNGHEZZA_IBAN) {
$controllValidita = false;
$dati_mancanti .= "
La lunghezza del codice IBAN deve essere di minimo (" . LUNGHEZZA_IBAN . ") caratteri ";
}
if (isset($_POST['RIPETI_IBAN']) && ($_POST['RIPETI_IBAN'] == "" || ($_POST['RIPETI_IBAN'] != $this->IBAN))) {
$controllValidita = false;
$dati_mancanti .= "
Campo Iban errato o non corrispondente";
}
if (SOLO_IBAN_ITALIANI && !Utils::checkIban($this->IBAN)) {
$controllValidita = false;
$dati_mancanti .= "
Il codice IBAN non รจ valido";
}
$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 "
:" . $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));
}
}