|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/compasssysweb/calendar/CalciumDir39/Operation/ |
Upload File : |
# Copyright 1999-2003, Fred Steinberg, Brown Bear Software
# Calendar Display Options/Settings
package AdminDisplay;
use strict;
use CGI (':standard');
use Calendar::GetHTML;
use Calendar::Date;
use Operation::MultiCal;
use vars ('@ISA');
@ISA = ('Operation::MultiCal');
# This Operation can be performed on a Calendar OR the Master DB
sub perform {
my $self = shift;
my ($save, $done) = $self->getParams (qw (Save Cancel Group));
my $i18n = $self->I18N;
my $cgi = new CGI;
if ($done) {
my $op = $self->isSystemOp ? 'SysAdminPage' : 'AdminPage';
print $self->redir ($self->makeURL ({Op => $op}));
return;
}
my @names = qw (day time display navbar weekend weeknum popup
listviewpop dayview daytimes menus menuItems
editForm repeatedit
defPeriod plannerself fiscal);
my %captions = (day => $i18n->get ('First day of Week'),
time => $i18n->get ('Time Format'),
display => $i18n->get ('Default Display'),
navbar => $i18n->get ('Navigation Bars'),
weekend => $i18n->get ('Weekend Days'),
weeknum => $i18n->get ('Week Numbers'),
listviewpop => $i18n->get ('List View Popup'),
popup => $i18n->get ('Event Popup Window'),
dayview => $i18n->get ('Time Plan Hours'),
daytimes => $i18n->get ('Time Plan - Event Times'),
menus => $i18n->get ('Menu Bars to Display'),
menuItems => $i18n->get ('Menu Bar Items to Display'),
editForm => $i18n->get ('Event Edit Form'),
emailSelect => $i18n->get ('Email Address Popup'),
repeatedit => $i18n->get ('Repeating Events'),
defPeriod => $i18n->get ('Default Period'),
plannerself => $i18n->get ('Planner View'),
fiscal => $i18n->get ('Fiscal Year'));
my ($calendars, $preferences) = $self->getCalsAndPrefs;
my $override = 1;
my $message = $self->adminChecks;
if (!$message and $save) {
$override = 0;
my @thePrefs = qw (StartWeekOn MilitaryTime BlockOrList DisplayAmount
YearViewColor NavigationBar NavBarSite
ShowWeekend DayViewHours DayViewStart
DayViewControls ListViewPopup MenuItemPlanner
MenuItemHome MenuItemFiscal FiscalType
PopupWidth PopupHeight PopupExportOn
RepeatEditWhich TimeEditWhich EmailSelector
DefaultPeriod ShowWeekNums WhichWeekNums
PlannerHideSelf TimePlanShowTimes);
my %newPrefs;
foreach (@thePrefs) {
my $value = $self->{params}->{$_};
$newPrefs{$_} = $value if (defined $value);
}
# BottomBar menus are a bit special
my $menus;
foreach (qw (DisplayMenu NavBarMenu CalMenu SysMenu)) {
$menus .= $self->{params}->{$_} || '';
}
$newPrefs{BottomBars} = $menus;
# And so is the Edit Form stuff
my $hideThem;
foreach (qw (HideRepeat HideMail)) {
$hideThem .= $self->{params}->{$_} || '';
}
$newPrefs{EditFormHide} = $hideThem;
# And so is the Popup Export
$newPrefs{PopupExportOn} = $self->{params}->{PopupExportOn} || 0;
# And so is the Fiscal Epoch
$newPrefs{FiscalEpoch} = $self->{params}->{FiscalEpochYear} . '/' .
$self->{params}->{FiscalEpochMonth} . '/' .
$self->{params}->{FiscalEpochDay};
# If multi-cal, remove prefs set to Ignore
if ($self->isMultiCal) {
my %prefMap = (day => [qw /StartWeekOn/],
time => [qw /MilitaryTime/],
display => [qw /BlockOrList DisplayAmount
YearViewColor/],
navbar => [qw /NavigationBar NavBarSite/],
weekend => [qw /ShowWeekend/],
weeknum => [qw /ShowWeekNums WhichWeekNums/],
popup => [qw /PopupWidth PopupHeight
PopupExportOn/],
listviewpop => [qw /ListViewPopup/],
dayview => [qw /DayViewHours DayViewStart
DayViewControls/],
daytimes => [qw /TimePlanShowTimes/],
menus => [qw /BottomBars/],
menuItems => [qw /MenuItemHome MenuItemPlanner
MenuItemFiscal/],
editForm => [qw /EditFormHide TimeEditWhich/],
emailSelect => [qw /EmailSelector/],
repeatedit => [qw /RepeatEditWhich/],
defPeriod => [qw /DefaultPeriod/],
plannerself => [qw /PlannerHideSelf/],
fiscal => [qw /FiscalType FiscalEpoch/],
);
my @modified = $self->removeIgnoredPrefs (map => \%prefMap,
prefs => \%newPrefs);
$message = $self->getModifyMessage (cals => $calendars,
mods => \@modified,
labels => \%captions);
}
foreach (@$calendars) {
$self->saveForAuditing ($_, \%newPrefs);
$self->dbByName ($_)->setPreferences (\%newPrefs);
}
$self->{audit_formsaved}++;
$preferences = $self->prefs ('force');
}
print $cgi->header;
print $cgi->start_html (-title => $i18n->get ('Display Settings'),
-bgcolor => 'white');
print '<center>';
if (!$self->isSystemOp) {
print GetHTML->AdminHeader (I18N => $i18n,
cal => $self->calendarName || '',
goob => $self->goobLabel || '',
group => $self->groupName || '',
section => 'Display Settings');
} else {
print GetHTML->SysAdminHeader ($i18n, 'Display Settings');
}
print "<h3>$message</h3>" if $message;
print '</center>';
# Get the prefs we've already got
my $startWeekOn = $preferences->StartWeekOn || 7;
my $militaryTime = $preferences->MilitaryTime || 0; # true or false
my $blockOrList = $preferences->BlockOrList || 'Block';
my $displayAmount = $preferences->DisplayAmount || 'Month';
my $yearColor = $preferences->YearViewColor || 'Count';
my $showWeekend = $preferences->ShowWeekend || 0; # true/false
my $navigationBar = $preferences->NavigationBar || 'Both';
my $navBarSite = $preferences->NavBarSite || 'top';
my $bottomBars = $preferences->BottomBars || '';
my $hideThem = $preferences->EditFormHide || '';
my $showWeekNums = $preferences->ShowWeekNums || 0;
my $whichWeekNums = $preferences->WhichWeekNums || 4;
my $dayViewHours = $preferences->DayViewHours || 8;
my $dayViewStart = $preferences->DayViewStart || 9;
my $dayViewControls = $preferences->DayViewControls || 'show';
my $tpShowTimes = $preferences->TimePlanShowTimes || 'always';
my $listViewPopup = $preferences->ListViewPopup || 0;
my $plannerItem = $preferences->MenuItemPlanner || 'Always';
my $homeItem = $preferences->MenuItemHome || 'Always';
my $fiscalItem = $preferences->MenuItemFiscal || 'Always';
my $fiscalType = $preferences->FiscalType || 'fixed';
my $fiscalEpoch = $preferences->FiscalEpoch || '2000/01/01';
my $popupWidth = $preferences->PopupWidth || 250;
my $popupHeight = $preferences->PopupHeight || 350;
my $popupExport = $preferences->PopupExportOn || 0; #true/false
my $repeatEdit = $preferences->RepeatEditWhich || 'All';
my $emailSelect = $preferences->EmailSelector || 'all';
my $timeEditWhich = $preferences->TimeEditWhich || 'startend';
my $defPeriod = $preferences->DefaultPeriod || 'day';
my $plannerSelf = $preferences->PlannerHideSelf || 0;
$fiscalEpoch = Date->new ($fiscalEpoch);
my %fiscalEpoch = (year => $fiscalEpoch->year,
month => $fiscalEpoch->month,
day => $fiscalEpoch->day);
print startform;
# If group, allow selecting any calendar we have Admin permission for
my $calSelector;
my %onChange = ();
if ($self->isMultiCal) {
my $mess;
($calSelector, $mess) = $self->calendarSelector;
print $mess if $mess;
foreach (@names) {
$onChange{$_} = $self->getOnChange ($_);
}
}
my %rows;
$rows{day} = table (Tr (td (_weekdayPopup ('i18n' => $i18n,
'name' => 'StartWeekOn',
'onChange' => $onChange{day},
'override' => $override,
'default' => $startWeekOn))));
$rows{time} = table (Tr (td (popup_menu ('-name' => 'MilitaryTime',
'-default' => $militaryTime,
-onChange => $onChange{time},
override => $override,
'-values' => [0, 1],
'-labels' => {'0' => '12 ' .
$i18n->get ('Hour')
. ' (AM/PM)',
'1' => '24 ' .
$i18n->get
('Hour')}))));
$rows{display} = table ({width => '95%'},
Tr (td ({-align => 'right'},
$i18n->get ('Style:')),
td (popup_menu ('-name' =>'BlockOrList',
'-default' => $blockOrList,
-onChange => $onChange{display},
override => $override,
'-values' => ['Block', 'List',
'Condensed', 'TimePlan',
'Planner'],
'-labels' => {Block => $i18n->get ('Block'),
List => $i18n->get ('List'),
Condensed => $i18n->get ('Condensed'),
TimePlan => $i18n->get ('Time Plan'),
Planner => $i18n->get ('Planner')})),
td ({-align => 'right'},
$i18n->get ('Amount:')),
td (popup_menu ('-name' => 'DisplayAmount',
'-default' => $displayAmount,
-onChange => $onChange{display},
override => $override,
'-values' => ['Day', 'Week',
'Month', 'Quarter', 'Year',
'FPeriod', 'FQuarter',
'FYear'],
'-labels' => {Day => $i18n->get ('Day'),
Week => $i18n->get ('Week'),
Month => $i18n->get ('Month'),
Quarter => $i18n->get ('Quarter'),
Year => $i18n->get ('Year'),
FPeriod => $i18n->get ('Fiscal Period'),
FQuarter => $i18n->get ('Fiscal Quarter'),
FYear => $i18n->get ('Fiscal Year')})),
td ({-align => 'right'}, $i18n->get ('Year View:')),
td (popup_menu (-name => 'YearViewColor',
-default => $yearColor,
-onChange => $onChange{display},
override => $override,
-values => ['Count', 'Categories',
'None'],
-labels => {Count => $i18n->get ('Color by Event Count'),
Categories => $i18n->get ('Color by Categories'),
None => $i18n->get ('No day coloring')})),
));
$rows{navbar} = table (Tr (td {-align => 'right'}, $i18n->get ('Type:'),
td (popup_menu ('-name' => 'NavigationBar',
'-default' => $navigationBar,
-onChange => $onChange{navbar},
override => $override,
'-values' => ['Absolute',
'Relative',
'Both'],
'-labels' => {Absolute => $i18n->get ('Absolute'),
Relative => $i18n->get ('Relative'),
Both => $i18n->get ('Both')})),
td {-align => 'right'}, $i18n->get('Location:'),
td (popup_menu ('-name' => 'NavBarSite',
'-default' => $navBarSite,
-onChange => $onChange{navbar},
override => $override,
'-values' => ['top',
'bottom',
'both',
'neither'],
'-labels' => {top => $i18n->get ('Top'),
bottom => $i18n->get ('Bottom'),
both => $i18n->get ('Both'),
neither => $i18n->get
("Don't Display")}))));
my $displayMenu = ($bottomBars =~ /display/i);
my $navBarMenu = ($bottomBars =~ /navbar/i);
my $calMenu = ($bottomBars =~ /cal/i);
my $sysMenu = ($bottomBars =~ /sys/i);
$rows{menus} = table ({-cellpadding => 4},
Tr (td (checkbox (-name => 'DisplayMenu',
-checked => $displayMenu,
-onChange => $onChange{menus},
override => $override,
-value => 'display',
-label => ' ' . $i18n->get
('Display'))),
td (checkbox (-name => 'NavBarMenu',
-checked => $navBarMenu,
-onChange => $onChange{menus},
override => $override,
-value => 'navbar',
-label => ' ' . $i18n->get
('Navigation Bar'))),
td (checkbox (-name => 'CalMenu',
-checked => $calMenu,
-onChange => $onChange{menus},
override => $override,
-value => 'cal',
-label => ' ' . $i18n->get
('This Calendar'))),
td (checkbox (-name => 'SysMenu',
-checked => $sysMenu,
-onChange => $onChange{menus},
override => $override,
-value => 'sys',
-label => ' ' . $i18n->get
('System Options')))));
my %itemLabels = (Always => $i18n->get ('Always'),
Add => $i18n->get ('Users w/Add'),
Admin => $i18n->get ('Users w/Admin'),
Never => $i18n->get ('Never'));
$rows{menuItems} = table (Tr (
td ({-align => 'right'},
$i18n->get ('<i>Home</i> link:')),
td (popup_menu (-name => 'MenuItemHome',
-default => $homeItem,
-onChange => $onChange{menuItems},
override => $override,
-values => ['Always', 'Admin',
'Never'],
-labels => \%itemLabels)),
td ({-align => 'right'},
$i18n->get ('<i>Planner</i> link:')),
td (popup_menu (-name => 'MenuItemPlanner',
-default => $plannerItem,
-onChange => $onChange{menuItems},
override => $override,
-values => ['Always', 'Add',
'Admin', 'Never'],
-labels => \%itemLabels)),
td ({-align => 'right'},
$i18n->get ('<i>Fiscal</i> links:')),
td (popup_menu (-name => 'MenuItemFiscal',
-default => $fiscalItem,
-onChange => $onChange{menuItems},
override => $override,
-values => ['Always', 'Never'],
-labels => \%itemLabels))));
$rows{weekend} = table (Tr (td (popup_menu ('-name' => 'ShowWeekend',
'-default' => $showWeekend,
-onChange => $onChange{weekend},
override => $override,
'-values' => [0, 1],
'-labels' => {'0' =>
$i18n->get ('Hide'),
'1' =>
$i18n->get ('Display')})),
td (font ({-size => -1},
$i18n->get ('You can have Block ' .
'and List views display only Monday - Friday')))));
$rows{weeknum} = table (Tr (td (popup_menu ('-name' => 'ShowWeekNums',
'-default' => $showWeekNums,
-onChange => $onChange{weeknum},
override => $override,
'-values' => [0, 1],
'-labels' => {'0' =>
$i18n->get ('Hide'),
'1' =>
$i18n->get ('Display')})),
td ($i18n->get('The first week of the year:')),
td (popup_menu ('-name' => 'WhichWeekNums',
'-default' => $whichWeekNums,
-onChange => $onChange{weeknum},
override => $override,
'-values' => [1, 4, 7],
'-labels' => {'1' =>
$i18n->get ('has January 1st in it'),
'4' =>
$i18n->get ('has at least 4 days in it'),
'7' =>
$i18n->get ('has 7 days in it')}))));
$rows{listviewpop} = table (Tr (
td (popup_menu ('-name' => 'ListViewPopup',
'-default' => $listViewPopup,
-onChange => $onChange{listviewpop},
override => $override,
'-values' => [0, 1],
'-labels' => {'1' =>
$i18n->get ('Display'),
'0' =>
$i18n->get ('Hide')})),
td (font ({-size => -1},
$i18n->get ('Display or hide ' .
'the Popup Text column in List and Condensed views')))));
my @sizes = (100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600,
10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70);
my %labels = map {$_ => $_ < 100 ? "$_ % of screen" : "$_ pixels"} @sizes;
$rows{popup} = table (Tr (td ($i18n->get ('Width') . ':'),
td (popup_menu (-name => 'PopupWidth',
-default => $popupWidth,
-onChange => $onChange{popup},
override => $override,
-labels => \%labels,
-values => \@sizes)),
td (' '),
td ($i18n->get ('Height') . ':'),
td (popup_menu (-name => 'PopupHeight',
-default => $popupHeight,
-onChange => $onChange{popup},
override => $override,
-labels => \%labels,
-values => \@sizes)),
td (' '),
td (checkbox (-name => 'PopupExportOn',
-checked => $popupExport,
-onChange => $onChange{popup},
override => $override,
-value => 1,
-label => ' ' . $i18n->get
('Display iCalendar Export link')))
));
my %startHourLabels = map {$_ => _timeLabel ($_, $militaryTime)} (0..23);
sub _timeLabel {
my ($hour, $milTime) = @_;
my $amPm = '';
if (!$milTime) {
$amPm = $hour < 12 ? 'am ' : 'pm ';
$hour = 12 if $hour == 0;
$hour -= 12 if ($hour > 12);
}
return "$hour:00" . $amPm;
}
$rows{dayview} = table (Tr (td ({-align => 'right'},
$i18n->get ('Number of hours to display:')),
td (popup_menu (-name => 'DayViewHours',
-default => $dayViewHours,
-onChange => $onChange{dayview},
override => $override,
-values => [1..12, 14,16, 18,
20, 22, 24])),
td ({-align => 'right'},
$i18n->get ('Start Hour:')),
td (popup_menu (
-name => 'DayViewStart',
-default => $dayViewStart,
-onChange => $onChange{dayview},
override => $override,
-values => [0..23],
-labels => \%startHourLabels)),
td ({-align => 'right'},
$i18n->get ('Controls Menu:')),
td (popup_menu (
-name => 'DayViewControls',
-default => $dayViewControls,
-onChange => $onChange{dayview},
override => $override,
-values => ['show', 'hide'],
-labels => {show =>
$i18n->get ('Display'),
hide =>
$i18n->get ('Hide')}))
));
$rows{daytimes} = table (Tr (
td (popup_menu (-name => 'TimePlanShowTimes',
-default => $tpShowTimes,
-onChange => $onChange{daytimes},
-override => $override,
-values => [qw/always never
unaligned/],
-labels => {'always' =>
$i18n->get ('Always display'),
'never' =>
$i18n->get ('Never display'),
'unaligned' =>
$i18n->get ('Display if unaligned')})),
td (font ({-size => -1},
$i18n->get ('In the Time Plan view, ' .
'show event times above ' .
'event text?')))));
my $hideRepeat = ($hideThem =~ /repeat/i);
my $hideMail = ($hideThem =~ /mail/i);
my $mailBox = td (checkbox (-name => 'HideMail',
-checked => $hideMail,
-onChange => $onChange{editForm},
override => $override,
-value => 'mail',
-label => ' ' . $i18n->get
('Hide Email Controls')));
%labels = (startend => $i18n->get ('Start time, end time'),
period => $i18n->get ('Defined time periods'),
both => $i18n->get ('Both times and periods'),
none => $i18n->get ('None - no time entry'));
my $timeEdit = td ({align => 'center'},
$i18n->get ('Display which "Time" Controls: ') .
popup_menu (-name => 'TimeEditWhich',
-default => $timeEditWhich,
-onChange => $onChange{editForm},
override => $override,
-values => [qw/startend period both none/],
-labels => \%labels));
$rows{editForm} = table ({-cellpadding => 4},
Tr (td (checkbox (-name => 'HideRepeat',
-checked => $hideRepeat,
-onChange => $onChange{editForm},
override => $override,
-value => 'repeat',
-label => ' ' . $i18n->get
('Hide Repeat Controls'))),
$mailBox, $timeEdit));
%labels = (none => $i18n->get ("Don't display"),
aliases => $i18n->get ('Email aliases only'),
users => $i18n->get ('User names only'),
all => $i18n->get ('Aliases and User names'));
$rows{emailSelect} = table ({-cellpadding => 4},
Tr (td (popup_menu (-name => 'EmailSelector',
-default => $emailSelect,
-onChange =>
$onChange{emailSelect},
-override => $override,
-values => [qw /none all
aliases
users/],
-labels => \%labels)),
td ($i18n->get ('Email Address Selector ' .
'on Event Edit Form'))));
%labels = (All => '"' . $i18n->get ('All') . '"',
Only => '"' . $i18n->get ('Only This Instance') . '"',
Past => '"' . $i18n->get ('This date, and all before') . '"',
Future => '"' . $i18n->get ('This date, and all after') . '"',
);
$rows{repeatedit} = table ({-cellpadding => 4},
Tr (td (popup_menu (-name => 'RepeatEditWhich',
-default => $repeatEdit,
-onChange => $onChange{repeatedit},
override => $override,
-values => [qw/All
Only
Past
Future/],
-labels => \%labels)),
td ($i18n->get ('Default for editing or ' .
'deleting repeating ' .
'events'))));
# Epoch and Fixed/Floating and Epoch
my $Fiscal_Help = $i18n->get ('AdminDisplay_FiscalHelp');
if ($Fiscal_Help eq 'AdminDisplay_FiscalHelp') {
($Fiscal_Help =<<' ENDFISCALHELP') =~ s/^ +//gm;
Fixed fiscal years always start and end on the same month\n
and day, e.g. 'Aug. 1 to July. 31'. So, the year part of\n
the 'Start of Year' setting is ignored.\n\n
Floating fiscal years are always 364 days long, i.e. 52 weeks.\n
This means the start of the year changes every year, so the\n
year in 'Start of Year' is important.\n\n
If you are not using fiscal years, you can ignore this; you can\n
also turn off the choice for Fiscal views by selecting 'Never'\n
for 'Fiscal Links' in the 'Menu Bar Items to Display' choice above.
ENDFISCALHELP
}
$Fiscal_Help =~ s/'/\\'/g; #'
$rows{fiscal} = table ({-width => '90%',
-cellpadding => 4},
Tr (td ({-align => 'right'},
$i18n->get ('Type:')),
td (popup_menu (-name => 'FiscalType',
-default => $fiscalType,
-onChange => $onChange{fiscal},
override => $override,
-values => ['fixed',
'floating'],
-labels =>
{fixed => $i18n->get ('Fixed'),
floating => $i18n->get ('Floating')})),
td ({-align => 'right'},
$i18n->get ('Start of year:')),
td ('<nobr>' .
popup_menu (-name => 'FiscalEpochYear',
-default => $fiscalEpoch{year},
-onChange => $onChange{fiscal},
override => $override,
-values => [1990..2010]) .
popup_menu (-name => 'FiscalEpochMonth',
-default => $fiscalEpoch{month},
-onChange => $onChange{fiscal},
override => $override,
-values => [1..12],
-labels => {
map {($_, $i18n->get
(Date->monthName ($_)))}
(1..12)}),
popup_menu (-name => 'FiscalEpochDay',
-default => $fiscalEpoch{day},
-onChange => $onChange{fiscal},
override => $override,
-values => [1..31])
. '</nobr>'),
td (a ({href =>
"JavaScript:alert (\'$Fiscal_Help\')"},
$i18n->get ('What does this mean?')))));
%labels = (day => $i18n->get ('Day'),
dayBanner => $i18n->get ('Day (Bannered)'),
week => $i18n->get ('Week'),
month => $i18n->get ('Month'),
year => $i18n->get ('Year'));
$rows{defPeriod} = table ({-cellpadding => 4},
Tr (td (popup_menu (-name => 'DefaultPeriod',
-default => $defPeriod,
-onChange =>
$onChange{defPeriod},
-override => $override,
-values => [qw /day
dayBanner
week
month
year/],
-labels => \%labels)),
td ($i18n->get ('Default for repeating ' .
'events on Edit Form.') .
$i18n->get
('"Bannered" means the event will display spread out ' .
'across the days it repeats on.'))));
%labels = (0 => $i18n->get ('Display the including calendar'),
1 => $i18n->get ('Do NOT display including calendar'));
$rows{plannerself} = table ({-cellpadding => 4},
Tr (td (popup_menu (-name => 'PlannerHideSelf',
-default => $plannerSelf,
-onChange =>
$onChange{plannerself},
-override => $override,
-values => [0, 1],
-labels => \%labels)),
td ($i18n->get ('Whether or not to display ' .
'the main including ' .
'calendar in the Planner ' .
'views.'))));
my $bgcolor = '#dddddd';
my $bg2 = '#eeeeee';
my @rows;
# could use @names, but display order might be differmint
foreach (qw (day time display navbar SPACE
weekend weeknum SPACE
popup listviewpop SPACE
dayview daytimes SPACE
menus menuItems SPACE
repeatedit editForm defPeriod emailSelect SPACE
plannerself fiscal)) {
if (/SPACE/) {
push @rows, Tr (td (' '));
next;
}
($bgcolor, $bg2) = ($bg2, $bgcolor);
push @rows, Tr ({bgcolor => '#cdcdcd'},
$self->groupToggle (name => $_),
td ({align => 'right',
bgcolor => '#cdcdcd',
width => '22%'},
b ('<nobr>' . $captions{$_} . ': ' . '</nobr>')),
td ({bgcolor => $bgcolor}, $rows{$_}));
}
print $calSelector if $calSelector;
my ($setAlljs, $setAllRow) = $self->setAllJavascript;
print $setAlljs;
push @rows, Tr (td ({-align => 'center'}, $setAllRow)) if $setAllRow;
print '<br>';
print table ({width => '90%',
align => 'center',
cellspacing => 0,
border => 0},
@rows);
print '<hr>';
print submit (-name => 'Save', -value => $i18n->get ('Save'));
print ' ';
print submit (-name => 'Cancel', -value => $i18n->get ('Done'));
print ' ';
print reset (-value => 'Reset');
print $self->hiddenParams;
print endform;
print $self->helpNotes;
print $cgi->end_html;
}
# Produce a popup to select a day of the week.
# Pash hash pairs with 'name', 'default' keys. (Default must be int, 1-7)
# Defaults to Sunday.
sub _weekdayPopup {
my %args = (name => 'WeekdayPopup',
default => 7,
@_);
$args{default} = 7 if (!$args{default} or
$args{default} < 1 or $args{default} > 7);
popup_menu ('-name' => $args{name},
'-default' => $args{default},
'-onChange' => $args{onChange},
'-override' => $args{override},
'-values' => [7, 1],
'-labels' => {'7' => $args{i18n}->get ('Sunday'),
'1' => $args{i18n}->get ('Monday')});
}
1;