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.
142 righe
4.7 KiB
142 righe
4.7 KiB
<?php |
|
|
|
require_once ROOT . "/lib/classes/IDataClass.php"; |
|
|
|
class AnagraficaCompagnie extends DataClass { |
|
const TABLE_NAME = "ANAG_COMPAGNIE"; |
|
const SEQ_NAME = "ANAG_COMPAGNIE_SEQ"; |
|
|
|
public $ID = 0; |
|
public $NOME = ''; |
|
public $ADESIONE = 0; |
|
public $DATA_ADESIONE = null; |
|
|
|
public function __construct($src = null) { |
|
global $con; |
|
if ($src == null) { |
|
return; |
|
} |
|
$stripSlashes = false; |
|
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); |
|
} |
|
|
|
public static function LoadDataTableFromAeroporto($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0, $totCount = false) { |
|
$select = " A.* "; |
|
$sql = AeroportiCompagnie::TABLE_NAME . " D " |
|
. "INNER JOIN " . AnagraficaCompagnie::TABLE_NAME . " A ON A.ID = D.COMPAGNIA "; |
|
return parent::_loadDataTableEx($select, $sql, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); |
|
} |
|
|
|
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['descrizioneErrore'] = $exc->getMessage(); |
|
} |
|
return $it; |
|
} |
|
|
|
public function Delete() { |
|
return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID); |
|
} |
|
|
|
|
|
public static function autocomplete($string = '', $andata = null, $ritorno = null) { |
|
global $con; |
|
$return = array(); |
|
|
|
$filter = ''; |
|
$searchFix = ''; |
|
if (!empty($andata) && !empty($ritorno)) { |
|
$filter = " (AEROPORTO = :andata OR AEROPORTO = :ritorno) AND "; |
|
}else{ |
|
return $return; |
|
} |
|
$string = "%" . strtolower($string) . "%"; |
|
$sql = "SELECT A.* FROM " . self::TABLE_NAME . " A INNER JOIN ".AeroportiCompagnie::TABLE_NAME." B ON B.COMPAGNIA = A.ID WHERE " . $filter . " LOWER(A.NOME) LIKE :term ".$searchFix." ORDER BY A.NOME"; |
|
|
|
$query = $con->prepare($sql); |
|
if (!empty($andata) && !empty($ritorno)) { |
|
$query->bindParam(":andata", $andata); |
|
$query->bindParam(":ritorno", $ritorno); |
|
} |
|
$query->bindParam(":term", $string); |
|
try { |
|
$query->execute(); |
|
while ($it = $query->fetch(PDO::FETCH_ASSOC)) { |
|
$descrizione = $it['NOME']; |
|
$row['id'] = $descrizione; |
|
$row['text'] = $descrizione; |
|
$row['label'] = $descrizione; |
|
$row['codice'] = $it['ID']; |
|
array_push($return, $row); |
|
} |
|
} catch (Exception $exc) { |
|
echo $exc->getMessage(); |
|
} |
|
|
|
return $return; |
|
} |
|
|
|
public static function ListCompagnie() { |
|
global $con; |
|
$filter = ''; |
|
$sql = "SELECT * FROM " . self::TABLE_NAME. ' order by NOME asc'; |
|
$query = $con->prepare($sql); |
|
$return = array(); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
return $return; |
|
} |
|
|
|
|
|
public function Parse(&$record, $campo = "") { |
|
array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); |
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|