New features implemented:

* Configurable defaults for the calendar upcoming events lookahead and
   maximum upcoming events displayed (bug #1623)

 * Configurable setting for which days of the week are treated as weekend
   (bug #1919)

 * Configurable setting for which day starts the week (the admin can now set
   this as the default for new users and guests without messing with language
   packs) (no butracker issue)
This commit is contained in:
defacer 2004-12-16 18:49:57 +00:00
parent 54598fb04e
commit bb4a2e85c0
7 changed files with 106 additions and 14 deletions

View file

@ -3,7 +3,7 @@
<p><input type="hidden" name="sesskey" value="<?php echo $USER->sesskey ?>"></p>
<div style="text-align: center;">
<table style="margin: auto; border: none; width: 90%;" class="formtable">
<table style="margin: auto;" class="formtable">
<tbody>
<tr>
<th>adminseesall:</th>
@ -15,6 +15,40 @@
</td>
<td><?php print_string('helpadminseesall', 'admin'); ?></td>
</tr>
<tr>
<th>startwday:</th>
<td>
<?php choose_from_menu($weekdays, 'startwday', empty($CFG->calendar_startwday) ? 0 : $CFG->calendar_startwday, ''); ?>
</td>
<td><?php print_string('helpstartofweek', 'admin'); ?></td>
</tr>
<tr>
<th>weekenddays:</th>
<td>
<nobr><input type="checkbox" name="weekend[]" value="1" id="weekend1" <?php if(CALENDAR_WEEKEND & 2) echo 'checked="checked"'; ?> /> <label for="weekend1"><?php print_string('monday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="2" id="weekend2" <?php if(CALENDAR_WEEKEND & 4) echo 'checked="checked"'; ?> /> <label for="weekend2"><?php print_string('tuesday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="3" id="weekend3" <?php if(CALENDAR_WEEKEND & 8) echo 'checked="checked"'; ?> /> <label for="weekend3"><?php print_string('wednesday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="4" id="weekend4" <?php if(CALENDAR_WEEKEND & 16) echo 'checked="checked"'; ?> /> <label for="weekend4"><?php print_string('thursday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="5" id="weekend5" <?php if(CALENDAR_WEEKEND & 32) echo 'checked="checked"'; ?> /> <label for="weekend5"><?php print_string('friday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="6" id="weekend6" <?php if(CALENDAR_WEEKEND & 64) echo 'checked="checked"'; ?> /> <label for="weekend6"><?php print_string('saturday', 'calendar'); ?></label></nobr>
<nobr><input type="checkbox" name="weekend[]" value="0" id="weekend0" <?php if(CALENDAR_WEEKEND & 1) echo 'checked="checked"'; ?> /> <label for="weekend0"><?php print_string('sunday', 'calendar'); ?></label></nobr>
</td>
<td><?php print_string('helpweekenddays', 'admin'); ?></td>
</tr>
<tr>
<th>upcoming_lookahead:</th>
<td>
<input type="text" name="lookahead" size="3" value="<?php echo CALENDAR_UPCOMING_DAYS; ?>" />
</td>
<td><?php print_string('helpupcominglookahead', 'admin'); ?></td>
</tr>
<tr>
<th>upcoming_maxevents:</th>
<td>
<input type="text" name="maxevents" size="3" value="<?php echo CALENDAR_UPCOMING_MAXEVENTS; ?>" />
</td>
<td><?php print_string('helpupcomingmaxevents', 'admin'); ?></td>
</tr>
<tr>
<th>dstforusers:</th>
<td>

View file

@ -26,7 +26,6 @@
print_heading($strcalendarsettings);
/// If data submitted, process and store
if(confirm_sesskey() && $form = data_submitted()) {
@ -49,8 +48,43 @@
}
set_config('calendar_dstforusers', $preset);
}
if(isset($form->startwday)) {
$startwday = intval($form->startwday);
if($startwday >= 0 && $startwday <= 6) {
set_config('calendar_startwday', $startwday);
}
}
if(isset($form->weekend)) {
if(is_array($form->weekend)) {
// Creating a packed bitfield; look at /calendar/lib.php if you can't figure it out
$bitfield = 0;
foreach($form->weekend as $day) {
$bitfield |= (1 << (intval($day) % 7));
}
if($bitfield > 0) {
set_config('calendar_weekend', $bitfield);
}
}
}
if(isset($form->lookahead)) {
$lookahead = intval($form->lookahead);
if($lookahead > 0) {
set_config('calendar_lookahead', $lookahead);
}
}
if(isset($form->maxevents)) {
$maxevents = intval($form->maxevents);
if($maxevents > 0) {
set_config('calendar_maxevents', $maxevents);
}
}
}
// Include the calendar library AFTER modifying the data, so we read the latest values
require_once('../calendar/lib.php');
// Populate some variables we 're going to need in calendar.html
$presets = get_records('dst_preset');
if(!empty($presets)) {
foreach($presets as $id => $preset) {
@ -58,7 +92,17 @@
}
}
/// Main display starts here
$weekdays = array(
0 => get_string('sunday', 'calendar'),
1 => get_string('monday', 'calendar'),
2 => get_string('tuesday', 'calendar'),
3 => get_string('wednesday', 'calendar'),
4 => get_string('thursday', 'calendar'),
5 => get_string('friday', 'calendar'),
6 => get_string('saturday', 'calendar')
);
// Main display starts here
print_simple_box_start('center', '100%', $THEME->cellheading);
include('./calendar.html');