save states of calendar view to session only when we are in calendar

This commit is contained in:
Klaus Leithoff 2010-07-16 09:03:14 +00:00
parent dfc04c4b29
commit f68be7acfd

View File

@ -371,16 +371,19 @@ class calendar_ui
$this->view_menuaction = $this->view == 'listview' ? 'calendar.calendar_uilist.listview' : 'calendar.calendar_uiviews.'.$this->view; $this->view_menuaction = $this->view == 'listview' ? 'calendar.calendar_uilist.listview' : 'calendar.calendar_uiviews.'.$this->view;
if ($this->debug > 0 || $this->debug == 'manage_states') $this->bo->debug_message('uical::manage_states(%1) session was %2, states now %3',True,$set_states,$states_session,$states); if ($this->debug > 0 || $this->debug == 'manage_states') $this->bo->debug_message('uical::manage_states(%1) session was %2, states now %3',True,$set_states,$states_session,$states);
// save the states in the session // save the states in the session only when we are in calendar
$GLOBALS['egw']->session->appsession('session_data','calendar',$states); if ($GLOBALS['egw_info']['flags']['currentapp']=='calendar')
// save defined states into the user-prefs
if(!empty($states) && is_array($states))
{ {
$saved_states = serialize(array_intersect_key($states,array_flip($this->states_to_save))); $GLOBALS['egw']->session->appsession('session_data','calendar',$states);
if ($saved_states != $this->cal_prefs['saved_states']) // save defined states into the user-prefs
if(!empty($states) && is_array($states))
{ {
$GLOBALS['egw']->preferences->add('calendar','saved_states',$saved_states); $saved_states = serialize(array_intersect_key($states,array_flip($this->states_to_save)));
$GLOBALS['egw']->preferences->save_repository(false,'user',true); if ($saved_states != $this->cal_prefs['saved_states'])
{
$GLOBALS['egw']->preferences->add('calendar','saved_states',$saved_states);
$GLOBALS['egw']->preferences->save_repository(false,'user',true);
}
} }
} }
} }