From 2d84eb7c60ba15a35196c7bb06814c3b469e3c26 Mon Sep 17 00:00:00 2001 From: satish <satish.dvnk@vtiger.com> Date: Mon, 4 Sep 2017 11:23:35 +0530 Subject: [PATCH] Vtlib api to add settings link in CRM --- include/utils/VtlibUtils.php | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/include/utils/VtlibUtils.php b/include/utils/VtlibUtils.php index 197fa2520..b7adac0b3 100644 --- a/include/utils/VtlibUtils.php +++ b/include/utils/VtlibUtils.php @@ -764,4 +764,41 @@ function vtlib_mime_content_type($filename) { return Vtiger_Functions::mime_content_type($filename); } +function vtlib_addSettingsLink($linkName, $linkURL, $blockName = false) { + $success = true; + $db = PearDatabase::getInstance(); + + //Check entry name exist in DB or not + $result = $db->pquery('SELECT 1 FROM vtiger_settings_field WHERE name=?', array($linkName)); + if ($result && !$db->num_rows($result)) { + $blockName = ($blockName) ? $blockName : 'LBL_OTHER_SETTINGS'; + $blockId = getSettingsBlockId($blockName);//Check block name exist in DB or not + + //Add block in to DB if not exists + if (!$blockId) { + $blockSeqResult = $db->pquery('SELECT MAX(sequence) AS sequence FROM vtiger_settings_blocks', array()); + if ($db->num_rows($blockSeqResult)) { + $blockId = $db->getUniqueID('vtiger_settings_blocks'); + $blockSequence = $db->query_result($blockSeqResult, 0, 'sequence'); + $db->pquery('INSERT INTO vtiger_settings_blocks(blockid, label, sequence) VALUES(?,?,?)', array($blockId, 'LBL_OTHER_SETTINGS', $blockSequence++)); + } + } + + //Add settings field in to DB + if ($blockId) { + $fieldSeqResult = $db->pquery('SELECT MAX(sequence) AS sequence FROM vtiger_settings_field WHERE blockid=?', array($blockId)); + if ($db->num_rows($fieldSeqResult)) { + $fieldId = $db->getUniqueID('vtiger_settings_field'); + $linkURL = ($linkURL) ? $linkURL : ''; + $fieldSequence = $db->query_result($fieldSeqResult, 0, 'sequence'); + + $db->pquery('INSERT INTO vtiger_settings_field(fieldid, blockid, name, iconpath, description, linkto, sequence, active, pinned) VALUES(?,?,?,?,?,?,?,?,?)', array($fieldId, $blockId, $entryName, '', $entryName, $linkURL, $fieldSequence++, 0, 0)); + } + } else { + $success = false; + } + } + return $success; +} + ?> -- GitLab