本文整理汇总了PHP中vtlib_isModuleActive函数的典型用法代码示例。如果您正苦于以下问题:PHP vtlib_isModuleActive函数的具体用法?PHP vtlib_isModuleActive怎么用?PHP vtlib_isModuleActive使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vtlib_isModuleActive函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process(Vtiger_Request $request)
{
$recordId = $request->get('record');
$modules = $request->get('modules');
$assignId = $request->get('assigned_user_id');
$currentUser = Users_Record_Model::getCurrentUserModel();
$entityValues = array();
$entityValues['transferRelatedRecordsTo'] = $request->get('transferModule');
//■権限なぜか、エラーになるので権限を固定するinouchi
//$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId);
$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType(1), 1);
$entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId);
$recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule());
$convertLeadFields = $recordModel->getConvertLeadFields();
$availableModules = array('Accounts', 'Contacts', 'Potentials');
foreach ($availableModules as $module) {
if (vtlib_isModuleActive($module) && in_array($module, $modules)) {
$entityValues['entities'][$module]['create'] = true;
$entityValues['entities'][$module]['name'] = $module;
foreach ($convertLeadFields[$module] as $fieldModel) {
$fieldName = $fieldModel->getName();
$fieldValue = $request->get($fieldName);
//Potential Amount Field value converting into DB format
if ($fieldModel->getFieldDataType() === 'currency') {
$fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue);
} elseif ($fieldModel->getFieldDataType() === 'date') {
$fieldValue = DateTimeField::convertToDBFormat($fieldValue);
} elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) {
$ids = vtws_getIdComponents($fieldValue);
if (count($ids) === 1) {
$fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue);
}
}
$entityValues['entities'][$module][$fieldName] = $fieldValue;
}
}
}
try {
$result = vtws_convertlead($entityValues, $currentUser);
} catch (Exception $e) {
$this->showError($request, $e);
exit;
}
if (!empty($result['Accounts'])) {
$accountIdComponents = vtws_getIdComponents($result['Accounts']);
$accountId = $accountIdComponents[1];
}
if (!empty($result['Contacts'])) {
$contactIdComponents = vtws_getIdComponents($result['Contacts']);
$contactId = $contactIdComponents[1];
}
if (!empty($accountId)) {
header("Location: index.php?view=Detail&module=Accounts&record={$accountId}");
} elseif (!empty($contactId)) {
header("Location: index.php?view=Detail&module=Contacts&record={$contactId}");
} else {
$this->showError($request);
exit;
}
}
示例2: getDetailViewRelatedLinks
function getDetailViewRelatedLinks()
{
$recordModel = $this->getRecord();
$moduleName = $recordModel->getModuleName();
$parentModuleModel = $this->getModule();
$relatedLinks = array();
if ($parentModuleModel->isSummaryViewSupported()) {
$relatedLinks = array(array('linktype' => 'DETAILVIEWTAB', 'linklabel' => vtranslate('LBL_RECORD_SUMMARY', $moduleName), 'linkKey' => 'LBL_RECORD_SUMMARY', 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showDetailViewByMode&requestMode=summary', 'linkicon' => '', 'related' => 'Summary'));
}
//link which shows the summary information(generally detail of record)
$relatedLinks[] = array('linktype' => 'DETAILVIEWTAB', 'linklabel' => vtranslate('LBL_RECORD_DETAILS', $moduleName), 'linkKey' => 'LBL_RECORD_DETAILS', 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showDetailViewByMode&requestMode=full', 'linkicon' => '', 'related' => 'Details');
if ($moduleName == 'Leads') {
$showPSTab = vtlib_isModuleActive('OutsourcedProducts') || vtlib_isModuleActive('Products') || vtlib_isModuleActive('Services') || vtlib_isModuleActive('OSSOutsourcedServices');
}
if ($moduleName == 'Accounts') {
$showPSTab = vtlib_isModuleActive('OutsourcedProducts') || vtlib_isModuleActive('Products') || vtlib_isModuleActive('Services') || vtlib_isModuleActive('OSSOutsourcedServices') || vtlib_isModuleActive('Assets') || vtlib_isModuleActive('OSSSoldServices');
}
if ('Contacts' != $moduleName && $showPSTab) {
$relatedLinks[] = array('linktype' => 'DETAILVIEWTAB', 'linklabel' => vtranslate('LBL_RECORD_SUMMARY_PRODUCTS_SERVICES', $moduleName), 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showRelatedProductsServices&requestMode=summary', 'linkicon' => '', 'linkKey' => 'LBL_RECORD_SUMMARY', 'related' => 'ProductsAndServices');
}
$modCommentsModel = Vtiger_Module_Model::getInstance('ModComments');
if ($parentModuleModel->isCommentEnabled() && $modCommentsModel->isPermitted('DetailView')) {
$relatedLinks[] = array('linktype' => 'DETAILVIEWTAB', 'linklabel' => 'ModComments', 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showAllComments', 'linkicon' => '', 'related' => 'Comments');
}
if ($parentModuleModel->isTrackingEnabled()) {
$relatedLinks[] = array('linktype' => 'DETAILVIEWTAB', 'linklabel' => 'LBL_UPDATES', 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showRecentActivities&page=1', 'linkicon' => '', 'related' => 'Updates');
}
$relationModels = $parentModuleModel->getRelations();
foreach ($relationModels as $relation) {
//TODO : Way to get limited information than getting all the information
$link = array('linktype' => 'DETAILVIEWRELATED', 'linklabel' => $relation->get('label'), 'linkurl' => $relation->getListUrl($recordModel), 'linkicon' => '', 'relatedModuleName' => $relation->get('relatedModuleName'));
$relatedLinks[] = $link;
}
return $relatedLinks;
}
示例3: getModels
protected function getModels($parentRecordId, $criteria)
{
global $adb, $current_user;
$moduleName = 'ModComments';
if (vtlib_isModuleActive($moduleName)) {
$entityInstance = CRMEntity::getInstance($moduleName);
$queryCriteria = '';
switch ($criteria) {
case 'All':
$queryCriteria = sprintf(" ORDER BY %s.%s DESC ", $entityInstance->table_name, $entityInstance->table_index);
break;
case 'Last5':
$queryCriteria = sprintf(" ORDER BY %s.%s DESC LIMIT 5", $entityInstance->table_name, $entityInstance->table_index);
break;
case 'Mine':
$queryCriteria = ' AND vtiger_crmentity.smownerid=' . $current_user->id . sprintf(" ORDER BY %s.%s DESC ", $entityInstance->table_name, $entityInstance->table_index);
break;
}
$query = $entityInstance->getListQuery($moduleName, sprintf(" AND %s.related_to=?", $entityInstance->table_name));
$query .= $queryCriteria;
$result = $adb->pquery($query, array($parentRecordId));
$instances = array();
if ($adb->num_rows($result)) {
while ($resultrow = $adb->fetch_array($result)) {
$instances[] = new ModComments_CommentsModel($resultrow);
}
}
}
return $instances;
}
示例4: process
function process(Mobile_API_Request $request)
{
$response = new Mobile_API_Response();
$username = $request->get('username');
$password = $request->get('password');
$current_user = CRMEntity::getInstance('Users');
$current_user->column_fields['user_name'] = $username;
if (vtlib_isModuleActive('Mobile') === false) {
$response->setError(1501, 'Service not available');
return $response;
}
if (!$current_user->load_user($password) || !$current_user->authenticated) {
global $mod_strings;
$response->setError(1210, $mod_strings['ERR_INVALID_PASSWORD']);
} else {
// Start session now
$sessionid = Mobile_API_Session::init();
if ($sessionid === false) {
echo "Session init failed {$sessionid}\n";
}
include_once 'config.php';
global $application_unique_key;
$current_user->id = $current_user->retrieve_user_id($username);
$this->setActiveUser($current_user);
$_SESSION["authenticated_user_id"] = $current_user->id;
$_SESSION["app_unique_key"] = $application_unique_key;
$result = array();
$result['login'] = array('userid' => $current_user->id, 'crm_tz' => DateTimeField::getDBTimeZone(), 'user_tz' => $current_user->time_zone, 'session' => $sessionid, 'language' => $current_user->language, 'vtiger_version' => Mobile_WS_Utils::getVtigerVersion(), 'mobile_module_version' => Mobile_WS_Utils::getVersion());
$response->setResult($result);
$this->postProcess($response);
}
return $response;
}
示例5: process
function process(Mobile_API_Request $request)
{
$response = new Mobile_API_Response();
$username = $request->get('username');
$password = $request->get('password');
$current_user = CRMEntity::getInstance('Users');
$current_user->column_fields['user_name'] = $username;
if (vtlib_isModuleActive('Mobile') === false) {
$response->setError(1501, 'Service not available');
return $response;
}
if (!$current_user->doLogin($password)) {
$response->setError(1210, 'Authentication Failed');
} else {
// Start session now
$sessionid = Mobile_API_Session::init();
if ($sessionid === false) {
echo "Session init failed {$sessionid}\n";
}
$current_user->id = $current_user->retrieve_user_id($username);
$current_user->retrieveCurrentUserInfoFromFile($current_user->id);
$this->setActiveUser($current_user);
$result = array();
$result['login'] = array('userid' => $current_user->id, 'crm_tz' => DateTimeField::getDBTimeZone(), 'user_tz' => $current_user->time_zone, 'user_currency' => $current_user->currency_code, 'session' => $sessionid, 'vtiger_version' => Mobile_WS_Utils::getVtigerVersion(), 'date_format' => $current_user->date_format, 'mobile_module_version' => Mobile_WS_Utils::getVersion());
$response->setResult($result);
$this->postProcess($response);
}
return $response;
}
示例6: preProcess
function preProcess(Vtiger_Request $request, $display = true)
{
parent::preProcess($request, false);
$viewer = $this->getViewer($request);
$selectedModule = $request->getModule();
$companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
$companyLogo = $companyDetails->getLogo();
$currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
$viewer->assign('CURRENTDATE', $currentDate);
$viewer->assign('MODULE', $selectedModule);
$viewer->assign('MODULE_NAME', $selectedModule);
$viewer->assign('QUALIFIED_MODULE', $selectedModule);
$viewer->assign('PARENT_MODULE', $request->get('parent'));
$viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
$viewer->assign('VIEW', $request->get('view'));
$viewer->assign('COMPANY_LOGO', $companyLogo);
$viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
$homeModuleModel = Vtiger_Module_Model::getInstance('Home');
$viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
$viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
$viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
$viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));
if ($display) {
$this->preProcessDisplay($request);
}
}
示例7: beforeGetTaskform
public function beforeGetTaskform($viewer)
{
$viewer->assign("ENABLE_PDFMAKER", false);
$viewer->assign("pdfmaker_templates", array());
if (getTabid('PDFMaker') && vtlib_isModuleActive('PDFMaker')) {
require_once 'modules/PDFMaker/PDFMaker.php';
if (class_exists("PDFMaker")) {
$PDFMaker = $PDFMaker = new PDFMaker_PDFMaker_Model();
if (method_exists($PDFMaker, "GetAvailableTemplates")) {
$viewer->assign("ENABLE_PDFMAKER", true);
$templates = $PDFMaker->GetAvailableTemplates($this->getModuleName());
foreach ($templates as $index => $value) {
$pdftemplates[$index] = $value["templatename"];
}
$viewer->assign("pdfmaker_templates", $pdftemplates);
$templateid = $this->get("template");
if (!empty($templateid) && $templateid != -1 && $this->get("attachments") == -1) {
$this->set("attachments", '{"pdfmaker#' . $templateid . '":"title"}');
} else {
if ($this->get("attachments") == -1) {
$this->set("attachments", '{}');
}
}
}
}
}
}
示例8: save_module
function save_module($module)
{
global $updateInventoryProductRel_deduct_stock;
if ($this->HasDirectImageField) {
$this->insertIntoAttachment($this->id, $module);
}
$updateInventoryProductRel_deduct_stock = true;
//Checking if quote_id is present and updating the quote status
if ($this->column_fields['quote_id'] != '') {
$newStatus = GlobalVariable::getVariable('QuoteStatusOnSalesOrderSave', 'Accepted');
if ($newStatus != 'DoNotChange') {
$qt_id = $this->column_fields['quote_id'];
$query1 = 'update vtiger_quotes set quotestage=? where quoteid=?';
$this->db->pquery($query1, array($newStatus, $qt_id));
}
}
//in ajax save we should not call this function, because this will delete all the existing product values
if ($_REQUEST['action'] != 'SalesOrderAjax' && $_REQUEST['ajxaction'] != 'DETAILVIEW' && $_REQUEST['action'] != 'MassEditSave' && $_REQUEST['action'] != 'ProcessDuplicates') {
//Based on the total Number of rows we will save the product relationship with this entity
saveInventoryProductDetails($this, 'SalesOrder');
if (vtlib_isModuleActive("InventoryDetails")) {
InventoryDetails::createInventoryDetails($this, 'SalesOrder');
}
} else {
if ($_REQUEST['action'] == 'SalesOrderAjax' || $_REQUEST['action'] == 'MassEditSave') {
$updateInventoryProductRel_deduct_stock = false;
}
}
// Update the currency id and the conversion rate for the sales order
$update_query = "update vtiger_salesorder set currency_id=?, conversion_rate=? where salesorderid=?";
$update_params = array($this->column_fields['currency_id'], $this->column_fields['conversion_rate'], $this->id);
$this->db->pquery($update_query, $update_params);
}
示例9: applyChange
function applyChange()
{
if ($this->hasError()) {
$this->sendError();
}
if ($this->isApplied()) {
$this->sendMsg('Changeset ' . get_class($this) . ' already applied!');
} else {
global $adb;
if (vtlib_isModuleActive("Timecontrol") && !vtlib_isModuleActive("Task")) {
$result = $adb->pquery("SELECT eventhandler_id FROM vtiger_eventhandlers WHERE handler_path = 'modules/Timecontrol/convertTZListView.php'", array());
if ($adb->num_rows($result) == 0) {
$result = $adb->pquery("SELECT eventhandler_id FROM vtiger_eventhandlers WHERE handler_path = 'modules/Task/convertTZListView.php'", array());
if ($adb->num_rows($result) == 1) {
$handler_id = $adb->query_result($result, 0, 'eventhandler_id');
$this->ExecuteQuery("UPDATE vtiger_eventhandlers SET handler_path = 'modules/Timecontrol/convertTZListView.php', handler_class = 'convertTZListViewOnTimecontrol' WHERE eventhandler_id = ?", array($handler_id));
} else {
$em = new VTEventsManager($adb);
$em->registerHandler('corebos.filter.listview.render', 'modules/Timecontrol/convertTZListView.php', 'convertTZListViewOnTimecontrol');
}
}
} elseif (vtlib_isModuleActive("Timecontrol") && vtlib_isModuleActive("Task")) {
$result = $adb->pquery("SELECT eventhandler_id FROM vtiger_eventhandlers WHERE handler_path = 'modules/Timecontrol/convertTZListView.php'", array());
if ($adb->num_rows($result) == 0) {
$em = new VTEventsManager($adb);
$em->registerHandler('corebos.filter.listview.render', 'modules/Timecontrol/convertTZListView.php', 'convertTZListViewOnTimecontrol');
}
}
$this->sendMsg('Changeset ' . get_class($this) . ' applied!');
$this->markApplied(false);
}
$this->finishExecution();
}
示例10: save_module
function save_module($module)
{
global $adb;
//in ajax save we should not call this function, because this will delete all the existing product values
if ($_REQUEST['action'] != 'PurchaseOrderAjax' && $_REQUEST['ajxaction'] != 'DETAILVIEW' && $_REQUEST['action'] != 'MassEditSave' && $_REQUEST['action'] != 'ProcessDuplicates') {
//Based on the total Number of rows we will save the product relationship with this entity
saveInventoryProductDetails($this, 'PurchaseOrder', $this->update_prod_stock);
if (vtlib_isModuleActive("InventoryDetails")) {
InventoryDetails::createInventoryDetails($this, 'PurchaseOrder');
}
}
//In Ajax edit, if the status changed to Received Shipment then we have to update the product stock
if ($_REQUEST['action'] == 'PurchaseOrderAjax' && $this->update_prod_stock == 'true') {
$inventory_res = $this->db->pquery("select productid, quantity from vtiger_inventoryproductrel where id=?", array($this->id));
$noofproducts = $this->db->num_rows($inventory_res);
//We have to update the stock for all the products in this PO
for ($prod_count = 0; $prod_count < $noofproducts; $prod_count++) {
$productid = $this->db->query_result($inventory_res, $prod_count, 'productid');
$quantity = $this->db->query_result($inventory_res, $prod_count, 'quantity');
$this->db->println("Stock is going to be updated for the productid - {$productid} with quantity - {$quantity}");
addToProductStock($productid, $quantity);
}
}
// Update the currency id and the conversion rate for the purchase order
$update_query = "update vtiger_purchaseorder set currency_id=?, conversion_rate=? where purchaseorderid=?";
$update_params = array($this->column_fields['currency_id'], $this->column_fields['conversion_rate'], $this->id);
$adb->pquery($update_query, $update_params);
}
示例11: process
function process(Mobile_API_Request $request)
{
$values = Zend_Json::decode($request->get('values'));
$relatedTo = $values['related_to'];
$commentContent = $values['commentcontent'];
$user = $this->getActiveUser();
$targetModule = '';
if (!empty($relatedTo) && Mobile_WS_Utils::detectModulenameFromRecordId($relatedTo) == 'HelpDesk') {
$targetModule = 'HelpDesk';
} else {
$targetModule = 'ModComments';
}
$response = false;
if ($targetModule == 'HelpDesk') {
$response = $this->saveCommentToHelpDesk($commentContent, $relatedTo, $user);
} else {
if (vtlib_isModuleActive($targetModule)) {
$request->set('module', $targetModule);
$values['assigned_user_id'] = sprintf('%sx%s', Mobile_WS_Utils::getEntityModuleWSId('Users'), $user->id);
$request->set('values', Zend_Json::encode($values));
$response = parent::process($request);
}
}
return $response;
}
示例12: isModuleActive
function isModuleActive($module)
{
include_once 'include/utils/VtlibUtils.php';
if (vtlib_isModuleActive($module) && isPermitted($module, 'EditView') == 'yes') {
return true;
}
return false;
}
示例13: exportPDFAvailable
public function exportPDFAvailable()
{
$PDFMakerInstalled = vtlib_isModuleActive("PDFMaker");
if ($PDFMakerInstalled === true && file_exists('modules/PDFMaker/resources/mpdf/mpdf.php') === true) {
$PDFMakerInstalled = true;
} else {
$PDFMakerInstalled = false;
}
return $PDFMakerInstalled;
}
示例14: preProcess
public function preProcess(Vtiger_Request $request, $display=true) {
if($this->checkPermission($request)) {
$viewer = $this->getViewer($request);
$currentUser = Users_Record_Model::getCurrentUserModel();
$selectedModule = $request->getModule();
$companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
$companyLogo = $companyDetails->getLogo();
$currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
$viewer->assign('CURRENTDATE', $currentDate);
$viewer->assign('MODULE', $selectedModule);
$viewer->assign('MODULE_NAME', $selectedModule);
$viewer->assign('QUALIFIED_MODULE', $selectedModule);
$viewer->assign('PARENT_MODULE', $request->get('parent'));
$viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
$viewer->assign('VIEW', $request->get('view'));
$viewer->assign('COMPANY_LOGO',$companyLogo);
$viewer->assign('USER_MODEL', $currentUser);
$homeModuleModel = Vtiger_Module_Model::getInstance('Home');
$viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
$viewer->assign('HEADER_LINKS',$this->getHeaderLinks());
$viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
$viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));
//Additional parameters
$recordId = $request->get('record');
$moduleName = $request->getModule();
$detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId);
$recordModel = $detailViewModel->getRecord();
$detailViewLinkParams = array('MODULE'=>$moduleName,'RECORD'=>$recordId);
$detailViewLinks = $detailViewModel->getDetailViewLinks($detailViewLinkParams);
$viewer->assign('RECORD', $recordModel);
$viewer->assign('MODULE_MODEL', $detailViewModel->getModule());
$viewer->assign('DETAILVIEW_LINKS', $detailViewLinks);
$viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName));
$viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName));
$linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'));
$linkModels = $detailViewModel->getSideBarLinks($linkParams);
$viewer->assign('QUICK_LINKS', $linkModels);
$viewer->assign('PAGETITLE', $this->getPageTitle($request));
$viewer->assign('FOOTER_SCRIPTS',$this->getFooterScripts($request));
$viewer->assign('STYLES',$this->getHeaderCss($request));
$viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
$viewer->assign('CURRENT_VIEW', $request->get('view'));
$viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
$viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName());
$viewer->assign('LANGUAGE', $currentUser->get('language'));
$viewer->assign('HEADER_SCRIPTS',$this->getHeaderScripts($request));
if($display) {
$this->preProcessDisplay($request);
}
}
}
示例15: getDetailViewRelatedLinks
function getDetailViewRelatedLinks()
{
$recordModel = $this->getRecord();
$moduleName = $recordModel->getModuleName();
$parentModuleModel = $this->getModule();
$relatedLinks = Vtiger_DetailView_Model::getDetailViewRelatedLinks();
$showPSTab = vtlib_isModuleActive('OutsourcedProducts') || vtlib_isModuleActive('Products') || vtlib_isModuleActive('Services') || vtlib_isModuleActive('OSSOutsourcedServices') || vtlib_isModuleActive('Assets') || vtlib_isModuleActive('OSSSoldServices');
if ($showPSTab) {
$relatedLinks[] = ['linktype' => 'DETAILVIEWTAB', 'linklabel' => vtranslate('LBL_RECORD_SUMMARY_PRODUCTS_SERVICES', $moduleName), 'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showRelatedProductsServices&requestMode=summary', 'linkicon' => '', 'linkKey' => 'LBL_RECORD_SUMMARY', 'related' => 'ProductsAndServices', 'countRelated' => true];
}
return $relatedLinks;
}