Initial Commit
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class App_Model_Resource_Abstract
|
||||
*/
|
||||
class App_Model_Resource_Abstract extends Zend_Db_Table_Abstract
|
||||
{
|
||||
|
||||
protected $_defaultOrder; // [obbligatorio]
|
||||
protected $_defaultTipoOrder; // [obbligatorio]
|
||||
protected $_defaultSelectColumns; // [opzionale]
|
||||
protected $_defaultJoinData; // [opzionale] può essere un array singolo o multiplo per applicare più join insieme
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
if(!$this->_defaultOrder){
|
||||
throw new App_Controller_Errors_WebServiceError("'_defaultOrder' non definito per la risorsa ". get_class($this));
|
||||
}
|
||||
|
||||
if(!$this->_defaultTipoOrder){
|
||||
throw new App_Controller_Errors_WebServiceError("'_defaultTipoOrder' non definito per la risorsa " . get_class($this));
|
||||
}
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
//Funzione che restituisce il nome della tabella
|
||||
public function getTableName()
|
||||
{
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
//Funzione che restituisce la chiave primaria sicura
|
||||
public function getPrimaryKey()
|
||||
{
|
||||
if (is_array($this->_primary)) return $this->_primary[1];
|
||||
return $this->_primary;
|
||||
}
|
||||
|
||||
//Funzione che restituisce il campo ordinamento di default
|
||||
public function getDefaultOrder()
|
||||
{
|
||||
if (isset($this->_defaultOrder) && $this->_defaultOrder) return $this->_defaultOrder;
|
||||
return $this->getPrimaryKey();
|
||||
}
|
||||
|
||||
//Funzione che restituisce il tipo di ordinamento di default
|
||||
public function getDefaultTipoOrder()
|
||||
{
|
||||
if (isset($this->_defaultTipoOrder) && $this->_defaultTipoOrder) return $this->_defaultTipoOrder;
|
||||
return "ASC";
|
||||
}
|
||||
|
||||
//Funzione che restituisce il tipo di select default
|
||||
public function getDefaultSelectColumns()
|
||||
{
|
||||
if (isset($this->_defaultSelectColumns) && $this->_defaultSelectColumns) return $this->_defaultSelectColumns;
|
||||
return "*";
|
||||
}
|
||||
|
||||
//Funzione che restituisce il campo joinData di default
|
||||
public function getDefaultJoinData()
|
||||
{
|
||||
if (isset($this->_defaultJoinData) && $this->_defaultJoinData) return $this->_defaultJoinData;
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getDefaultOrderString()
|
||||
{
|
||||
return $this->getDefaultOrder() . ' ' . $this->getDefaultTipoOrder();
|
||||
}
|
||||
|
||||
//--------------- FUNZIONI PER LA GESTIONE DI DATABASE MULTIPLI ------------------------------------------
|
||||
|
||||
public function _setDbName($nomedb)
|
||||
{
|
||||
$dbparam = $this->_db->getConfig();
|
||||
$dbparam['dbname'] = $nomedb;
|
||||
$this->_db = Zend_Db::factory('Pdo_Mysql', $dbparam);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Zend_Db_Adapter_Abstract
|
||||
*/
|
||||
public function getDbAdapter()
|
||||
{
|
||||
return $this->_db;
|
||||
}
|
||||
|
||||
public function setDBConnection($nomeDB)
|
||||
{
|
||||
$this->_db->query('USE ' . $nomeDB);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user