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.
 
 
 

116 righe
3.7 KiB

<?php
require_once ROOT . "/lib/classes/IDataClass.php";
class Impersonificazione extends DataClass {
const TABLE_NAME = "IMPERSONIFICAZIONE";
const SEQ_NAME = "IMPERSONIFICAZIONE_ID_SEQ";
public $ID = 0;
public $UID_FIREBASE_ADMIN = null;
public $CODICE_FISCALE = null;
public $USED = 0;
public function __construct($src = null) {
global $con;
if ($src == null) {
return;
}
$stripSlashes = 0;
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();
}
}
}
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, $totCount = false) {
return parent::_loadDataTable(self::TABLE_NAME, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset, $totCount);
}
/**
* Funzione di verifica dei dati POST prima del salvataggio
*/
public static function checkVerificaDatiPreSalvataggio() {
global $LoggedAccount;
$_POST['CODICE_FISCALE'] = Utils::get_filter_string_POST('CODICE_FISCALE');
}
public function checkDatiPreSave() {
global $LoggedAccount;
$response = array();
$controllValidita = true;
$dati_mancanti = '';
if ($this->UID_FIREBASE_ADMIN == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>GUID</b> ";
}
if ($this->CODICE_FISCALE == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Codice Fiscale dell'utente da impersonificare</b> ";
}
$response['checkDati'] = $controllValidita;
$response['txt_dati_mancanti'] = $dati_mancanti;
return $response;
}
public function Save() {
global $con, $LoggedAccount;
$vars = get_object_vars($this);
// unset($vars["DATA_RICHIESTA"]);
$sql = Utils::prepareQuery(self::TABLE_NAME, $vars);
/* Utils::print_array($sql);
Utils::print_array($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);
if (trim($it['erroreCode']) == 'HY000') {
$it['erroreDescrizione'] = '<b>Richiesta già inserita!</b><br/> Non è possibile inviare una richiesta di integrazione per la stessa domanda di sconto.';
}
} catch (Exception $exc) {
$it['erroreDescrizione'] = $exc->getMessage();
}
return $it;
}
public function Delete() {
return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID);
}
public function Parse(&$record, $campo = "") {
array_push($record, array("Campo" => $campo, "Valore" => $this->$campo));
}
}