pquery("SELECT tablename,entityidfield, fieldname from vtiger_entityname WHERE modulename = ?",array($sModule)); $table_name = $adb->query_result($query,0,'tablename'); $field_name = $adb->query_result($query,0,'fieldname'); $id_field = $adb->query_result($query,0,'entityidfield'); $fieldname = split(",",$field_name); $fields_array = array($sModule=>$fieldname); $id_array = array($sModule=>$id_field); $tables_array = array($sModule=>$table_name); $permittedFieldNameList = array(); foreach ($fieldname as $fieldName) { $checkForFieldAccess = $fieldName; // Handling case where fieldname in vtiger_entityname mismatches fieldname in vtiger_field if($sModule == 'HelpDesk' && $checkForFieldAccess == 'title') { $checkForFieldAccess = 'ticket_title'; } else if($sModule == 'Documents' && $checkForFieldAccess == 'title') { $checkForFieldAccess = 'notes_title'; } // END if(getFieldVisibilityPermission($sModule,$current_user->id, $checkForFieldAccess) == '0'){ $permittedFieldNameList[] = $fieldName; } } $cv = new CustomView(); $viewId = $cv->getViewId($sModule); if(!empty($_SESSION[$sModule.'_DetailView_Navigation'.$viewId])){ $recordNavigationInfo = Zend_Json::decode($_SESSION[$sModule.'_DetailView_Navigation'.$viewId]); $recordList = array(); $recordIndex = null; $recordPageMapping = array(); foreach ($recordNavigationInfo as $start=>$recordIdList){ foreach ($recordIdList as $index=>$recordId) { if(!isRecordExists($recordId)) continue; $recordList[] = $recordId; $recordPageMapping[$recordId] = $start; if($recordId == $iCurRecord){ $recordIndex = count($recordList)-1; } } } }else{ $recordList = array(); } $output = '
Jump to '.$app_strings[$sModule].':
'; $output .= '
'; $output .= ''; if(count($recordList) > 0){ $displayRecordCount = 10; $count = count($recordList); $idListEndIndex = ($count < ($recordIndex+$displayRecordCount))? ($count+1) : ($recordIndex+$displayRecordCount+1); $idListStartIndex = $recordIndex-$displayRecordCount; if($idListStartIndex < 0){ $idListStartIndex = 0; } $idsArray = array_slice($recordList,$idListStartIndex,($idListEndIndex - $idListStartIndex)); $selectColString = implode(',',$permittedFieldNameList).', '.$id_array[$sModule]; $fieldQuery = "SELECT $selectColString from ".$tables_array[$sModule]." WHERE ".$id_array[$sModule]." IN (". generateQuestionMarks($idsArray) .")"; $fieldResult = $adb->pquery($fieldQuery,$idsArray); $numOfRows = $adb->num_rows($fieldResult); $recordNameMapping = array(); for($i=0; $i<$numOfRows; ++$i) { $recordId = $adb->query_result($fieldResult,$i,$id_array[$sModule]); $fieldValue = ''; foreach ($permittedFieldNameList as $fieldName) { $fieldValue .= " ".$adb->query_result($fieldResult,$i,$fieldName); } $fieldValue = textlength_check($fieldValue); $recordNameMapping[$recordId] = $fieldValue; } foreach ($idsArray as $id) { if($id===$iCurRecord){ $output .= ''; }else{ $output .= ''; } } } $output .= '
'.$recordNameMapping[$id].'
'.$recordNameMapping[$id].'
'; $output .= '
'; echo $output; ?>