From 07f5140771388c9e0c8a99b0dd2e5d950bdb173b Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 14 Oct 2021 15:16:42 +1100 Subject: moving h-source subdir out. --- Application/Models/GenericModel.php | 103 ++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 Application/Models/GenericModel.php (limited to 'Application/Models/GenericModel.php') diff --git a/Application/Models/GenericModel.php b/Application/Models/GenericModel.php new file mode 100644 index 0000000..3a0f8fa --- /dev/null +++ b/Application/Models/GenericModel.php @@ -0,0 +1,103 @@ +. + +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','search_string'); + + $count = 0; + + foreach ($viewArgs as $field => $value) + { + if ($count < 5) + { + if (!in_array($field,$listArray)) + { + $value = call_user_func(getTranslationFunction($field),$value); + $html .= "
".$value."
\n"; + + $count++; + } + } + } + return $html; + } + +} \ No newline at end of file -- cgit v1.2.3