forked from extern/egroupware
- week- and month-view can now be configured (via the user prefs) to display a non-time-grid view (close to what the old calendar does)
- fixed / improved some layout problems with the time-grid views
This commit is contained in:
parent
b868fa4be7
commit
b2102ccbd6
@ -62,6 +62,12 @@ class uiviews extends uical
|
||||
*/
|
||||
var $search_params;
|
||||
|
||||
/**
|
||||
* @var boolean $use_time_grid=true should we use a time grid,
|
||||
* can be set for week- and month-view to false by the cal_pref no_time_grid
|
||||
*/
|
||||
var $use_time_grid=true;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -231,6 +237,8 @@ class uiviews extends uical
|
||||
{
|
||||
if ($this->debug > 0) $this->bo->debug_message('uiviews::month(weeks=%1) date=%2',True,$weeks,$this->date);
|
||||
|
||||
$this->use_time_grid = $this->cal_prefs['use_time_grid'] == ''; // all views
|
||||
|
||||
if ($weeks)
|
||||
{
|
||||
$this->first = $this->datetime->get_weekday_start($this->year,$this->month,$this->day=1);
|
||||
@ -314,6 +322,8 @@ class uiviews extends uical
|
||||
*/
|
||||
function week($days=0,$home=false)
|
||||
{
|
||||
$this->use_time_grid = $this->cal_prefs['use_time_grid'] != 'day';
|
||||
|
||||
if (!$days)
|
||||
{
|
||||
$days = isset($_GET['days']) ? $_GET['days'] : $this->cal_prefs['days_in_weekview'];
|
||||
@ -389,6 +399,8 @@ class uiviews extends uical
|
||||
$this->last = $this->first = $this->bo->date2ts((string)$this->date);
|
||||
$GLOBALS['egw_info']['flags']['app_header'] .= ': '.lang(adodb_date('l',$this->first)).', '.$this->bo->long_date($this->first);
|
||||
|
||||
$this->use_time_grid = true; // day-view always uses a time-grid, independent what's set in the prefs!
|
||||
|
||||
$this->search_params['end'] = $this->last = $this->first+DAY_s-1;
|
||||
|
||||
if (!$home)
|
||||
@ -611,25 +623,27 @@ class uiviews extends uical
|
||||
$html .= $indent."\t".'<div class="calGridHeader" style="height: '.
|
||||
$this->rowHeight.'%;">'.$title."</div>\n";
|
||||
|
||||
$off = false; // Off-row means a different bgcolor
|
||||
$add_links = count($daysEvents) == 1;
|
||||
|
||||
// the hour rows
|
||||
for($i=1; $i < $this->rowsToDisplay; $i++)
|
||||
if ($this->use_time_grid)
|
||||
{
|
||||
$currentTime = $this->display_start + (($i-1) * $this->granularity_m);
|
||||
if($this->wd_start <= $currentTime && $this->wd_end >= $currentTime)
|
||||
$off = false; // Off-row means a different bgcolor
|
||||
$add_links = count($daysEvents) == 1;
|
||||
|
||||
// the hour rows
|
||||
for($i=1; $i < $this->rowsToDisplay; $i++)
|
||||
{
|
||||
$html .= $indent."\t".'<div class="calTimeRow'.($off ? 'Off row_off' : ' row_on').
|
||||
'" style="height: '.$this->rowHeight.'%; top:'. $i*$this->rowHeight .'%;">'."\n";
|
||||
$time = $GLOBALS['egw']->common->formattime(sprintf('%02d',$currentTime/60),sprintf('%02d',$currentTime%60));
|
||||
if ($add_links) $time = $this->add_link($time,$this->date,(int) ($currentTime/60),$currentTime%60);
|
||||
$html .= $indent."\t\t".'<div class="calTimeRowTime">'.$time."</div>\n";
|
||||
$html .= $indent."\t</div>\n"; // calTimeRow
|
||||
$off = !$off;
|
||||
$currentTime = $this->display_start + (($i-1) * $this->granularity_m);
|
||||
if($this->wd_start <= $currentTime && $this->wd_end >= $currentTime)
|
||||
{
|
||||
$html .= $indent."\t".'<div class="calTimeRow'.($off ? 'Off row_off' : ' row_on').
|
||||
'" style="height: '.$this->rowHeight.'%; top:'. $i*$this->rowHeight .'%;">'."\n";
|
||||
$time = $GLOBALS['egw']->common->formattime(sprintf('%02d',$currentTime/60),sprintf('%02d',$currentTime%60));
|
||||
if ($add_links) $time = $this->add_link($time,$this->date,(int) ($currentTime/60),$currentTime%60);
|
||||
$html .= $indent."\t\t".'<div class="calTimeRowTime">'.$time."</div>\n";
|
||||
$html .= $indent."\t</div>\n"; // calTimeRow
|
||||
$off = !$off;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($daysEvents) && count($daysEvents))
|
||||
{
|
||||
$numberOfDays = count($daysEvents);
|
||||
@ -639,9 +653,10 @@ class uiviews extends uical
|
||||
|
||||
// Lars Kneschke 2005-08-28
|
||||
// why do we use a div in a div which has the same height and width???
|
||||
// To make IE6 happy!!! Whithout the second div you can't use
|
||||
// To make IE6 happy!!! Without the second div you can't use
|
||||
// style="left: 50px; right: 0px;"
|
||||
$html .= $indent."\t".'<div id="calDayCols" class="calDayCols'.($this->bo->common_prefs['timeformat'] == 12 ? '12h' : '').
|
||||
$html .= $indent."\t".'<div id="calDayCols" class="calDayCols'.
|
||||
($this->use_time_grid ? ($this->bo->common_prefs['timeformat'] == 12 ? '12h' : '') : 'NoTime').
|
||||
'"><div style="width=100%; height: 100%;">'."\n";
|
||||
$dayCol_width = $dayCols_width / count($daysEvents);
|
||||
$n = 0;
|
||||
@ -703,9 +718,16 @@ class uiviews extends uical
|
||||
$event['end_m'] = 24*60-1;
|
||||
$event['multiday'] = True;
|
||||
}
|
||||
for($c = 0; $event['start_m'] < $col_ends[$c]; ++$c);
|
||||
if ($this->use_time_grid)
|
||||
{
|
||||
for($c = 0; $event['start_m'] < $col_ends[$c]; ++$c);
|
||||
$col_ends[$c] = $event['end_m'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$c = 0; // without grid we only use one column
|
||||
}
|
||||
$eventCols[$c][] = $event;
|
||||
$col_ends[$c] = $event['end_m'];
|
||||
}
|
||||
|
||||
if (count($eventCols))
|
||||
@ -739,25 +761,36 @@ class uiviews extends uical
|
||||
$title = $this->html->a_href($title,$day_view,'',
|
||||
!isset($this->holidays[$day_ymd])?' title="'.lang('Dayview').'"':'');
|
||||
}
|
||||
elseif ($short_title === false)
|
||||
{
|
||||
// add arrows to go to the previous and next day (dayview only)
|
||||
$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).' '.$title;
|
||||
$day_view['date'] = $this->bo->date2string($ts += 48*HOUR_s);
|
||||
$title .= ' '.$this->html->a_href($this->html->image('phpgwapi','right',$this->bo->long_date($ts)),$day_view);
|
||||
}
|
||||
$this->_day_class_holiday($day_ymd,$class,$holidays);
|
||||
// the weekday and date
|
||||
$html .= $indent."\t".'<div style="height: '. $this->rowHeight .'%" class="calDayColHeader '.$class.'"'.($holidays ? ' title="'.$holidays.'"':'').'>'.
|
||||
$title.(!$short_title && $holidays ? ': '.$holidays : '')."</div>\n";
|
||||
|
||||
// adding divs to click on for each row / time-span
|
||||
for($counter = 1; $counter < $this->rowsToDisplay; $counter++)
|
||||
if ($this->use_time_grid)
|
||||
{
|
||||
//print "$counter - ". $counter*$this->rowHeight ."<br>";
|
||||
$linkData = array(
|
||||
'menuaction' =>'calendar.uiforms.edit',
|
||||
'date' => $day_ymd,
|
||||
'hour' => floor(($this->wd_start + (($counter-$this->extraRows-1)*$this->granularity_m))/60),
|
||||
'minute' => floor(($this->wd_start + (($counter-$this->extraRows-1)*$this->granularity_m))%60),
|
||||
);
|
||||
if ($owner) $linkData['owner'] = $owner;
|
||||
|
||||
$html .= $indent."\t".'<div style="height:'. $this->rowHeight .'%; top: '. $counter*$this->rowHeight .
|
||||
'%;" class="calAddEvent" onclick="'.$this->popup($GLOBALS['egw']->link('/index.php',$linkData)).';return false;"></div>'."\n";
|
||||
// adding divs to click on for each row / time-span
|
||||
for($counter = 1; $counter < $this->rowsToDisplay; $counter++)
|
||||
{
|
||||
//print "$counter - ". $counter*$this->rowHeight ."<br>";
|
||||
$linkData = array(
|
||||
'menuaction' =>'calendar.uiforms.edit',
|
||||
'date' => $day_ymd,
|
||||
'hour' => floor(($this->wd_start + (($counter-$this->extraRows-1)*$this->granularity_m))/60),
|
||||
'minute' => floor(($this->wd_start + (($counter-$this->extraRows-1)*$this->granularity_m))%60),
|
||||
);
|
||||
if ($owner) $linkData['owner'] = $owner;
|
||||
|
||||
$html .= $indent."\t".'<div style="height:'. $this->rowHeight .'%; top: '. $counter*$this->rowHeight .
|
||||
'%;" class="calAddEvent" onclick="'.$this->popup($GLOBALS['egw']->link('/index.php',$linkData)).';return false;"></div>'."\n";
|
||||
}
|
||||
}
|
||||
// displaying all event columns of the day
|
||||
foreach($eventCols as $n => $eventCol)
|
||||
@ -834,7 +867,8 @@ class uiviews extends uical
|
||||
{
|
||||
if ($this->debug > 1 || $this->debug==='eventColWidget') $this->bo->debug_message('uiviews::eventColWidget(%1,left=%2,width=%3,)',False,$events,$left,$width);
|
||||
|
||||
$html = $indent.'<div class="calEventCol" style="left: '.$left.'%; width:'.$width.'%;">'."\n";
|
||||
$html = $indent.'<div class="calEventCol" style="left: '.$left.'%; width:'.$width.'%;'.
|
||||
(!$this->use_time_grid ? ' top: '.$this->rowHeight.'%;' : '').'">'."\n";
|
||||
foreach($events as $event)
|
||||
{
|
||||
$html .= $this->eventWidget($event,$width,$indent."\t");
|
||||
@ -917,15 +951,17 @@ class uiviews extends uical
|
||||
{
|
||||
$participants .= $this->add_nonempty($participant,$part_group,True);
|
||||
}
|
||||
// as we only deal with percentual widht, we consider only the full dayview (1 colum) as NOT small
|
||||
$small = $this->view != 'day' || $width < 50;
|
||||
// $small = $width <= $small_trigger_width
|
||||
|
||||
$tpl->set_var(array(
|
||||
// event-content, some of it displays only if it really has content or is needed
|
||||
'header_icons' => $width > $small_trigger_width ? implode("",$icons) : '',
|
||||
'body_icons' => $width > $small_trigger_width ? '' : implode("\n",$icons),
|
||||
'header_icons' => $small ? '' : implode("",$icons),
|
||||
'body_icons' => $small ? implode("\n",$icons) : '',
|
||||
'icons' => implode("\n",$icons),
|
||||
'timespan' => $timespan,
|
||||
'header' => !$is_private ? $this->html->htmlspecialchars($event['title']) : lang('private'), // $timespan,
|
||||
'title' => !$is_private ? $this->html->htmlspecialchars($event['title']) : lang('private'),
|
||||
'timespan' => $small ? str_replace(' ','',$timespan) : $timespan,
|
||||
'title' => !$is_private ? $this->html->htmlspecialchars($event['title']).$width : lang('private'),
|
||||
'description' => !$is_private ? nl2br($this->html->htmlspecialchars($event['description'])) : '',
|
||||
'location' => !$is_private ? $this->add_nonempty($event['location'],lang('Location')) : '',
|
||||
'participants' => $participants,
|
||||
@ -950,8 +986,7 @@ class uiviews extends uical
|
||||
'bodybackground' => 'url('.$GLOBALS['egw_info']['server']['webserver_url'].
|
||||
'/calendar/inc/gradient.php?color1='.urlencode($bodybgcolor1).'&color2='.urlencode($bodybgcolor2).
|
||||
'&width='.$width.') repeat-y '.$bodybgcolor2,
|
||||
'Small' => $width > $small_trigger_width ? '' : 'Small', // to use in css class-names
|
||||
// otherwise a click in empty parts of the event, will "click through" and create a new event
|
||||
'Small' => $small ? 'Small' : '', // to use in css class-names
|
||||
));
|
||||
foreach(array(
|
||||
'upper_left'=>array('width'=>-$corner_radius,'height'=>$header_height,'border'=>0,'bgcolor'=>$headerbgcolor),
|
||||
@ -990,8 +1025,16 @@ class uiviews extends uical
|
||||
$this->html->tooltip($tooltip,False,array('BorderWidth'=>0,'Padding'=>0)).
|
||||
' style="top:0px; left:0px; position:absolute; height:100%; width:100%; z-index:1"') . "\n";
|
||||
}
|
||||
return $indent.'<div class="calEvent'.($is_private ? 'Private' : '').'" style="top: '.$this->time2pos($event['start_m']).
|
||||
'%; height: '.$height.'%;"'.$popup.'>'."\n".$ie_fix.$html.$indent."</div>\n";
|
||||
if ($this->use_time_grid)
|
||||
{
|
||||
$style = 'top: '.$this->time2pos($event['start_m']).'%; height: '.$height.'%;';
|
||||
}
|
||||
else
|
||||
{
|
||||
$style = 'position: relative;';
|
||||
}
|
||||
return $indent.'<div class="calEvent'.($is_private ? 'Private' : '').'" style="'.$style.'"'.
|
||||
$popup.'>'."\n".$ie_fix.$html.$indent."</div>\n";
|
||||
}
|
||||
|
||||
function add_nonempty($content,$label,$one_per_line=False)
|
||||
|
@ -25,6 +25,11 @@
|
||||
'planner_user' => lang('Planner by user'),
|
||||
'listview' => lang('Listview'),
|
||||
);
|
||||
$grid_views = array(
|
||||
'' => lang('Dayview').', '.lang('Weekview').' & '.lang('Monthview'),
|
||||
'day_week' => lang('Dayview').' & '.lang('Weekview'),
|
||||
'day' => lang('Dayview'),
|
||||
);
|
||||
/* Select list with number of day by week */
|
||||
$week_view = array(
|
||||
'5' => lang('Weekview without weekend'),
|
||||
@ -149,6 +154,84 @@
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_rejected' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show invitations you rejected',
|
||||
'name' => 'show_rejected',
|
||||
'help' => 'Should invitations you rejected still be shown in your calendar ?<br>You can only accept them later (eg. when your scheduling conflict is removed), if they are still shown in your calendar!'
|
||||
),
|
||||
'weekdaystarts' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'weekday starts on',
|
||||
'name' => 'weekdaystarts',
|
||||
'values' => $weekdaystarts,
|
||||
'help' => 'This day is shown as first day in the week or month view.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'workdaystarts' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'work day starts on',
|
||||
'name' => 'workdaystarts',
|
||||
'values' => $times,
|
||||
'help' => 'This defines the start of your dayview. Events before this time, are shown above the dayview.<br>This time is also used as a default starttime for new events.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'workdayends' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'work day ends on',
|
||||
'name' => 'workdayends',
|
||||
'values' => $times,
|
||||
'help' => 'This defines the end of your dayview. Events after this time, are shown below the dayview.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'use_time_grid' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Views with fixed time intervals',
|
||||
'name' => 'use_time_grid',
|
||||
'values' => $grid_views,
|
||||
'help' => 'For which views should calendar show distinct lines with a fixed time interval.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'interval' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Length of the time interval',
|
||||
'name' => 'interval',
|
||||
'values' => $intervals,
|
||||
'help' => 'How many minutes should each interval last?',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'defaultlength' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'default appointment length (in minutes)',
|
||||
'name' => 'defaultlength',
|
||||
'help' => 'Default length of newly created events. The length is in minutes, eg. 60 for 1 hour.',
|
||||
'default' => '',
|
||||
'size' => 3,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'planner_start_with_group' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Preselected group for entering the planner',
|
||||
'name' => 'planner_start_with_group',
|
||||
'values' => $options,
|
||||
'help' => 'This group that is preselected when you enter the planner. You can change it in the planner anytime you want.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'default_private' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Set new events to private',
|
||||
'name' => 'default_private',
|
||||
'help' => 'Should new events created as private by default ?',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'receive_updates' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Receive email updates',
|
||||
@ -244,86 +327,6 @@
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_rejected' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show invitations you rejected',
|
||||
'name' => 'show_rejected',
|
||||
'help' => 'Should invitations you rejected still be shown in your calendar ?<br>You can only accept them later (eg. when your scheduling conflict is removed), if they are still shown in your calendar!'
|
||||
),
|
||||
'weekdaystarts' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'weekday starts on',
|
||||
'name' => 'weekdaystarts',
|
||||
'values' => $weekdaystarts,
|
||||
'help' => 'This day is shown as first day in the week or month view.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'workdaystarts' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'work day starts on',
|
||||
'name' => 'workdaystarts',
|
||||
'values' => $times,
|
||||
'help' => 'This defines the start of your dayview. Events before this time, are shown above the dayview.<br>This time is also used as a default starttime for new events.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'workdayends' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'work day ends on',
|
||||
'name' => 'workdayends',
|
||||
'values' => $times,
|
||||
'help' => 'This defines the end of your dayview. Events after this time, are shown below the dayview.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'interval' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Intervals in day view',
|
||||
'name' => 'interval',
|
||||
'values' => $intervals,
|
||||
'help' => 'Defines the size in minutes of the lines in the day view.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'defaultlength' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'default appointment length (in minutes)',
|
||||
'name' => 'defaultlength',
|
||||
'help' => 'Default length of newly created events. The length is in minutes, eg. 60 for 1 hour.',
|
||||
'default' => '',
|
||||
'size' => 3,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'planner_start_with_group' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Preselected group for entering the planner',
|
||||
'name' => 'planner_start_with_group',
|
||||
'values' => $options,
|
||||
'help' => 'This group that is preselected when you enter the planner. You can change it in the planner anytime you want.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
/* dont think that default is realy necessary -- RalfBecker 2005/11/12
|
||||
'defaultfilter' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default calendar filter',
|
||||
'name' => 'defaultfilter',
|
||||
'values' => $defaultfilter,
|
||||
'help' => 'Which events do you want to see when you enter the calendar.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
*/
|
||||
'default_private' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Set new events to private',
|
||||
'name' => 'default_private',
|
||||
'help' => 'Should new events created as private by default ?',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
/* disabled free/busy stuff til it gets rewritten with new Horde iCal classes -- RalfBecker 2006/03/03
|
||||
'freebusy' => array(
|
||||
'type' => 'check',
|
||||
|
@ -63,7 +63,6 @@ default calendar filter calendar de Standard-Filter des Kalenders
|
||||
default calendar view calendar de Standard-Ansicht des Kalenders
|
||||
default length of newly created events. the length is in minutes, eg. 60 for 1 hour. calendar de Vorgabe für die Länge von neuen Kalendareinträgen. Die Länge ist in Minuten, zb. 60 für 1 Stunde.
|
||||
default week view calendar de Vorgabe Wochenansicht
|
||||
defines the size in minutes of the lines in the day view. calendar de Bestimmt die Zeitskala in Minuten der Tagesansicht des Kalendars.
|
||||
delete series calendar de Serie löschen
|
||||
delete this alarm calendar de Diesen Alarm löschen
|
||||
delete this event calendar de Diesen Termin löschen
|
||||
@ -113,6 +112,7 @@ filename of the download calendar de Name der herunterzuladenden Datei
|
||||
find free timeslots where the selected participants are availible for the given timespan calendar de Such freie Zeitslots an denen die ausgewählten Teilnehmer für die gegebene Zeitspanne verfügbar sind
|
||||
firstname of person to notify calendar de Vorname der zu benachrichtigenden Person
|
||||
for calendar de für
|
||||
for which views should calendar show distinct lines with a fixed time interval. calendar de Für welche Ansichten soll der Kalender einzelne Zeilen mit festen Zeitintervallen anzeigen.
|
||||
format of event updates calendar de Format der Benachrichtigungen
|
||||
forward half a month calendar de einen halben Monat weiter
|
||||
forward one month calendar de einen Monat weiter
|
||||
@ -135,6 +135,7 @@ holiday management calendar de Feiertagsverwaltung
|
||||
holidays calendar de Feiertage
|
||||
hours calendar de Stunden
|
||||
how far to search (from startdate) calendar de wie weit suchen (vom Startdatum)
|
||||
how many minutes should each interval last? calendar de Wie viele Minute soll jedes Interval dauern?
|
||||
ical calendar de iCal
|
||||
ical / rfc2445 calendar de iCal / RFC2445
|
||||
ical export calendar de iCal Export
|
||||
@ -145,12 +146,12 @@ if checked holidays falling on a weekend, are taken on the monday after. calenda
|
||||
if you dont set a password here, the information is available to everyone, who knows the url!!! calendar de Wenn Sie hier kein Passwort angeben, ist die Information für jeden verfügbar, der die Adresse (URL) kennt!!!
|
||||
ignore conflict calendar de Konflikt ignorieren
|
||||
import calendar de Importieren
|
||||
import csv-file calendar de CSV-Datei importieren
|
||||
import csv-file common de CSV-Datei importieren
|
||||
interval calendar de Intervall
|
||||
intervals in day view calendar de Zeitintervalle in der Tagesansicht
|
||||
invalid email-address "%1" for user %2 calendar de Ungültige Email-Adresse "%1" für Benutzer %2
|
||||
last calendar de letzte
|
||||
lastname of person to notify calendar de Nachname der zu benachrichtigenden Person
|
||||
length of the time interval calendar de Länge des Zeitintervals
|
||||
link to view the event calendar de Verweis (Weblink) um den Termin anzuzeigen
|
||||
links calendar de Verknüpfungen
|
||||
links, attachments calendar de Verknüpfungen, Dateianhänge
|
||||
@ -280,6 +281,7 @@ updated calendar de Aktualisiert
|
||||
use end date calendar de Enddatum benutzen
|
||||
use the selected time and close the popup calendar de benutzt die ausgewählte Zeit und schließt das Popup
|
||||
view this event calendar de Diesen Termin anzeigen
|
||||
views with fixed time intervals calendar de Ansichten mit festen Zeitintervallen
|
||||
wed calendar de Mi
|
||||
week calendar de Woche
|
||||
weekday starts on calendar de Arbeitswoche beginnt am
|
||||
|
@ -63,7 +63,6 @@ default calendar filter calendar en Default calendar filter
|
||||
default calendar view calendar en default calendar view
|
||||
default length of newly created events. the length is in minutes, eg. 60 for 1 hour. calendar en Default length of newly created events. The length is in minutes, eg. 60 for 1 hour.
|
||||
default week view calendar en default week view
|
||||
defines the size in minutes of the lines in the day view. calendar en Defines the size in minutes of the lines in the day view.
|
||||
delete series calendar en Delete series
|
||||
delete this alarm calendar en Delete this alarm
|
||||
delete this event calendar en Delete this event
|
||||
@ -113,6 +112,7 @@ filename of the download calendar en Filename of the download
|
||||
find free timeslots where the selected participants are availible for the given timespan calendar en Find free timeslots where the selected participants are availible for the given timespan
|
||||
firstname of person to notify calendar en Firstname of person to notify
|
||||
for calendar en for
|
||||
for which views should calendar show distinct lines with a fixed time interval. calendar en For which views should calendar show distinct lines with a fixed time interval.
|
||||
format of event updates calendar en Format of event updates
|
||||
forward half a month calendar en forward half a month
|
||||
forward one month calendar en forward one month
|
||||
@ -135,6 +135,7 @@ holiday management calendar en Holiday Management
|
||||
holidays calendar en Holidays
|
||||
hours calendar en hours
|
||||
how far to search (from startdate) calendar en how far to search (from startdate)
|
||||
how many minutes should each interval last? calendar en How many minutes should each interval last?
|
||||
ical calendar en iCal
|
||||
ical / rfc2445 calendar en iCal / rfc2445
|
||||
ical export calendar en iCal Export
|
||||
@ -147,10 +148,10 @@ ignore conflict calendar en Ignore conflict
|
||||
import calendar en Import
|
||||
import csv-file common en Import CSV-File
|
||||
interval calendar en Interval
|
||||
intervals in day view calendar en Intervals in day view
|
||||
invalid email-address "%1" for user %2 calendar en Invalid email-address "%1" for user %2
|
||||
last calendar en Last
|
||||
lastname of person to notify calendar en Lastname of person to notify
|
||||
length of the time interval calendar en Length of the time interval
|
||||
link to view the event calendar en Link to view the event
|
||||
links calendar en Links
|
||||
links, attachments calendar en Links, Attachments
|
||||
@ -173,7 +174,6 @@ no filter calendar en No filter
|
||||
no matches found calendar en no matches found
|
||||
no response calendar en No response
|
||||
non blocking calendar en non blocking
|
||||
not calendar en not
|
||||
notification messages for added events calendar en Notification messages for added events
|
||||
notification messages for canceled events calendar en Notification messages for canceled events
|
||||
notification messages for disinvited participants calendar en Notification messages for disinvited participants
|
||||
@ -246,7 +246,6 @@ show list of upcoming events calendar en show list of upcoming events
|
||||
show this month calendar en show this month
|
||||
show this week calendar en show this week
|
||||
single event calendar en single event
|
||||
site configuration calendar en site configuration
|
||||
start calendar en Start
|
||||
start date/time calendar en Start Date/Time
|
||||
startdate / -time calendar en Startdate / -time
|
||||
@ -282,6 +281,7 @@ updated calendar en Updated
|
||||
use end date calendar en use end date
|
||||
use the selected time and close the popup calendar en use the selected time and close the popup
|
||||
view this event calendar en View this event
|
||||
views with fixed time intervals calendar en Views with fixed time intervals
|
||||
wed calendar en Wed
|
||||
week calendar en Week
|
||||
weekday starts on calendar en weekday starts on
|
||||
|
@ -4,6 +4,30 @@
|
||||
* CSS settings for the day, week and month view (timeGridWidget) *
|
||||
******************************************************************/
|
||||
|
||||
/*
|
||||
Names used in the "graphic" are the css classes from this file.
|
||||
The function names in class uiviews have the leading cal removed and a trailing Widget added:
|
||||
e.g. the div with class calTimeGrid is generated by the timeGridWidget method of uiviews.
|
||||
|
||||
+++ calTimeGrid +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
+ #### calDayCols[12h|NoGrip] ###########################################################
|
||||
+ #... calDayCol ............................. ... calDayCol ..........................
|
||||
+ #.+- calDayColHeader ---------------------+. .+- calDayColHeader ------------------+.
|
||||
+ #.| |. .| |.
|
||||
+ #.+---------------------------------------+. .+------------------------------------+.
|
||||
+.calTimeRowTime.#.** calEventCol ***** ** calEventCol *****. .** calEventCol ***********************.
|
||||
+. .#.* * * *. .* *.
|
||||
+. .#.* * * *. .* *.
|
||||
+................#.*+- calEvent -----+* * *. .* *.
|
||||
+.calTimeRowTime.#.*| |* * *. .*+- calEvent[Private] --------------+*.
|
||||
+. .#.*| |* *+- calEvent -----+*. .*| |*.
|
||||
+. .#.*+----------------+* *| |*. .*| |*.
|
||||
+................#.* * *| |*. .*| |*.
|
||||
+.calTimeRowTime.#.* * *+----------------+*. .*| |*.
|
||||
+. .#.* * * *. .*+----------------------------------+*.
|
||||
|
||||
*/
|
||||
|
||||
.redItalic { color: red; font-style: italic; }
|
||||
.size120b { font-size: 120%; font-weight: bold; }
|
||||
|
||||
@ -65,10 +89,10 @@
|
||||
|
||||
/* contains (multiple) dayCol's
|
||||
*/
|
||||
.calDayCols,.calDayCols12h{
|
||||
.calDayCols,.calDayCols12h,.calDayColsNoGrid{
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
height: 100%;
|
||||
bottom: 0px;
|
||||
left: 45px;
|
||||
right: 0px;
|
||||
}
|
||||
@ -77,6 +101,11 @@
|
||||
.calDayCols12h{
|
||||
left: 65px;
|
||||
}
|
||||
/* no time grid --> no time column
|
||||
*/
|
||||
.calDayColsNoTime{
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
/* contains (multiple) eventCol's
|
||||
*/
|
||||
@ -146,7 +175,7 @@
|
||||
.calEventCol{
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
height: 100%;
|
||||
bottom: 0px;
|
||||
/* set via inline style on runtime:
|
||||
* left:
|
||||
* width:
|
||||
@ -189,11 +218,10 @@
|
||||
*/
|
||||
.calEventHeader,.calEventHeaderSmall{
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
font-size: 9pt;
|
||||
background-color: #0000ff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
.calEventHeaderSmall{
|
||||
font-size: 8pt;
|
||||
|
@ -1,27 +1,30 @@
|
||||
<!-- BEGIN event_widget -->
|
||||
<table style="width: 99%; height: 100%; margin: 0px; padding: 0px;" cellpadding="0" cellspacing="0" border="0" align="center" {tooltip}>
|
||||
<table style="width: 100%; height: 100%; margin: 0px; padding: 0px;" cellpadding="0" cellspacing="0" border="0" align="center" {tooltip}>
|
||||
|
||||
<tr style="height: {header_height};" valign="top">
|
||||
<td valign="middle" class="calEventHeader{Small}" style="height: {header_height}; border-top: {border}px solid {bordercolor}; background-color: {headerbgcolor};">{header_icons} {header}</td>
|
||||
<td valign="middle" class="calEventHeader{Small}" style="height: {header_height}; border-top: {border}px solid {bordercolor}; background-color: {headerbgcolor};">
|
||||
{icons} {timespan}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top" style="height: 100%;">
|
||||
<td class="calEventBody{Small}" style="background: {bodybackground}; border-bottom: {border}px solid {bordercolor}; border-left: {border}px solid {bordercolor}; border-right: {border}px solid {bordercolor};">
|
||||
<p style="margin: 0px;">{body_icons}<br>
|
||||
<span class="calEventTitle">{title}</span></p>
|
||||
{title}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- END event_widget -->
|
||||
|
||||
<!-- BEGIN event_tooltip -->
|
||||
<table style="width: 99%; margin: 0px; padding: 0px;" cellpadding="0" cellspacing="0" border="0" align="center">
|
||||
<table style="width: 100%; margin: 0px; padding: 0px;" cellpadding="0" cellspacing="0" border="0" align="center">
|
||||
<tr style="height: {header_height};" valign="top">
|
||||
<td valign="middle" class="calEventHeader{Small}" style="height: {header_height}; border-top: {border}px solid {bordercolor}; background-color: {headerbgcolor};">{header_icons} {header}</td>
|
||||
<td valign="middle" class="calEventHeaderSmall" style="height: {header_height}; border-top: {border}px solid {bordercolor}; background-color: {headerbgcolor};">
|
||||
{icons} {timespan}
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td class="calEventBody{Small}" style="background: {bodybackground}; border-bottom: {border}px solid {bordercolor}; border-left: {border}px solid {bordercolor}; border-right: {border}px solid {bordercolor};">
|
||||
<p style="margin: 0px;">{body_icons}
|
||||
<td class="calEventBodySmall" style="background: {bodybackground}; border-bottom: {border}px solid {bordercolor}; border-left: {border}px solid {bordercolor}; border-right: {border}px solid {bordercolor};">
|
||||
<p style="margin: 0px;">
|
||||
<span class="calEventTitle">{title}</span><br>
|
||||
{description}</p>
|
||||
<p style="margin: 2px 0px;">{times}
|
||||
|
Loading…
Reference in New Issue
Block a user