* * http://www.radix.net/~cknudsen * * Modified by Mark Peters * * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ class uipreferences { // var $template_dir; var $template; var $bo; var $debug = False; // var $debug = True; var $theme; var $public_functions = array( 'preferences' => True ); function uipreferences() { global $GLOBALS; $GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs'); $this->template = $GLOBALS['phpgw']->template; $this->theme = $GLOBALS['phpgw_info']['theme']; $this->bo = CreateObject('calendar.bopreferences'); } function preferences() { global $GLOBALS; unset($GLOBALS['phpgw_info']['flags']['noheader']); unset($GLOBALS['phpgw_info']['flags']['nonavbar']); $GLOBALS['phpgw_info']['flags']['noappheader'] = True; $GLOBALS['phpgw_info']['flags']['noappfooter'] = True; $GLOBALS['phpgw']->common->phpgw_header(); $this->template->set_file( Array( 'pref' =>'pref.tpl', 'pref_colspan' =>'pref_colspan.tpl', 'pref_list' =>'pref_list.tpl' ) ); $var = Array( 'title' => lang('Calendar preferences'), 'action_url' => $GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.bopreferences.preferences')), 'bg_color ' => $this->theme['th_bg'], 'submit_lang' => lang('submit'), 'text' => ' ' ); $this->output_template_array('row','pref_colspan',$var); $this->display_item(lang('show day view on main screen'),'bo->prefs['calendar']['mainscreen_showevents']?' checked':'').'>'); $days = Array( 'Monday', 'Sunday', 'Saturday' ); $str = ''; for($i=0;$ibo->prefs['calendar']['weekdaystarts']==$days[$i]?' selected':'').'>'.lang($days[$i]).''."\n"; } $this->display_item(lang('weekday starts on'),''."\n"); $str = ''; for ($i=0; $i<24; $i++) { $str .= ''."\n"; } $this->display_item(lang('work day starts on'),''."\n"); $str = ''; for ($i=0; $i<24; $i++) { $str .= ''; } $this->display_item(lang('work day ends on'),''."\n"); if(strpos('.',$this->bo->prefs['calendar']['defaultcalendar'])) { $temp = explode('.',$this->bo->prefs['calendar']['defaultcalendar']); $this->bo->prefs['calendar']['defaultcalendar'] = $temp[0]; } $selected[$this->bo->prefs['calendar']['defaultcalendar']] = ' selected'; if (!isset($this->bo->prefs['calendar']['defaultcalendar'])) { $selected['month'] = ' selected'; } $str = ''; $this->display_item(lang('default calendar view'),$str); $selected = array(); $selected[$this->bo->prefs['calendar']['defaultfilter']] = ' selected'; if (!isset($this->bo->prefs['calendar']['defaultfilter']) || $this->bo->prefs['calendar']['defaultfilter'] == 'private') { $selected['private'] = ' selected'; } $str = ''; $this->display_item(lang('Default calendar filter'),$str); $var = Array( 5 => '5', 10 => '10', 15 => '15', 20 => '20', 30 => '30', 45 => '45', 60 => '60' ); $str = ''; while(list($key,$value) = each($var)) { $str .= ''."\n"; } $this->display_item(lang('Display interval in Day View'),''."\n"); $this->display_item(lang('Send/receive updates via email'),'bo->prefs['calendar']['send_updates']?' checked':'').'>'."\n"); $this->display_item(lang('Display status of events'),'bo->prefs['calendar']['display_status']?' checked':'').'>'."\n"); $this->display_item(lang('When creating new events default set to private'),'bo->prefs['calendar']['default_private']?' checked':'').'>'."\n"); $this->display_item(lang('Display mini calendars when printing'),'bo->prefs['calendar']['display_minicals']?' checked':'').'>'."\n"); $this->display_item(lang('Print calendars in black & white'),'bo->prefs['calendar']['print_black_white']?' checked':'').'>'."\n"); $this->template->pparse('out','pref'); } function output_template_array($row,$list,$var) { $this->template->set_var($var); $this->template->parse($row,$list,True); } function display_item($field,$data) { global $GLOBALS; static $tr_color; $tr_color = $GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color); $var = Array( 'bg_color' => $tr_color, 'field' => $field, 'data' => $data ); $this->output_template_array('row','pref_list',$var); } }