using static html methods and autoloaded $egw->objects

This commit is contained in:
Ralf Becker 2008-03-21 20:30:19 +00:00
parent f7d571a952
commit 30ede51997
4 changed files with 81 additions and 109 deletions

View File

@ -27,6 +27,8 @@ define('WEEK_s',7*DAY_s);
*/ */
define('EGW_ACL_READ_FOR_PARTICIPANTS',EGW_ACL_CUSTOM_1); define('EGW_ACL_READ_FOR_PARTICIPANTS',EGW_ACL_CUSTOM_1);
require_once(EGW_INCLUDE_ROOT.'/calendar/inc/class.socal.inc.php');
/** /**
* Class to access all calendar data * Class to access all calendar data
* *
@ -45,7 +47,6 @@ define('EGW_ACL_READ_FOR_PARTICIPANTS',EGW_ACL_CUSTOM_1);
* *
* All permanent debug messages of the calendar-code should done via the debug-message method of this class !!! * All permanent debug messages of the calendar-code should done via the debug-message method of this class !!!
*/ */
class bocal class bocal
{ {
/** /**
@ -155,21 +156,10 @@ class bocal
function bocal() function bocal()
{ {
if ($this->debug > 0) $this->debug_message('bocal::bocal() started',True,$param); if ($this->debug > 0) $this->debug_message('bocal::bocal() started',True,$param);
$this->so = new socal();
$this->datetime = $GLOBALS['egw']->datatime;
foreach(array(
'so' => 'calendar.socal',
'datetime' => 'phpgwapi.datetime',
) as $my => $app_class)
{
list(,$class) = explode('.',$app_class);
if (!is_object($GLOBALS['egw']->$class))
{
//echo "<p>calling CreateObject($app_class)</p>\n".str_repeat(' ',4096);
$GLOBALS['egw']->$class = CreateObject($app_class);
}
$this->$my = &$GLOBALS['egw']->$class;
}
$this->common_prefs =& $GLOBALS['egw_info']['user']['preferences']['common']; $this->common_prefs =& $GLOBALS['egw_info']['user']['preferences']['common'];
$this->cal_prefs =& $GLOBALS['egw_info']['user']['preferences']['calendar']; $this->cal_prefs =& $GLOBALS['egw_info']['user']['preferences']['calendar'];
@ -199,9 +189,7 @@ class bocal
} }
//echo "registered resources="; _debug_array($this->resources); //echo "registered resources="; _debug_array($this->resources);
$config =& CreateObject('phpgwapi.config','calendar'); $this->config = config::read('calendar');
$this->config =& $config->read_repository();
unset($config);
} }
/** /**

View File

@ -84,19 +84,7 @@ class socal
*/ */
function socal() function socal()
{ {
foreach(array( $this->async = $GLOBALS['egw']->asyncservice;
'async' => 'phpgwapi.asyncservice',
) as $my => $app_class)
{
list(,$class) = explode('.',$app_class);
if (!is_object($GLOBALS['egw']->$class))
{
//echo "<p>calling CreateObject($app_class)</p>\n".str_repeat(' ',4096);
$GLOBALS['egw']->$class =& CreateObject($app_class);
}
$this->$my =& $GLOBALS['egw']->$class;
}
$this->db = $GLOBALS['egw']->db; $this->db = $GLOBALS['egw']->db;
$this->all_tables = array($this->cal_table); $this->all_tables = array($this->cal_table);

View File

@ -134,25 +134,20 @@ class uical
*/ */
function uical($use_bocalupdate=false,$set_states=NULL) function uical($use_bocalupdate=false,$set_states=NULL)
{ {
foreach(array( $bo_class = $use_bocalupdate ? 'bocalupdate' : 'bocal';
'bo' => $use_bocalupdate ? 'calendar.bocalupdate' : 'calendar.bocal', require_once(EGW_INCLUDE_ROOT.'/calendar/inc/class.'.$bo_class.'.inc.php');
'jscal' => 'phpgwapi.jscalendar', // for the sidebox-menu $this->bo = new $bo_class();
'html' => 'phpgwapi.html', $this->jscal = $GLOBALS['egw']->jscalendar;
'datetime' => 'phpgwapi.datetime', $this->datetime = $GLOBALS['egw']->datetime;
'accountsel' => 'phpgwapi.uiaccountsel', $this->accountsel = $GLOBALS['egw']->uiaccountsel;
) as $my => $app_class)
{
list(,$class) = explode('.',$app_class);
if (!is_object($GLOBALS['egw']->$class)) if ($GLOBALS['egw']->categories->app_name != 'calendar')
{
$GLOBALS['egw']->$class =& CreateObject($app_class);
}
$this->$my = &$GLOBALS['egw']->$class;
}
if (!is_object($this->cats))
{ {
$this->cats =& CreateObject('phpgwapi.categories','','calendar'); // we need an own instance to get the calendar cats $this->cats = new categories('','calendar'); // we need an own instance to get the calendar cats
}
else
{
$this->cats = $GLOBALS['egw']->categories;
} }
$this->common_prefs = &$GLOBALS['egw_info']['user']['preferences']['common']; $this->common_prefs = &$GLOBALS['egw_info']['user']['preferences']['common'];
$this->cal_prefs = &$GLOBALS['egw_info']['user']['preferences']['calendar']; $this->cal_prefs = &$GLOBALS['egw_info']['user']['preferences']['calendar'];
@ -231,7 +226,7 @@ class uical
$GLOBALS['egw_info']['flags']['include_xajax'] = true; $GLOBALS['egw_info']['flags']['include_xajax'] = true;
$GLOBALS['egw']->common->egw_header(); $GLOBALS['egw']->common->egw_header();
if ($_GET['msg']) echo '<p class="redItalic" align="center">'.$this->html->htmlspecialchars($_GET['msg'])."</p>\n"; if ($_GET['msg']) echo '<p class="redItalic" align="center">'.html::htmlspecialchars($_GET['msg'])."</p>\n";
if ($this->group_warning) echo '<p class="redItalic" align="center">'.$this->group_warning."</p>\n"; if ($this->group_warning) echo '<p class="redItalic" align="center">'.$this->group_warning."</p>\n";
} }
@ -386,11 +381,11 @@ class uical
{ {
if($event['priority'] == 3) if($event['priority'] == 3)
{ {
$icons[] = $this->html->image('calendar','high',lang('high priority')); $icons[] = html::image('calendar','high',lang('high priority'));
} }
if($event['recur_type'] != MCAL_RECUR_NONE) if($event['recur_type'] != MCAL_RECUR_NONE)
{ {
$icons[] = $this->html->image('calendar','recur',lang('recurring event')); $icons[] = html::image('calendar','recur',lang('recurring event'));
} }
// icons for single user, multiple users or group(s) and resources // icons for single user, multiple users or group(s) and resources
foreach($event['participants'] as $uid => $status) foreach($event['participants'] as $uid => $status)
@ -400,16 +395,16 @@ class uical
if (isset($icons['single']) || $GLOBALS['egw']->accounts->get_type($uid) == 'g') if (isset($icons['single']) || $GLOBALS['egw']->accounts->get_type($uid) == 'g')
{ {
unset($icons['single']); unset($icons['single']);
$icons['multiple'] = $this->html->image('calendar','users'); $icons['multiple'] = html::image('calendar','users');
} }
elseif (!isset($icons['multiple'])) elseif (!isset($icons['multiple']))
{ {
$icons['single'] = $this->html->image('calendar','single'); $icons['single'] = html::image('calendar','single');
} }
} }
elseif(!isset($icons[$uid{0}]) && isset($this->bo->resources[$uid{0}]) && isset($this->bo->resources[$uid{0}]['icon'])) elseif(!isset($icons[$uid{0}]) && isset($this->bo->resources[$uid{0}]) && isset($this->bo->resources[$uid{0}]['icon']))
{ {
$icons[$uid{0}] = $this->html->image($this->bo->resources[$uid{0}]['app'], $icons[$uid{0}] = html::image($this->bo->resources[$uid{0}]['app'],
($this->bo->resources[$uid{0}]['icon'] ? $this->bo->resources[$uid{0}]['icon'] : 'navbar'), ($this->bo->resources[$uid{0}]['icon'] ? $this->bo->resources[$uid{0}]['icon'] : 'navbar'),
lang($this->bo->resources[$uid{0}]['app']), lang($this->bo->resources[$uid{0}]['app']),
'width="16px" height="16px"'); 'width="16px" height="16px"');
@ -418,15 +413,15 @@ class uical
} }
if($event['non_blocking']) if($event['non_blocking'])
{ {
$icons[] = $this->html->image('calendar','nonblocking',lang('non blocking')); $icons[] = html::image('calendar','nonblocking',lang('non blocking'));
} }
if($event['public'] == 0) if($event['public'] == 0)
{ {
$icons[] = $this->html->image('calendar','private',lang('private')); $icons[] = html::image('calendar','private',lang('private'));
} }
if(isset($event['alarm']) && count($event['alarm']) >= 1 && !$is_private) if(isset($event['alarm']) && count($event['alarm']) >= 1 && !$is_private)
{ {
$icons[] = $this->html->image('calendar','alarm',lang('alarm')); $icons[] = html::image('calendar','alarm',lang('alarm'));
} }
return $icons; return $icons;
} }
@ -477,7 +472,7 @@ class uical
$vars['hour'] = $hour; $vars['hour'] = $hour;
$vars['minute'] = $minute; $vars['minute'] = $minute;
} }
return $this->html->a_href($content,'/index.php',$vars,' target="_blank" title="'.$this->html->htmlspecialchars(lang('Add')). return html::a_href($content,'/index.php',$vars,' target="_blank" title="'.html::htmlspecialchars(lang('Add')).
'" onclick="'.$this->popup('this.href','this.target').'; return false;"'); '" onclick="'.$this->popup('this.href','this.target').'; return false;"');
} }
@ -553,8 +548,8 @@ class uical
$title = array_shift($data); $title = array_shift($data);
$vars = array_merge($link_vars,$data); $vars = array_merge($link_vars,$data);
$icon = $this->html->image('calendar',$icon,lang($title)); $icon = html::image('calendar',$icon,lang($title));
$link = $view == 'add' ? $this->add_link($icon) : $this->html->a_href($icon,'/index.php',$vars); $link = $view == 'add' ? $this->add_link($icon) : html::a_href($icon,'/index.php',$vars);
$views .= '<td align="center">'.$link."</td>\n"; $views .= '<td align="center">'.$link."</td>\n";
} }
@ -614,15 +609,15 @@ class uical
), ),
) as $data) ) as $data)
{ {
$options .= '<option value="'.$data['value'].'"'.($data['selected'] ? ' selected="1"' : '').'>'.$this->html->htmlspecialchars($data['text'])."</option>\n"; $options .= '<option value="'.$data['value'].'"'.($data['selected'] ? ' selected="1"' : '').'>'.html::htmlspecialchars($data['text'])."</option>\n";
} }
$file[++$n] = $this->_select_box('displayed view','view',$options,$GLOBALS['egw']->link('/index.php')); $file[++$n] = $this->_select_box('displayed view','view',$options,$GLOBALS['egw']->link('/index.php'));
// Search // Search
$blur = addslashes($this->html->htmlspecialchars(lang('Search').'...')); $blur = addslashes(html::htmlspecialchars(lang('Search').'...'));
$value = @$_POST['keywords'] ? $this->html->htmlspecialchars($_POST['keywords']) : $blur; $value = @$_POST['keywords'] ? html::htmlspecialchars($_POST['keywords']) : $blur;
$file[++$n] = array( $file[++$n] = array(
'text' => $this->html->form('<input name="keywords" value="'.$value.'" style="width: 185px;"'. 'text' => html::form('<input name="keywords" value="'.$value.'" style="width: 185px;"'.
' onFocus="if(this.value==\''.$blur.'\') this.value=\'\';"'. ' onFocus="if(this.value==\''.$blur.'\') this.value=\'\';"'.
' onBlur="if(this.value==\'\') this.value=\''.$blur.'\';" title="'.lang('Search').'">', ' onBlur="if(this.value==\'\') this.value=\''.$blur.'\';" title="'.lang('Search').'">',
'','/index.php',array('menuaction'=>'calendar.uilist.listview')), '','/index.php',array('menuaction'=>'calendar.uilist.listview')),
@ -720,7 +715,7 @@ function load_cal(url,id) {
} }
// Import & Export // Import & Export
$file[] = array( $file[] = array(
'text' => lang('Export').': '.$this->html->a_href(lang('iCal'),'calendar.uiforms.export',$this->first ? array( 'text' => lang('Export').': '.html::a_href(lang('iCal'),'calendar.uiforms.export',$this->first ? array(
'start' => $this->bo->date2string($this->first), 'start' => $this->bo->date2string($this->first),
'end' => $this->bo->date2string($this->last), 'end' => $this->bo->date2string($this->last),
) : false), ) : false),
@ -728,8 +723,8 @@ function load_cal(url,id) {
'link' => False, 'link' => False,
); );
$file[] = array( $file[] = array(
'text' => lang('Import').': '.$this->html->a_href(lang('iCal'),'calendar.uiforms.import'). 'text' => lang('Import').': '.html::a_href(lang('iCal'),'calendar.uiforms.import').
' &amp; '.$this->html->a_href(lang('CSV'),'/calendar/csv_import.php'), ' &amp; '.html::a_href(lang('CSV'),'/calendar/csv_import.php'),
'no_lang' => True, 'no_lang' => True,
'link' => False, 'link' => False,
); );

View File

@ -343,7 +343,7 @@ class uiviews extends uical
'date' => $this->bo->date2string($week_start), 'date' => $this->bo->date2string($week_start),
); );
$title = lang('Wk').' '.adodb_date('W',$week_start); $title = lang('Wk').' '.adodb_date('W',$week_start);
$title = $this->html->a_href($title,$week_view,'',' title="'.lang('Weekview').'"'); $title = html::a_href($title,$week_view,'',' title="'.lang('Weekview').'"');
$content .= $this->timeGridWidget($this->tagWholeDayOnTop($week),$weeks == 2 ? 30 : 60,200,'',$title,0,$week_start+WEEK_s >= $this->last); $content .= $this->timeGridWidget($this->tagWholeDayOnTop($week),$weeks == 2 ? 30 : 60,200,'',$title,0,$week_start+WEEK_s >= $this->last);
} }
@ -453,12 +453,12 @@ class uiviews extends uical
# #
# // add navigation for previous and next # // add navigation for previous and next
# // prev. week # // prev. week
# $GLOBALS['egw_info']['flags']['app_header'] = $this->html->a_href($this->html->image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array( # $GLOBALS['egw_info']['flags']['app_header'] = html::a_href(html::image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array(
# 'menuaction' => $this->view_menuaction, # 'menuaction' => $this->view_menuaction,
# 'date' => date('Ymd',$this->first-$days*DAY_s), # 'date' => date('Ymd',$this->first-$days*DAY_s),
# )) . ' &nbsp; <b>'.$GLOBALS['egw_info']['flags']['app_header']; # )) . ' &nbsp; <b>'.$GLOBALS['egw_info']['flags']['app_header'];
# // next week # // next week
# $GLOBALS['egw_info']['flags']['app_header'] .= '</b> &nbsp; '.$this->html->a_href($this->html->image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array( # $GLOBALS['egw_info']['flags']['app_header'] .= '</b> &nbsp; '.html::a_href(html::image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array(
# 'menuaction' => $this->view_menuaction, # 'menuaction' => $this->view_menuaction,
# 'date' => date('Ymd',$this->last+$days*DAY_s), # 'date' => date('Ymd',$this->last+$days*DAY_s),
# )); # ));
@ -552,17 +552,17 @@ class uiviews extends uical
{ {
foreach(array('task','phone','note') as $type) foreach(array('task','phone','note') as $type)
{ {
$todo_label .= '&nbsp;'.$this->html->a_href( $this->html->image('infolog',$type,lang('Add')),'infolog.uiinfolog.edit',array( $todo_label .= '&nbsp;'.html::a_href( html::image('infolog',$type,lang('Add')),'infolog.uiinfolog.edit',array(
'type' => $type, 'type' => $type,
'start_time' => $ts, 'start_time' => $ts,
),' target="_blank" onclick="window.open(this.href,this.target,\'dependent=yes,width=750,height=590,scrollbars=yes,status=yes\'); return false;"'); ),' target="_blank" onclick="window.open(this.href,this.target,\'dependent=yes,width=750,height=590,scrollbars=yes,status=yes\'); return false;"');
} }
} }
$cols[1] = $this->html->div( $cols[1] = html::div(
$this->html->div($todo_label,'','calDayTodosHeader th')."\n". html::div($todo_label,'','calDayTodosHeader th')."\n".
$this->html->div($todos,'','calDayTodosTable'),'','calDayTodos'); html::div($todos,'','calDayTodosTable'),'','calDayTodos');
$cols['.1'] = 'width=30%'; $cols['.1'] = 'width=30%';
echo $this->html->table(array( echo html::table(array(
0 => $cols, 0 => $cols,
'.0' => 'valign="top"' '.0' => 'valign="top"'
),'class="calDayView"'); ),'class="calDayView"');
@ -735,9 +735,9 @@ class uiviews extends uical
// determine if the browser supports scrollIntoView: IE4+, firefox1.0+ and safari2.0+ does // determine if the browser supports scrollIntoView: IE4+, firefox1.0+ and safari2.0+ does
// then show all hours in a div of the size of the workday and scroll to the workday start // then show all hours in a div of the size of the workday and scroll to the workday start
// still disabled, as things need to be re-aranged first, to that the column headers are not scrolled // still disabled, as things need to be re-aranged first, to that the column headers are not scrolled
$this->scroll_to_wdstart = false;/*$this->use_time_grid && ($this->html->user_agent == 'msie' || $this->scroll_to_wdstart = false;/*$this->use_time_grid && (html::$user_agent == 'msie' ||
$this->html->user_agent == 'mozilla' && $this->html->ua_version >= 5.0 || html::$user_agent == 'mozilla' && html::ua_version >= 5.0 ||
$this->html->user_agent == 'safari' && $this->html->ua_version >= 2.0);*/ html::$user_agent == 'safari' && html::ua_version >= 2.0);*/
if ($this->scroll_to_wdstart) if ($this->scroll_to_wdstart)
{ {
@ -810,7 +810,7 @@ class uiviews extends uical
$html .= $indent."\t".'<div id="calDayCols" class="calDayCols'. $html .= $indent."\t".'<div id="calDayCols" class="calDayCols'.
($this->use_time_grid ? ($this->bo->common_prefs['timeformat'] == 12 ? '12h' : '') : 'NoTime').'">'."\n"; ($this->use_time_grid ? ($this->bo->common_prefs['timeformat'] == 12 ? '12h' : '') : 'NoTime').'">'."\n";
if ($this->html->user_agent == 'msie') // necessary IE hack - stupid thing ... if (html::$user_agent == 'msie') // necessary IE hack - stupid thing ...
{ {
// Lars Kneschke 2005-08-28 // Lars Kneschke 2005-08-28
// why do we use a div in a div which has the same height and width??? // why do we use a div in a div which has the same height and width???
@ -840,7 +840,7 @@ class uiviews extends uical
$dayColWidth,$indent."\t\t",$short_title,++$on_off & 1,$col_owner); $dayColWidth,$indent."\t\t",$short_title,++$on_off & 1,$col_owner);
++$n; ++$n;
} }
if ($this->html->user_agent == 'msie') $html .= "</div>\n"; if (html::$user_agent == 'msie') $html .= "</div>\n";
$html .= $indent."\t</div>\n"; // calDayCols $html .= $indent."\t</div>\n"; // calDayCols
} }
@ -932,16 +932,16 @@ class uiviews extends uical
if ($short_title === true) if ($short_title === true)
{ {
$title = $this->html->a_href($title,$day_view,'', $title = html::a_href($title,$day_view,'',
!isset($this->holidays[$day_ymd])?' title="'.lang('Dayview').'"':''); !isset($this->holidays[$day_ymd])?' title="'.lang('Dayview').'"':'');
} }
elseif ($short_title === false) elseif ($short_title === false)
{ {
// add arrows to go to the previous and next day (dayview only) // add arrows to go to the previous and next day (dayview only)
$day_view['date'] = $this->bo->date2string($ts -= 12*HOUR_s); $day_view['date'] = $this->bo->date2string($ts -= 12*HOUR_s);
$title = $this->html->a_href($this->html->image('phpgwapi','left',$this->bo->long_date($ts)),$day_view).' &nbsp; '.$title; $title = html::a_href(html::image('phpgwapi','left',$this->bo->long_date($ts)),$day_view).' &nbsp; '.$title;
$day_view['date'] = $this->bo->date2string($ts += 48*HOUR_s); $day_view['date'] = $this->bo->date2string($ts += 48*HOUR_s);
$title .= ' &nbsp; '.$this->html->a_href($this->html->image('phpgwapi','right',$this->bo->long_date($ts)),$day_view); $title .= ' &nbsp; '.html::a_href(html::image('phpgwapi','right',$this->bo->long_date($ts)),$day_view);
} }
$html .= $indent."\t".'<div style="height: '. $this->rowHeight .'%;" class="calDayColHeader '.$class.'"'.($holidays ? ' title="'.$holidays.'"':'').'>'. $html .= $indent."\t".'<div style="height: '. $this->rowHeight .'%;" class="calDayColHeader '.$class.'"'.($holidays ? ' title="'.$holidays.'"':'').'>'.
$title."</div>\n"; $title."</div>\n";
@ -1103,6 +1103,7 @@ class uiviews extends uical
if (!$tpl) if (!$tpl)
{ {
$tpl = $GLOBALS['egw']->template; $tpl = $GLOBALS['egw']->template;
$tpl->set_root($GLOBALS['egw']->common->get_tpl_dir('calendar')); $tpl->set_root($GLOBALS['egw']->common->get_tpl_dir('calendar'));
$tpl->set_file('event_widget_t','event_widget.tpl'); $tpl->set_file('event_widget_t','event_widget.tpl');
$tpl->set_block('event_widget_t','event_widget'); $tpl->set_block('event_widget_t','event_widget');
@ -1127,7 +1128,7 @@ class uiviews extends uical
} }
$is_private = !$this->bo->check_perms(EGW_ACL_READ,$event); $is_private = !$this->bo->check_perms(EGW_ACL_READ,$event);
$icons = !$is_private ? $this->event_icons($event) : array($this->html->image('calendar','private',lang('private'))); $icons = !$is_private ? $this->event_icons($event) : array(html::image('calendar','private',lang('private')));
$cats = $this->bo->categories($event['category'],$color); $cats = $this->bo->categories($event['category'],$color);
// these values control varius aspects of the geometry of the eventWidget // these values control varius aspects of the geometry of the eventWidget
@ -1173,9 +1174,9 @@ class uiviews extends uical
'body_icons' => $small ? implode("\n",$icons) : '', 'body_icons' => $small ? implode("\n",$icons) : '',
'icons' => implode('',$icons), 'icons' => implode('',$icons),
'timespan' => $timespan, 'timespan' => $timespan,
'title' => ($title = !$is_private ? $this->html->htmlspecialchars($event['title']) : lang('private')), 'title' => ($title = !$is_private ? html::htmlspecialchars($event['title']) : lang('private')),
'header' => $small_height ? $title : $timespan, 'header' => $small_height ? $title : $timespan,
'description' => !$is_private ? nl2br($this->html->htmlspecialchars($event['description'])) : '', 'description' => !$is_private ? nl2br(html::htmlspecialchars($event['description'])) : '',
'location' => !$is_private ? $this->add_nonempty($event['location'],lang('Location')) : '', 'location' => !$is_private ? $this->add_nonempty($event['location'],lang('Location')) : '',
'participants' => $participants, 'participants' => $participants,
'times' => !$event['multiday'] ? $this->add_nonempty($this->bo->timespan($event['start_m'],$event['end_m'],true),lang('Time')) : 'times' => !$event['multiday'] ? $this->add_nonempty($this->bo->timespan($event['start_m'],$event['end_m'],true),lang('Time')) :
@ -1186,7 +1187,7 @@ class uiviews extends uical
$this->add_nonempty($this->bo->format_date($event['end']),lang('End')), $this->add_nonempty($this->bo->format_date($event['end']),lang('End')),
'category' => !$is_private ? $this->add_nonempty($cats,lang('Category')) : '', 'category' => !$is_private ? $this->add_nonempty($cats,lang('Category')) : '',
// the tooltip is based on the content of the actual widget, this way it takes no extra bandwidth/volum // the tooltip is based on the content of the actual widget, this way it takes no extra bandwidth/volum
// 'tooltip' => $this->html->tooltip(False,False,array('BorderWidth'=>0,'Padding'=>0)), // 'tooltip' => html::tooltip(False,False,array('BorderWidth'=>0,'Padding'=>0)),
// various aspects of the geometry or style // various aspects of the geometry or style
'corner_radius' => $corner_radius.'px', 'corner_radius' => $corner_radius.'px',
'header_height' => $header_height.'px', 'header_height' => $header_height.'px',
@ -1218,7 +1219,7 @@ class uiviews extends uical
} }
*/ */
$tooltip = $tpl->fp('tooltip','event_tooltip'); $tooltip = $tpl->fp('tooltip','event_tooltip');
$tpl->set_var('tooltip',$this->html->tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0))); $tpl->set_var('tooltip',html::tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)));
$html = $tpl->fp('out',$block); $html = $tpl->fp('out',$block);
$view_link = $GLOBALS['egw']->link('/index.php',array('menuaction'=>'calendar.uiforms.edit','cal_id'=>$event['id'],'date'=>$this->bo->date2string($event['start']))); $view_link = $GLOBALS['egw']->link('/index.php',array('menuaction'=>'calendar.uiforms.edit','cal_id'=>$event['id'],'date'=>$this->bo->date2string($event['start'])));
@ -1249,10 +1250,10 @@ class uiviews extends uical
); );
} }
$ie_fix = ''; $ie_fix = '';
if ($this->html->user_agent == 'msie') // add a transparent image to make the event "opaque" to mouse events if (html::$user_agent == 'msie') // add a transparent image to make the event "opaque" to mouse events
{ {
$ie_fix = $indent."\t".$this->html->image('calendar','transparent.gif','', $ie_fix = $indent."\t".html::image('calendar','transparent.gif','',
$this->html->tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)). html::tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)).
' style="top:0px; left:0px; position:absolute; height:100%; width:100%; z-index:1"') . "\n"; ' style="top:0px; left:0px; position:absolute; height:100%; width:100%; z-index:1"') . "\n";
} }
if ($this->use_time_grid) if ($this->use_time_grid)
@ -1276,7 +1277,7 @@ class uiviews extends uical
$html = $indent.'<div id="'.$draggableID.'" class="calEvent'.($is_private ? 'Private' : ''). $html = $indent.'<div id="'.$draggableID.'" class="calEvent'.($is_private ? 'Private' : '').
'" style="'.$style.' border-color: '.$headerbgcolor.'; background: '.$background.'; z-index: 20;"'. '" style="'.$style.' border-color: '.$headerbgcolor.'; background: '.$background.'; z-index: 20;"'.
$popup.' '.$this->html->tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)). $popup.' '.html::tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)).
'>'."\n".$ie_fix.$html."\n". '>'."\n".$ie_fix.$html."\n".
$indent."</div>"."\n"; $indent."</div>"."\n";
@ -1296,8 +1297,8 @@ class uiviews extends uical
'eventId'=>$event['id'], 'eventId'=>$event['id'],
'eventOwner'=>$event['owner'], 'eventOwner'=>$event['owner'],
'calendarOwner'=>$owner, 'calendarOwner'=>$owner,
'errorImage'=>addslashes($this->html->image('phpgwapi','dialog_error',false,'style="width: 16px;"')), 'errorImage'=>addslashes(html::image('phpgwapi','dialog_error',false,'style="width: 16px;"')),
'loaderImage'=>addslashes($this->html->image('phpgwapi','ajax-loader')), 'loaderImage'=>addslashes(html::image('phpgwapi','ajax-loader')),
), ),
'calendar.dragDropFunctions.dragEvent', 'calendar.dragDropFunctions.dragEvent',
'calendar.dragDropFunctions.dropEvent', 'calendar.dragDropFunctions.dropEvent',
@ -1325,7 +1326,7 @@ class uiviews extends uical
{ {
return '<span class="calEventLabel">'.$label.'</span>:'. return '<span class="calEventLabel">'.$label.'</span>:'.
($one_per_line ? '<br>' : ' '). ($one_per_line ? '<br>' : ' ').
nl2br($this->html->htmlspecialchars($content)).'<br>'; nl2br(html::htmlspecialchars($content)).'<br>';
} }
return ''; return '';
} }
@ -1578,11 +1579,11 @@ class uiviews extends uical
if ($this->day >= 15) $prev = $t_arr; // we stay in the same month if ($this->day >= 15) $prev = $t_arr; // we stay in the same month
$prev['day'] = $this->day < 15 ? 15 : 1; $prev['day'] = $this->day < 15 ? 15 : 1;
$half = $this->bo->date2string($prev); $half = $this->bo->date2string($prev);
$title = $this->html->a_href($this->html->image('phpgwpai','first',lang('back one month'),$options=' alt="<<"'),array( $title = html::a_href(html::image('phpgwpai','first',lang('back one month'),$options=' alt="<<"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => $full, 'date' => $full,
)) . ' &nbsp; '. )) . ' &nbsp; '.
$this->html->a_href($this->html->image('phpgwpai','left',lang('back half a month'),$options=' alt="<"'),array( html::a_href(html::image('phpgwpai','left',lang('back half a month'),$options=' alt="<"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => $half, 'date' => $half,
)) . ' &nbsp; '.$title; )) . ' &nbsp; '.$title;
@ -1604,11 +1605,11 @@ class uiviews extends uical
if ($this->day < 15) $next = $t_arr; // we stay in the same month if ($this->day < 15) $next = $t_arr; // we stay in the same month
$next['day'] = $this->day < 15 ? 15 : 1; $next['day'] = $this->day < 15 ? 15 : 1;
$half = $this->bo->date2string($next); $half = $this->bo->date2string($next);
$title .= ' &nbsp; '.$this->html->a_href($this->html->image('phpgwpai','right',lang('forward half a month'),$options=' alt=">>"'),array( $title .= ' &nbsp; '.html::a_href(html::image('phpgwpai','right',lang('forward half a month'),$options=' alt=">>"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => $half, 'date' => $half,
)). ' &nbsp; '. )). ' &nbsp; '.
$this->html->a_href($this->html->image('phpgwpai','last',lang('forward one month'),$options=' alt=">>"'),array( html::a_href(html::image('phpgwpai','last',lang('forward one month'),$options=' alt=">>"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => $full, 'date' => $full,
)); ));
@ -1645,21 +1646,21 @@ class uiviews extends uical
$title = lang('Week').' '.date('W',$t); $title = lang('Week').' '.date('W',$t);
if ($days > 7) if ($days > 7)
{ {
$title = $this->html->a_href($title,array( $title = html::a_href($title,array(
'menuaction' => 'calendar.uiviews.planner', 'menuaction' => 'calendar.uiviews.planner',
'planner_days' => 7, 'planner_days' => 7,
'date' => date('Ymd',$t), 'date' => date('Ymd',$t),
),false,' title="'.$this->html->htmlspecialchars(lang('Weekview')).'"'); ),false,' title="'.html::htmlspecialchars(lang('Weekview')).'"');
} }
else else
{ {
// prev. week // prev. week
$title = $this->html->a_href($this->html->image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array( $title = html::a_href(html::image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => date('Ymd',$t-7*DAY_s), 'date' => date('Ymd',$t-7*DAY_s),
)) . ' &nbsp; <b>'.$title; )) . ' &nbsp; <b>'.$title;
// next week // next week
$title .= '</b> &nbsp; '.$this->html->a_href($this->html->image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array( $title .= '</b> &nbsp; '.html::a_href(html::image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => date('Ymd',$t+7*DAY_s), 'date' => date('Ymd',$t+7*DAY_s),
)); ));
@ -1703,31 +1704,31 @@ class uiviews extends uical
} }
if ($days > 1) if ($days > 1)
{ {
$title = $this->html->a_href($title,array( $title = html::a_href($title,array(
'menuaction' => 'calendar.uiviews.planner', 'menuaction' => 'calendar.uiviews.planner',
'planner_days' => 1, 'planner_days' => 1,
'date' => date('Ymd',$t), 'date' => date('Ymd',$t),
),false,strpos($class,'calHoliday') !== false || strpos($class,'calBirthday') !== false ? '' : ' title="'.$this->html->htmlspecialchars(lang('Dayview')).'"'); ),false,strpos($class,'calHoliday') !== false || strpos($class,'calBirthday') !== false ? '' : ' title="'.html::htmlspecialchars(lang('Dayview')).'"');
} }
if ($days < 5) if ($days < 5)
{ {
if (!$i) // prev. day only for the first day if (!$i) // prev. day only for the first day
{ {
$title = $this->html->a_href($this->html->image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array( $title = html::a_href(html::image('phpgwpai','first',lang('previous'),$options=' alt="<<"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => date('Ymd',$start-DAY_s), 'date' => date('Ymd',$start-DAY_s),
)) . ' &nbsp; '.$title; )) . ' &nbsp; '.$title;
} }
if ($i == $days-1) // next day only for the last day if ($i == $days-1) // next day only for the last day
{ {
$title .= ' &nbsp; '.$this->html->a_href($this->html->image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array( $title .= ' &nbsp; '.html::a_href(html::image('phpgwpai','last',lang('next'),$options=' alt=">>"'),array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,
'date' => date('Ymd',$start+DAY_s), 'date' => date('Ymd',$start+DAY_s),
)); ));
} }
} }
$content .= $indent."\t".'<div class="plannerDayScale '.$class.'" style="left: '.$left.'%; width: '.$day_width.'%;"'. $content .= $indent."\t".'<div class="plannerDayScale '.$class.'" style="left: '.$left.'%; width: '.$day_width.'%;"'.
($holidays ? ' title="'.$this->html->htmlspecialchars($holidays).'"' : '').'>'.$title."</div>\n"; ($holidays ? ' title="'.html::htmlspecialchars($holidays).'"' : '').'>'.$title."</div>\n";
} }
$content .= $indent."</div>\n"; // end of plannerScale $content .= $indent."</div>\n"; // end of plannerScale
@ -1915,7 +1916,7 @@ class uiviews extends uical
return $indent.'<div class="plannerEvent'.($data['private'] ? 'Private' : '').'" style="left: '.$left. return $indent.'<div class="plannerEvent'.($data['private'] ? 'Private' : '').'" style="left: '.$left.
'%; width: '.$width.'%; background-color: '.$color.';"'.$data['popup'].' '. '%; width: '.$width.'%; background-color: '.$color.';"'.$data['popup'].' '.
$this->html->tooltip($data['tooltip'],False,array('BorderWidth'=>0,'Padding'=>0)).'>'."\n".$data['html'].$indent."</div>\n"; html::tooltip($data['tooltip'],False,array('BorderWidth'=>0,'Padding'=>0)).'>'."\n".$data['html'].$indent."</div>\n";
} }
/** /**