/** * Function to get the pinned items * @param array of fieldids. * @return <Array> - List of Settings_Vtiger_MenuItem_Model instances */ public static function getPinnedItems($fieldList = array()) { $skipMenuItemList = array('LBL_AUDIT_TRAIL', 'LBL_SYSTEM_INFO', 'LBL_PROXY_SETTINGS', 'LBL_DEFAULT_MODULE_VIEW', 'LBL_FIELDFORMULAS', 'LBL_FIELDS_ACCESS', 'LBL_MAIL_MERGE', 'NOTIFICATIONSCHEDULERS', 'INVENTORYNOTIFICATION', 'ModTracker', 'LBL_WORKFLOW_LIST', 'LBL_TOOLTIP_MANAGEMENT', 'Webforms Configuration Editor'); $db = PearDatabase::getInstance(); $query = 'SELECT * FROM ' . self::$itemsTable . ' WHERE pinned=1 AND active = 0'; if (!empty($fieldList)) { if (!is_array($fieldList)) { $fieldList = array($fieldList); } $query .= ' AND ' . self::$itemsId . ' IN (' . generateQuestionMarks($fieldList) . ')'; } $query .= ' AND name NOT IN (' . generateQuestionMarks($skipMenuItemList) . ')'; $result = $db->pquery($query, array_merge($fieldList, $skipMenuItemList)); $noOfMenus = $db->num_rows($result); $menuItemModels = array(); for ($i = 0; $i < $noOfMenus; ++$i) { $fieldId = $db->query_result($result, $i, self::$itemId); $rowData = $db->query_result_rowdata($result, $i); $menuItem = Settings_Vtiger_MenuItem_Model::getInstanceFromArray($rowData); $menuItem->setMenu($rowData['blockid']); $menuItemModels[$fieldId] = $menuItem; } return $menuItemModels; }