/** * Function to get the page count for reltedlist * @return total number of pages */ function getRelatedListPageCount(Vtiger_Request $request) { $moduleName = $request->getModule(); $relatedModuleName = $request->get('relatedModule'); $parentId = $request->get('record'); $label = $request->get('tab_label'); $totalCount = 0; $relModules = [$relatedModuleName]; if (in_array('ProductsAndServices', $relModules)) { $label = ''; $relModules = ['Products', 'OutsourcedProducts', 'Assets', 'Services', 'OSSOutsourcedServices', 'OSSSoldServices']; } if (in_array('Comments', $relModules)) { $totalCount = ModComments_Record_Model::getCommentsCount($parentId); } else { $pagingModel = new Vtiger_Paging_Model(); $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName); foreach ($relModules as $relatedModuleName) { $relationListView = Vtiger_RelationListView_Model::getInstance($parentRecordModel, $relatedModuleName, $label); if (!vtlib_isModuleActive($relatedModuleName) || !$relationListView->getRelationModel()) { continue; } $totalCount += (int) $relationListView->getRelatedEntriesCount(); $pageLimit = $pagingModel->getPageLimit(); $pageCount = ceil((int) $totalCount / (int) $pageLimit); } } if ($pageCount == 0) { $pageCount = 1; } $result = array(); $result['numberOfRecords'] = $totalCount; $result['page'] = $pageCount; $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }