. if (!defined('EG')) die('Direct access not allowed!'); class GenericModel extends Model_Tree { public $type = ''; //device type public $diffFields = array(); public $fieldsWithBreaks = array(); public function __construct() { $this->_tables = 'hardware'; $this->_idFields = 'id_hard'; $this->_where=array( 'type' => 'hardware', 'vendor' => 'hardware', 'compatibility' => 'hardware', 'comm_year' => 'hardware', ); $this->orderBy = 'hardware.id_hard desc'; parent::__construct(); } public function checkType($id_hard = 0) { $clean['id_hard'] = (int)$id_hard; $res = $this->db->select('hardware','type','id_hard='.$clean['id_hard']); if (count($res) > 0) { return (strcmp($this->type,$res[0]['hardware']['type']) === 0 ) ? true : false; } return false; } public function getDiffArray($oldArray, $newArray) { return getDiffArray($this->diffFields, $oldArray, $newArray); } //create the $_popupWhere property public function createPopupWhere($list) { $listArray = explode(',',$list); foreach ($listArray as $field) { $this->_popupWhere[$field] = 'type="'.$this->type.'" and deleted="no" and cleared="no"'; } } //set the fuction to be applied upon each popup name public function setPopupFunctions() { foreach ($this->_popupItemNames as $name => $field) { $this->_popupFunctions[$name] = $this->getTranslationFunction($name); } } public function getPopupLabel($viewArgs) { $html = null; foreach ($viewArgs as $field => $value) { $html .= "
$value
\n"; } return $html; } //get the translation function public function getTranslationFunction($fieldName) { $fieldsFunc = array( "vendor" => "betterVendor", "interface" => "translate", ); if (array_key_exists($fieldName,$fieldsFunc)) { return $fieldsFunc[$fieldName]; } return "gtext"; } }