diff --git a/infolog/inc/class.uiinfolog.inc.php b/infolog/inc/class.uiinfolog.inc.php index 2cc881c820..dbac72f93d 100644 --- a/infolog/inc/class.uiinfolog.inc.php +++ b/infolog/inc/class.uiinfolog.inc.php @@ -36,6 +36,7 @@ 'writeLangFile' => True ); var $icons; + var $prefs; function uiinfolog( ) { @@ -96,10 +97,12 @@ $this->user = $GLOBALS['egw_info']['user']['account_id']; + $this->prefs =& $GLOBALS['egw_info']['user']['preferences']['infolog']; + $GLOBALS['uiinfolog'] =& $this; // make ourself availible for ExecMethod of get_rows function } - function get_info($info,&$readonlys,$action='',$action_id='') + function get_info($info,&$readonlys,$action='',$action_id='',$show_links=false) { if (!is_array($info)) { @@ -123,7 +126,7 @@ $readonlys["view[$id]"] = $info['info_anz_subs'] < 1; $readonlys['view[0]'] = True; // no parent - $show_links = $GLOBALS['egw_info']['user']['preferences']['infolog']['show_links']; + if (!$show_links) $show_links = $this->prefs['show_links']; if ($show_links != 'none' && $show_links != 'no_describtion' && ($links = $this->link->get_links('infolog',$info['info_id']))) { @@ -151,6 +154,7 @@ 'search' => $values['search'], 'start' => $values['start'], 'filter' => $values['filter'], + 'filter2' => $values['filter2'], 'cat_id' => $values['cat_id'], 'order' => $values['order'], 'sort' => $values['sort'], @@ -186,8 +190,9 @@ $readonlys = $rows = array(); foreach($ids as $id => $info) { - $info = $this->get_info($info,$readonlys,$query['action'],$query['action_id']); - if ($GLOBALS['egw_info']['user']['preferences']['infolog']['show_links'] == 'no_describtion') + $info = $this->get_info($info,$readonlys,$query['action'],$query['action_id'],$query['filter2']); + if (!$query['filter2'] && $this->prefs['show_links'] == 'no_describtion' || + $query['filter2'] == 'no_describtion') { unset($info['info_des']); } @@ -250,7 +255,7 @@ if (isset($_GET['filter']) && $_GET['filter'] != 'default' || !isset($values['nm']['filter'])) { $values['nm']['filter'] = $_GET['filter'] && $_GET['filter'] != 'default' ? $_GET['filter'] : - $GLOBALS['egw_info']['user']['preferences']['infolog']['defaultFilter']; + $this->prefs['defaultFilter']; } if (!isset($values['nm']['order']) || !$values['nm']['order']) { @@ -329,16 +334,22 @@ $values['nm']['options-filter'] = $this->filters; $values['nm']['get_rows'] = 'infolog.uiinfolog.get_rows'; - $values['nm']['no_filter2'] = True; + $values['nm']['options-filter2'] = (in_array($this->prefs['show_links'],array('all','no_describtion')) ? array() : array( + '' => 'default', + )) + array( + 'no_describtion' => 'no details', + 'all' => 'details', + ); + if(!isset($values['nm']['filter2'])) $values['nm']['filter2'] = $this->prefs['show_links']; $values['nm']['header_right'] = 'infolog.index.header_right'; if ($extra_app_header) { $values['nm']['header_left'] = 'infolog.index.header_left'; } $values['nm']['bottom_too'] = True; - $values['nm']['never_hide'] = isset($GLOBALS['egw_info']['user']['preferences']['infolog']['never_hide']) ? - $GLOBALS['egw_info']['user']['preferences']['infolog']['never_hide'] : $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] > 15; - $values['nm']['no_times'] = !$GLOBALS['egw_info']['user']['preferences']['infolog']['show_times']; + $values['nm']['never_hide'] = isset($this->prefs['never_hide']) ? + $this->prefs['never_hide'] : $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] > 15; + $values['nm']['no_times'] = !$this->prefs['show_times']; $values['action'] = $persist['action'] = $values['nm']['action'] = $action; $values['action_id'] = $persist['action_id'] = $values['nm']['action_id'] = $action_id; $persist['called_as'] = $called_as; @@ -426,8 +437,8 @@ 'options-filter' => $this->filters, 'get_rows' => 'infolog.uiinfolog.get_rows', 'no_filter2' => True, - 'never_hide' => isset($GLOBALS['egw_info']['user']['preferences']['infolog']['never_hide']) ? - $GLOBALS['egw_info']['user']['preferences']['infolog']['never_hide'] : + 'never_hide' => isset($this->prefs['never_hide']) ? + $this->prefs['never_hide'] : $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] > 15, ); $values['main']['no_actions'] = $values['nm']['no_actions'] = True; diff --git a/infolog/setup/phpgw_de.lang b/infolog/setup/phpgw_de.lang index 9372c6c99d..24caec5695 100644 --- a/infolog/setup/phpgw_de.lang +++ b/infolog/setup/phpgw_de.lang @@ -151,6 +151,7 @@ new name infolog de neuer name new search infolog de Neue Suche no - cancel infolog de Nein - Abbruch no describtion, links or attachments infolog de Keine Beschreibung, Verküpfungen oder Anhänge +no details infolog de Keine Details no entries found, try again ... infolog de Kein Einträge gefunden, nochmal versuchen ... no filter infolog de kein Filter no links or attachments infolog de keine Verknüpfungen oder Anhänge diff --git a/infolog/setup/phpgw_en.lang b/infolog/setup/phpgw_en.lang index 7d9c02ed4b..127e49c7b1 100644 --- a/infolog/setup/phpgw_en.lang +++ b/infolog/setup/phpgw_en.lang @@ -151,6 +151,7 @@ new name infolog en new name new search infolog en New search no - cancel infolog en No - Cancel no describtion, links or attachments infolog en no describtion, links or attachments +no details infolog en no details no entries found, try again ... infolog en no entries found, try again ... no filter infolog en no Filter no links or attachments infolog en no links or attachments