. 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] = getTranslationFunction($name); } } //get the HTML of the popup labels public function getPopupLabel($viewArgs) { $html = null; $listArray = array('page','history_page'); $count = 0; foreach ($viewArgs as $field => $value) { if ($count < 5) { if (!in_array($field,$listArray)) { $value = getTranslationFunction($field) !== 'gtext' ? gtext(call_user_func(getTranslationFunction($field),$value)) : gtext($value); $html .= "
".$value."
\n"; $count++; } } } return $html; } }