Id */ public function getId() { return $this->get('id'); } /** * Function to get Name of this record instance * @return Name */ public function getName() { return ''; } /** * Function to get module of this record instance * @return $moduleModel */ public function getModule() { return $this->module; } /** * Function to set module instance to this record instance * @param $moduleModel * @return this record */ public function setModule($moduleModel) { $this->module = $moduleModel; return $this; } /** * Function to get Edit view url * @return Url */ public function getEditViewUrl() { $moduleModel = $this->getModule(); return 'index.php?module='.$moduleModel->getName().'&parent='.$moduleModel->getParentName().'&view=Edit&record='.$this->getId(); } /** * Function to get Delete url * @return Url */ public function getDeleteUrl() { $moduleModel = $this->getModule(); return 'index.php?module='.$moduleModel->getName().'&parent='.$moduleModel->getParentName().'&action=Delete&record='.$this->getId(); } /** * Function to get record links * @return list of link models */ public function getRecordLinks() { $links = array(); $recordLinks = array( array( 'linktype' => 'LISTVIEWRECORD', 'linklabel' => 'LBL_EDIT', 'linkurl' => "javascript:Settings_SMSNotifier_List_Js.triggerEdit(event, '".$this->getEditViewUrl()."');", 'linkicon' => 'icon-pencil' ), array( 'linktype' => 'LISTVIEWRECORD', 'linklabel' => 'LBL_DELETE', 'linkurl' => "javascript:Settings_SMSNotifier_List_Js.triggerDelete(event, '".$this->getDeleteUrl()."');", 'linkicon' => 'icon-trash' ) ); foreach($recordLinks as $recordLink) { $links[] = Vtiger_Link_Model::getInstanceFromValues($recordLink); } return $links; } /** * Function to getDisplay value of every field * @param field name * @return field value */ public function getDisplayValue($key) { $value = $this->get($key); if ($key === 'isactive') { if ($value) { $value = 'Yes'; } else { $value = 'No'; } } return $value; } /** * Function to get Editable fields for this instance * @return field models list */ public function getEditableFields() { $editableFieldsList = $this->getModule()->getEditableFields(); return $editableFieldsList; } /** * Function to save the record */ public function save() { $db = PearDatabase::getInstance(); $params = array($this->get('providertype'), $this->get('isactive'), $this->get('username'), $this->get('password'), $this->get('parameters')); $id = $this->getId(); if ($id) { $query = 'UPDATE vtiger_smsnotifier_servers SET providertype = ?, isactive = ?, username = ?, password = ?, parameters = ? WHERE id = ?'; array_push($params, $id); } else { $query = 'INSERT INTO vtiger_smsnotifier_servers(providertype, isactive, username, password, parameters) VALUES(?, ?, ?, ?, ?)'; } $db->pquery($query, $params); } /** * Function to get record instance by using id and moduleName * @param $recordId * @param $qualifiedModuleName * @return RecordModel */ static public function getInstanceById($recordId, $qualifiedModuleName) { $db = PearDatabase::getInstance(); $result = $db->pquery('SELECT * FROM vtiger_smsnotifier_servers WHERE id = ?', array($recordId)); if ($db->num_rows($result)) { $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName); $rowData = $db->query_result_rowdata($result, 0); $recordModel = new self(); $recordModel->setData($rowData)->setModule($moduleModel); $parameters = Zend_Json::decode(decode_html($recordModel->get('parameters'))); foreach ($parameters as $fieldName => $fieldValue) { $recordModel->set($fieldName, $fieldValue); } return $recordModel; } return false; } /** * Function to get clean record instance by using moduleName * @param $qualifiedModuleName * @return */ static public function getCleanInstance($qualifiedModuleName) { $recordModel = new self(); $moduleModel = Settings_Vtiger_Module_Model::getInstance($qualifiedModuleName); return $recordModel->setModule($moduleModel); } }