diff --git a/calendar/inc/class.uicalendar.inc.php b/calendar/inc/class.uicalendar.inc.php index a1d156a248..219242caf7 100755 --- a/calendar/inc/class.uicalendar.inc.php +++ b/calendar/inc/class.uicalendar.inc.php @@ -13,4665 +13,4665 @@ * option) any later version. * \**************************************************************************/ - /* $Id$ */ + /* $Id$ */ - class uicalendar - { - var $template; - var $template_dir; + class uicalendar + { + var $template; + var $template_dir; - var $bo; - var $cat; + var $bo; + var $cat; - var $holidays; - var $holiday_color; + var $holidays; + var $holiday_color; - var $debug = False; -// var $debug = True; + var $debug = False; +// var $debug = True; - var $cat_id; - var $theme; - var $link_tpl; + var $cat_id; + var $theme; + var $link_tpl; - // planner related variables - var $planner_header; - var $planner_rows; + // planner related variables + var $planner_header; + var $planner_rows; - var $planner_group_members; + var $planner_group_members; - var $planner_firstday; - var $planner_lastday; - var $planner_days; + var $planner_firstday; + var $planner_lastday; + var $planner_days; - var $planner_end_month; - var $planner_end_year; - var $planner_days_in_end_month; + var $planner_end_month; + var $planner_end_year; + var $planner_days_in_end_month; - var $planner_intervals = array( // conversation hour and interval depending on intervals_per_day - // 1 1 1 1 1 1 1 1 1 1 2 2 2 2 - // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 - '1' => array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), // 0=0-23h - '2' => array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0), // 0=0-12h, 1=12-23h - '3' => array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2), // 0=0-12h, 2=12-18h, 3=18-23h - '4' => array(0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3) // 0=0-7, 7-12h, 3=12-18h, 4=18-23h - ); + var $planner_intervals = array( // conversation hour and interval depending on intervals_per_day + // 1 1 1 1 1 1 1 1 1 1 2 2 2 2 + // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 + '1' => array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), // 0=0-23h + '2' => array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0), // 0=0-12h, 1=12-23h + '3' => array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2), // 0=0-12h, 2=12-18h, 3=18-23h + '4' => array(0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3) // 0=0-7, 7-12h, 3=12-18h, 4=18-23h + ); - var $public_functions = array( - 'mini_calendar' => True, - 'index' => True, - 'month' => True, - 'get_month' => True, - 'week' => True, - 'get_week' => True, - 'year' => True, - 'view' => True, - 'edit' => True, - 'export' => True, - 'reinstate_list' => True, - 'reinstate' => True, - 'add' => True, - 'delete' => True, - 'preferences' => True, - 'day' => True, - 'edit_status' => True, - 'set_action' => True, - 'planner' => True, - 'modify_ext_partlist' => True, - 'matrixselect' => True, - 'viewmatrix' => True, - 'search' => True, - 'header' => True, - 'footer' => True, - 'css' => True, - ); + var $public_functions = array( + 'mini_calendar' => True, + 'index' => True, + 'month' => True, + 'get_month' => True, + 'week' => True, + 'get_week' => True, + 'year' => True, + 'view' => True, + 'edit' => True, + 'export' => True, + 'reinstate_list' => True, + 'reinstate' => True, + 'add' => True, + 'delete' => True, + 'preferences' => True, + 'day' => True, + 'edit_status' => True, + 'set_action' => True, + 'planner' => True, + 'modify_ext_partlist' => True, + 'matrixselect' => True, + 'viewmatrix' => True, + 'search' => True, + 'header' => True, + 'footer' => True, + 'css' => True, + ); - function uicalendar() - { - $GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs'); - $GLOBALS['phpgw']->browser = CreateObject('phpgwapi.browser'); + function uicalendar() + { + $GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs'); + $GLOBALS['phpgw']->browser = CreateObject('phpgwapi.browser'); - $this->theme = $GLOBALS['phpgw_info']['theme']; + $this->theme = $GLOBALS['phpgw_info']['theme']; - $this->bo = CreateObject('calendar.bocalendar',1); - $this->cat = &$this->bo->cat; + $this->bo = CreateObject('calendar.bocalendar',1); + $this->cat = &$this->bo->cat; - print_debug('BO Owner',$this->bo->owner); + print_debug('BO Owner',$this->bo->owner); - $this->template = $GLOBALS['phpgw']->template; - $this->template_dir = $GLOBALS['phpgw']->common->get_tpl_dir('calendar'); + $this->template = $GLOBALS['phpgw']->template; + $this->template_dir = $GLOBALS['phpgw']->common->get_tpl_dir('calendar'); - $this->holiday_color = (substr($this->theme['bg06'],0,1)=='#'?'':'#').$this->theme['bg06']; + $this->holiday_color = (substr($this->theme['bg06'],0,1)=='#'?'':'#').$this->theme['bg06']; - $this->cat_id = $this->bo->cat_id; + $this->cat_id = $this->bo->cat_id; - $this->link_tpl = CreateObject('phpgwapi.Template',$this->template_dir); - $this->link_tpl->set_unknowns('remove'); - $this->link_tpl->set_file( - Array( - 'link_picture' => 'link_pict.tpl' - ) - ); - $this->link_tpl->set_block('link_picture','link_pict','link_pict'); - $this->link_tpl->set_block('link_picture','pict','pict'); - $this->link_tpl->set_block('link_picture','link_open','link_open'); - $this->link_tpl->set_block('link_picture','link_close','link_close'); - $this->link_tpl->set_block('link_picture','link_text','link_text'); + $this->link_tpl = CreateObject('phpgwapi.Template',$this->template_dir); + $this->link_tpl->set_unknowns('remove'); + $this->link_tpl->set_file( + Array( + 'link_picture' => 'link_pict.tpl' + ) + ); + $this->link_tpl->set_block('link_picture','link_pict','link_pict'); + $this->link_tpl->set_block('link_picture','pict','pict'); + $this->link_tpl->set_block('link_picture','link_open','link_open'); + $this->link_tpl->set_block('link_picture','link_close','link_close'); + $this->link_tpl->set_block('link_picture','link_text','link_text'); - if($this->bo->use_session) - { - // save return-fkt for add, view, ... - list(,,$fkt) = explode('.',$_GET['menuaction']); - if ($fkt == 'day' || $fkt == 'week' || $fkt == 'month' || $fkt == 'year' || $fkt == 'planner') - { - $this->bo->return_to = $_GET['menuaction']. - sprintf('&date=%04d%02d%02d',$this->bo->year,$this->bo->month,$this->bo->day); - // reset the matrixview participants - $GLOBALS['phpgw']->session->appsession('participants', NULL,''); - } - $this->bo->save_sessiondata(); - } - $this->always_app_header = $this->bo->prefs['common']['template_set'] == 'idots'; + if($this->bo->use_session) + { + // save return-fkt for add, view, ... + list(,,$fkt) = explode('.',$_GET['menuaction']); + if ($fkt == 'day' || $fkt == 'week' || $fkt == 'month' || $fkt == 'year' || $fkt == 'planner') + { + $this->bo->return_to = $_GET['menuaction']. + sprintf('&date=%04d%02d%02d',$this->bo->year,$this->bo->month,$this->bo->day); + // reset the matrixview participants + $GLOBALS['phpgw']->session->appsession('participants', NULL,''); + } + $this->bo->save_sessiondata(); + } + $this->always_app_header = $this->bo->prefs['common']['template_set'] == 'idots'; - print_debug('UI',$this->_debug_sqsof()); + print_debug('UI',$this->_debug_sqsof()); - if (!is_object($GLOBALS['phpgw']->html)) - { - $GLOBALS['phpgw']->html = CreateObject('phpgwapi.html'); - } - $this->html = &$GLOBALS['phpgw']->html; - } + if (!is_object($GLOBALS['phpgw']->html)) + { + $GLOBALS['phpgw']->html = CreateObject('phpgwapi.html'); + } + $this->html = &$GLOBALS['phpgw']->html; - /* Public functions */ + if(!isset($this->bo->prefs['calendar']['interval'])) + { + $this->bo->prefs['calendar']['interval'] = 30; + $GLOBALS['phpgw']->preferences->add('calendar','interval',30); + $GLOBALS['phpgw']->preferences->save_repository(); + } + } - function mini_calendar($params) - { - static $mini_cal_tpl; - if(!is_array($params)) - { - return; - } + /* Public functions */ - if($params['month'] == 0) - { - $params['month'] = 12; - $params['year'] = $params['year'] - 1; - } - elseif($params['month'] == 13) - { - $params['month'] = 1; - $params['year'] = $params['year'] + 1; - } + function mini_calendar($params) + { + static $mini_cal_tpl; + if(!is_array($params)) + { + return; + } - $this->bo->store_to_cache( - Array( - 'smonth' => $params['month'], - 'sday' => 1, - 'syear' => $params['year'] - ) - ); + if($params['month'] == 0) + { + $params['month'] = 12; + $params['year'] = $params['year'] - 1; + } + elseif($params['month'] == 13) + { + $params['month'] = 1; + $params['year'] = $params['year'] + 1; + } - $params['link'] = (!isset($params['link'])?'':$params['link']); - $params['buttons'] = (!isset($params['buttons'])?'none':$params['buttons']); - $params['outside_month'] = (!isset($params['outside_month'])?True:$params['outside_month']); + $this->bo->store_to_cache( + Array( + 'smonth' => $params['month'], + 'sday' => 1, + 'syear' => $params['year'] + ) + ); - $this->bo->read_holidays($params['year']); + $params['link'] = (!isset($params['link'])?'':$params['link']); + $params['buttons'] = (!isset($params['buttons'])?'none':$params['buttons']); + $params['outside_month'] = (!isset($params['outside_month'])?True:$params['outside_month']); - $date = $GLOBALS['phpgw']->datetime->makegmttime(0,0,0,$params['month'],$params['day'],$params['year']); - $month_ago = (int)(date('Ymd',mktime(0,0,0,$params['month'] - 1,$params['day'],$params['year']))); - $month_ahead = (int)(date('Ymd',mktime(0,0,0,$params['month'] + 1,$params['day'],$params['year']))); - $monthstart = (int)(date('Ymd',mktime(0,0,0,$params['month'],1,$params['year']))); - $monthend = (int)(date('Ymd',mktime(0,0,0,$params['month'] + 1,0,$params['year']))); + $this->bo->read_holidays($params['year']); - $weekstarttime = $GLOBALS['phpgw']->datetime->get_weekday_start($params['year'],$params['month'],1); + $date = $GLOBALS['phpgw']->datetime->makegmttime(0,0,0,$params['month'],$params['day'],$params['year']); + $month_ago = (int)(date('Ymd',mktime(0,0,0,$params['month'] - 1,$params['day'],$params['year']))); + $month_ahead = (int)(date('Ymd',mktime(0,0,0,$params['month'] + 1,$params['day'],$params['year']))); + $monthstart = (int)(date('Ymd',mktime(0,0,0,$params['month'],1,$params['year']))); + $monthend = (int)(date('Ymd',mktime(0,0,0,$params['month'] + 1,0,$params['year']))); - print_debug('mini_calendar:monthstart',$monthstart); - print_debug('mini_calendar:weekstarttime',date('Ymd H:i:s',$weekstarttime)); + $weekstarttime = $GLOBALS['phpgw']->datetime->get_weekday_start($params['year'],$params['month'],1); - if(!is_object($mini_cal_tpl)) - { - $mini_cal_tpl = CreateObject('phpgwapi.Template',$this->template_dir); - $mini_cal_tpl->set_unknowns('remove'); - $mini_cal_tpl->set_file( - Array( - 'mini_calendar' => 'mini_cal.tpl' - ) - ); - $mini_cal_tpl->set_block('mini_calendar','mini_cal','mini_cal'); - $mini_cal_tpl->set_block('mini_calendar','mini_week','mini_week'); - $mini_cal_tpl->set_block('mini_calendar','mini_day','mini_day'); - } + print_debug('mini_calendar:monthstart',$monthstart); + print_debug('mini_calendar:weekstarttime',date('Ymd H:i:s',$weekstarttime)); + + if(!is_object($mini_cal_tpl)) + { + $mini_cal_tpl = CreateObject('phpgwapi.Template',$this->template_dir); + $mini_cal_tpl->set_unknowns('remove'); + $mini_cal_tpl->set_file( + Array( + 'mini_calendar' => 'mini_cal.tpl' + ) + ); + $mini_cal_tpl->set_block('mini_calendar','mini_cal','mini_cal'); + $mini_cal_tpl->set_block('mini_calendar','mini_week','mini_week'); + $mini_cal_tpl->set_block('mini_calendar','mini_day','mini_day'); + } - if($this->bo->printer_friendly == False) - { -//NDEE $month = '' . lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y').''; - $month = '' . lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y').''; - } - else - { - $month = lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y'); - } + if($this->bo->printer_friendly == False) + { +//NDEE $month = '' . lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y').''; + $month = '' . lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y').''; + } + else + { + $month = lang($GLOBALS['phpgw']->common->show_date($date['raw'],'F')).' '.$GLOBALS['phpgw']->common->show_date($date['raw'],'Y'); + } - $var = Array( - 'cal_img_root' => $GLOBALS['phpgw']->common->image('calendar','mini-calendar-bar'), - 'bgcolor' => $this->theme['bg_color'], - 'bgcolor1' => $this->theme['bg_color'], - 'month' => $month, - 'bgcolor2' => $this->theme['cal_dayview'], - 'holiday_color' => $this->holiday_color - ); + $var = Array( + 'cal_img_root' => $GLOBALS['phpgw']->common->image('calendar','mini-calendar-bar'), + 'bgcolor' => $this->theme['bg_color'], + 'bgcolor1' => $this->theme['bg_color'], + 'month' => $month, + 'bgcolor2' => $this->theme['cal_dayview'], + 'holiday_color' => $this->holiday_color + ); - $mini_cal_tpl->set_var($var); + $mini_cal_tpl->set_var($var); - switch(strtolower($params['buttons'])) - { - case 'right': - $var = Array( - 'nextmonth' => '' - ); - break; - case 'left': - $var = Array( - 'prevmonth' => '' - ); - break; - case 'both': - $var = Array( - 'prevmonth' => '', - 'nextmonth' => '' - ); - break; - case 'none': - default: - $var = Array( - 'prevmonth' => '', - 'nextmonth' => '' - ); - break; - } - $mini_cal_tpl->set_var($var); + switch(strtolower($params['buttons'])) + { + case 'right': + $var = Array( + 'nextmonth' => '' + ); + break; + case 'left': + $var = Array( + 'prevmonth' => '' + ); + break; + case 'both': + $var = Array( + 'prevmonth' => '', + 'nextmonth' => '' + ); + break; + case 'none': + default: + $var = Array( + 'prevmonth' => '', + 'nextmonth' => '' + ); + break; + } + $mini_cal_tpl->set_var($var); - if(!$mini_cal_tpl->get_var('daynames')) - { - for($i=0;$i<7;$i++) - { - $var = Array( - 'dayname' => '' . lang($GLOBALS['phpgw']->datetime->days_short[$i]) . '', - 'day_image' => '' - ); - $this->output_template_array($mini_cal_tpl,'daynames','mini_day',$var); - } - } - $today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime); - unset($date); - for($i=$weekstarttime + $GLOBALS['phpgw']->datetime->tz_offset;date('Ymd',$i)<=$monthend;$i += (24 * 3600 * 7)) - { - unset($var); - $daily = $this->set_week_array($i - $GLOBALS['phpgw']->datetime->tz_offset,$cellcolor,$weekly); - foreach($daily as $date => $day_params) - { - print_debug('Mini-Cal Date',$date); - $year = (int)(substr($date,0,4)); - $month = (int)(substr($date,4,2)); - $day = (int)(substr($date,6,2)); - $str = ''; - if(($date >= $monthstart && $date <= $monthend) || $params['outside_month'] == True) - { - if(!$this->bo->printer_friendly && $params['link']) - { + if(!$mini_cal_tpl->get_var('daynames')) + { + for($i=0;$i<7;$i++) + { + $var = Array( + 'dayname' => '' . lang($GLOBALS['phpgw']->datetime->days_short[$i]) . '', + 'day_image' => '' + ); + $this->output_template_array($mini_cal_tpl,'daynames','mini_day',$var); + } + } + $today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime); + unset($date); + for($i=$weekstarttime + $GLOBALS['phpgw']->datetime->tz_offset;date('Ymd',$i)<=$monthend;$i += (24 * 3600 * 7)) + { + unset($var); + $daily = $this->set_week_array($i - $GLOBALS['phpgw']->datetime->tz_offset,$cellcolor,$weekly); + foreach($daily as $date => $day_params) + { + print_debug('Mini-Cal Date',$date); + $year = (int)(substr($date,0,4)); + $month = (int)(substr($date,4,2)); + $day = (int)(substr($date,6,2)); + $str = ''; + if(($date >= $monthstart && $date <= $monthend) || $params['outside_month'] == True) + { + if(!$this->bo->printer_friendly && $params['link']) + { //NDEE: class def what for? - $str = ''.$day.''; - } - else - { + $str = ''.$day.''; + } + else + { //NDEE: printer-friendly (mini-calendar) - $str = $day; - } + $str = $day; + } - } - else - { - $day_params['day_image'] = ''; - } - $var[] = Array( - 'day_image' => $day_params['day_image'], - 'dayname' => $str - ); - } - for($l=0;$loutput_template_array($mini_cal_tpl,'monthweek_day','mini_day',$var[$l]); - } - $mini_cal_tpl->parse('display_monthweek','mini_week',True); - $mini_cal_tpl->set_var('dayname',''); - $mini_cal_tpl->set_var('monthweek_day',''); - } + } + else + { + $day_params['day_image'] = ''; + } + $var[] = Array( + 'day_image' => $day_params['day_image'], + 'dayname' => $str + ); + } + for($l=0;$loutput_template_array($mini_cal_tpl,'monthweek_day','mini_day',$var[$l]); + } + $mini_cal_tpl->parse('display_monthweek','mini_week',True); + $mini_cal_tpl->set_var('dayname',''); + $mini_cal_tpl->set_var('monthweek_day',''); + } - $return_value = $mini_cal_tpl->fp('out','mini_cal'); - $mini_cal_tpl->set_var('display_monthweek',''); -// $mini_cal_tpl->set_var('daynames',''); -// unset($p); - return $return_value; - } + $return_value = $mini_cal_tpl->fp('out','mini_cal'); + $mini_cal_tpl->set_var('display_monthweek',''); +// $mini_cal_tpl->set_var('daynames',''); +// unset($p); + return $return_value; + } - function index($params='') - { - if (!$params) - { - foreach(array('date','year','month','day') as $field) - { - if (isset($_GET[$field])) - { - $params[$field] = $_GET[$field]; - } - } - } - $GLOBALS['phpgw']->redirect($this->page('',$params)); - } + function index($params='') + { + if (!$params) + { + foreach(array('date','year','month','day') as $field) + { + if (isset($_GET[$field])) + { + $params[$field] = $_GET[$field]; + } + } + } + $GLOBALS['phpgw']->redirect($this->page('',$params)); + } // NDEE: printer-friendly - function printer_friendly($body,$app_header='') - { - if($this->bo->printer_friendly) - { - $new_body = ''."\n" - .''."\n" -// .''."\n" - .''."\n" - .' - - - '."\n" - .$this->bo->debug_string.$body - .' - - '."\n" - .'