getModulesByUitype($params['field_uitype'], $params['tablename'], $params['columnname']);
if (in_array($params['field_uitype'], array('117'))) {
if ($using['join']['tablename'] != $params['using_aliastablename']) {
$using['using']['tablename'] = $params['using_aliastablename'];
$using['using']['columnname'] = $params['using_columnname'];
}
} elseif (isset($params['join_type']) && 'MIF' === $params['join_type'] && empty($using_module_arr)) {
$using['join']['tablename'] = $params['tablename'] . $old_oth_as;
$using['join']['columnname'] = $params['table_index'][$params['tablename']];
if ($using['join']['tablename'] != $params['using_aliastablename']) {
$using['using']['tablename'] = $params['using_aliastablename'];
$using['using']['columnname'] = $params['using_columnname'];
}
} elseif ('vtiger_crmentity' !== $params['tablename'] || in_array($params['field_uitype'], array('52', '53', '531'))) {
$adb = PEARDatabase::getInstance();
$sp_join_res = $adb->pquery('SELECT uitype,tablename,columnname FROM vtiger_field WHERE fieldid = ?', array($params['fieldid']));
$sp_join_row = $adb->fetchByAssoc($sp_join_res, 0);
if (is_array($params['table_index']) && isset($params['table_index'][$params['tablename']]) && $params['tablename'] != $params['primary_table_name']) {
// show("UIP N1");
$using['join']['tablename'] = $params['tablename'] . $old_oth_as . $old_fieldid . $mif_alias;
$using['join']['columnname'] = $params['table_index'][$params['tablename']];
$using['using']['tablename'] = $params['primary_table_name'] . $old_oth_as . $old_fieldid . $mif_alias;
$using['using']['columnname'] = $params['table_index'][$params['primary_table_name']];
} elseif ('vtiger_inventoryproductrel' === $params['tablename']) {
$using['join']['tablename'] = $params['tablename'] . $fieldid_alias . $mif_alias;
$using['join']['columnname'] = 'id';
$using['using']['tablename'] = $params['primary_table_name'] . $old_fieldid . $mif_alias;
$using['using']['columnname'] = $params['table_index'][$params['primary_table_name']];
// show("UIP N2");
} elseif (!empty($using_module_arr)) {
$gmodule = $using_module_arr[0];
if (vtlib_isModuleActive($gmodule)) {
$ui_focus = CRMEntity::getInstance($gmodule);
$ui_focus->modulename = $gmodule;
if (is_array($params['table_index'])) {
if (isset($ui_focus->table_name) && !empty($ui_focus->tab_name_index[$ui_focus->table_name]) && $params['tablename'] != $ui_focus->table_name) {
// show("UIP N3");
$using['using']['tablename'] = $params['tablename'] . $old_fieldid . $mif_alias;
$using['using']['columnname'] = $params['columnname'];
$using['join']['tablename'] = $ui_focus->table_name . $fieldid_alias;
$using['join']['columnname'] = $ui_focus->tab_name_index[$ui_focus->table_name];
}
} else {
// show("UIP N4");
// SPECIAL FIELDS JOINING
$using['using']['tablename'] = $sp_join_row['tablename'] . $old_oth_as . $old_fieldid . $mif_alias;
$using['using']['columnname'] = $sp_join_row['columnname'];
$using['join']['tablename'] = $ui_focus->table_name . $fieldid_alias . $mif_alias;
$using['join']['columnname'] = $ui_focus->tab_name_index[$ui_focus->table_name];
}
}
} elseif ($params['tablename'] != $params['primary_table_name'] && is_array($params['table_index']) && array_key_exists($params['tablename'], $params['table_index'])) {
// show("UIP N5");
$using['using']['tablename'] = $params['primary_table_name'] . $old_fieldid . $mif_alias;
$using['using']['columnname'] = $params['table_index'];
$using['join']['tablename'] = $params['tablename'] . $old_fieldid;
$using['join']['columnname'] = $params['table_index'][$params['tablename']];
}
}
return $using;
}
/** Function to get the HTML strings for the primarymodule standard filters
* @ param $module : Type String
* @ param $selected : Type String(optional)
* This Returns a HTML combo srings
*/
function getITSPrimaryStdFilterHTML($ITS4YouReports,$moduleid = '', $selected = '') {
global $app_list_strings;
global $current_language;
$shtml = '';
if (!empty($moduleid)) {
$module = vtlib_getModuleNameById($moduleid);
$result = $ITS4YouReports->getStdCriteriaByModule($moduleid);
$mod_strings = return_module_language($current_language, $module);
if (isset($result)) {
foreach ($result as $key => $value) {
if (isset($mod_strings[$value])) {
if ($key == $selected) {
$shtml .= "";
} else {
$shtml .= "";
}
} else {
if ($key === $selected) {
$shtml .= "";
} else {
$shtml .= "";
}
}
}
}
}
return $shtml;
}
/** Function to get the HTML strings for the secondary standard filters
* @ param $module : Type String
* @ param $selected : Type String(optional)
* This Returns a HTML combo srings for the secondary modules
*/
function getITSSecondaryStdFilterHTML($ITS4YouReports, $module = '', $selected = '')
{
global $app_list_strings;
global $current_language;
$ITS4YouReports->oCustomView = new CustomView();
$shtml = '';
if (empty($module)) {
$secmodule = explode(':', $module);
for ($i = 0; $i < ITS4YouReports_Functions_Helper::count($secmodule); $i++) {
$mod_arr = explode('x', $secmodule[$i]);
$moduleid = $mod_arr[0];
$secmodulename = vtlib_getModuleNameById($moduleid);
$fieldidstr = '';
if (!empty($mod_arr[1])) {
$fieldidstr = ':' . $mod_arr[1];
}
$result = $ITS4YouReports->oCustomView->getStdCriteriaByModule($secmodulename);
$mod_strings = return_module_language($current_language, $secmodulename);
if (isset($result)) {
foreach ($result as $key => $value) {
if (isset($mod_strings[$value])) {
if ($key == $selected) {
$shtml .= "";
} else {
$shtml .= "";
}
} else {
if ($key == $selected) {
$shtml .= "";
} else {
$shtml .= "";
}
}
}
}
}
}
return $shtml;
}
/**
* Function to get the field information from module name and field label
*/
function getITSFieldByReportLabel($module, $label) {
// this is required so the internal cache is populated or reused.
getColumnFields($module);
//lookup all the accessible fields
$cachedModuleFields = VTCacheUtils::lookupFieldInfo_Module($module);
if (empty($cachedModuleFields)) {
return null;
}
foreach ($cachedModuleFields as $fieldInfo) {
$fieldLabel = str_replace(' ', '_', $fieldInfo['fieldlabel']);
if ($label == $fieldLabel) {
return $fieldInfo;
}
}
return null;
}
?>