private function _setDisplayPartsForSelect($displayParts)
{
// Other statements (ie "SELECT" ones) -> updates
// $displayParts['edit_lnk'], $displayParts['del_lnk'] and
// $displayParts['text_btn'] (keeps other default values)
$fields_meta = $this->__get('fields_meta');
$prev_table = '';
$displayParts['text_btn'] = (string) '1';
$number_of_columns = $this->__get('fields_cnt');
for ($i = 0; $i < $number_of_columns; $i++) {
$is_link = $displayParts['edit_lnk'] != self::NO_EDIT_OR_DELETE || $displayParts['del_lnk'] != self::NO_EDIT_OR_DELETE || $displayParts['sort_lnk'] != '0';
// Displays edit/delete/sort/insert links?
if ($is_link && $prev_table != '' && $fields_meta[$i]->table != '' && $fields_meta[$i]->table != $prev_table) {
// don't display links
$displayParts['edit_lnk'] = self::NO_EDIT_OR_DELETE;
$displayParts['del_lnk'] = self::NO_EDIT_OR_DELETE;
/**
* @todo May be problematic with same field names
* in two joined table.
*/
// $displayParts['sort_lnk'] = (string) '0';
if ($displayParts['text_btn'] == '1') {
break;
}
}
// end if
// Always display print view link
$displayParts['pview_lnk'] = (string) '1';
if ($fields_meta[$i]->table != '') {
$prev_table = $fields_meta[$i]->table;
}
}
// end for
if ($prev_table == '') {
// no table for any of the columns
// don't display links
$displayParts['edit_lnk'] = self::NO_EDIT_OR_DELETE;
$displayParts['del_lnk'] = self::NO_EDIT_OR_DELETE;
}
return $displayParts;
}