Fixed styles and improved lots of things in calendar. It should work all

right and even be a bit cooler than it was before. :)
This commit is contained in:
defacer 2005-02-11 15:52:59 +00:00
parent 8846f07b50
commit 3c1348758d
7 changed files with 155 additions and 193 deletions

View File

@ -7,6 +7,10 @@ class block_calendar_month extends block_base {
$this->version = 2004081200;
}
function preferred_width() {
return 200;
}
function get_content() {
global $USER, $CFG, $SESSION;
optional_variable($_GET['cal_m']);
@ -61,7 +65,8 @@ class block_calendar_month extends block_base {
$this->content->text .= calendar_top_controls('course', array('id' => $courseshown, 'm' => $_GET['cal_m'], 'y' => $_GET['cal_y']));
$this->content->text .= calendar_get_mini($courses, $group, $user, $_GET['cal_m'], $_GET['cal_y']);
$course = get_record('course', 'id', $this->instance->pageid);
$this->content->text .= calendar_filter_controls('course', '', $course);
$this->content->text .= '<div class="filters">'.calendar_filter_controls('course', '', $course).'</div>';
}
return $this->content;

View File

@ -59,8 +59,10 @@
redirect($CFG->wwwroot.'/'.$CFG->admin.'/index.php');
}
$strcalendar = get_string('calendar', 'calendar');
$now = usergetdate(time());
$nav = calendar_get_link_tag(get_string('calendar', 'calendar'), CALENDAR_URL.'view.php?view=upcoming&amp;', $now['mday'], $now['mon'], $now['year']);
$nav = calendar_get_link_tag($strcalendar, CALENDAR_URL.'view.php?view=upcoming&amp;', $now['mday'], $now['mon'], $now['year']);
$day = intval($now['mday']);
$mon = intval($now['mon']);
$yr = intval($now['year']);
@ -211,13 +213,13 @@
$nav = '<a href="'.$CFG->wwwroot.'/course/view.php?id='.$SESSION->cal_course_referer.'">'.$shortname.'</a> -> '.$nav;
}
print_header(get_string('calendar', 'calendar').': '.$title, $site->fullname, $nav.' -> '.$title,
print_header($site->shortname.': '.$strcalendar.': '.$title, $strcalendar, $nav.' -> '.$title,
$focus, '', true, '', '<p class="logininfo">'.user_login_string($site).'</p>');
echo calendar_overlib_html();
echo '<table border="0" cellpadding="3" cellspacing="0" width="100%"><tr valign="top">';
echo '<td valign="top" width="100%">';
echo '<table id="calendar">';
echo '<tr><td class="maincalendar">';
switch($_REQUEST['action']) {
case 'delete':
@ -248,9 +250,13 @@
$d = $eventtime['mday'];
$y = $eventtime['year'];
// Display confirmation form
print_side_block_start(get_string('deleteevent', 'calendar').': '.$event->name, array('class' => 'mycalendar'));
echo '<div class="heading">'.get_string('deleteevent', 'calendar').': '.$event->name.'</div>';
echo '<h2>'.get_string('confirmeventdelete', 'calendar').'</h2>';
echo '<div class="eventlist">';
$event->time = calendar_format_event_time($event, time(), '', false);
calendar_print_event($event);
echo '</div>';
include('event_delete.html');
print_side_block_end();
}
break;
@ -285,9 +291,8 @@
$course = $site;
}
print_side_block_start(get_string('editevent', 'calendar'), array('class' => 'mycalendar'));
echo '<div class="heading">'.get_string('editevent', 'calendar').'</div>';
include('event_edit.html');
print_side_block_end();
if ($usehtmleditor) {
use_html_editor("description");
}
@ -415,7 +420,8 @@
$header = ' ('.$header.')';
}
print_side_block_start(get_string('newevent', 'calendar').$header, array('class' => 'mycalendar'));
echo '<div class="heading">'.get_string('newevent', 'calendar').$header.'</div>';
if($_REQUEST['type'] == 'select') {
$defaultcourse = $SESSION->cal_course_referer;
if(isteacheredit($defaultcourse, $USER->id)) {
@ -428,7 +434,10 @@
optional_variable($_REQUEST['courseid'], $defaultcourse);
$groupid = $_REQUEST['groupid'];
$courseid = $_REQUEST['courseid'];
echo '<h2>'.get_string('eventkind', 'calendar').':</h2>';
echo '<div id="selecteventtype">';
include('event_select.html');
echo '</div>';
}
else {
include('event_new.html');
@ -436,22 +445,24 @@
use_html_editor("description");
}
}
print_side_block_end();
break;
}
echo '</td>';
// START: Last column (3-month display)
echo '<td style="vertical-align: top; width: 180px;">';
$defaultcourses = calendar_get_default_courses();
calendar_set_filters($courses, $groups, $users, $defaultcourses, $defaultcourses);
print_side_block_start(get_string('monthlyview', 'calendar'));
list($prevmon, $prevyr) = calendar_sub_month($mon, $yr);
list($nextmon, $nextyr) = calendar_add_month($mon, $yr);
echo '<td class="sidecalendar">';
echo '<div class="heading">'.get_string('monthlyview', 'calendar').'</div>';
echo '<div class="filters">';
echo calendar_filter_controls('event', 'action='.$_REQUEST['action'].'&amp;type='.$_REQUEST['type'].'&amp;id='.$_REQUEST['id']);
echo '</div>';
echo '<div>';
echo calendar_top_controls('display', array('m' => $prevmon, 'y' => $prevyr));
echo calendar_get_mini($courses, $groups, $users, $prevmon, $prevyr);
@ -462,10 +473,8 @@
echo calendar_top_controls('display', array('m' => $nextmon, 'y' => $nextyr));
echo calendar_get_mini($courses, $groups, $users, $nextmon, $nextyr);
echo '</div>';
print_side_block_end();
print_spacer(1, 180);
echo '</td>';
echo '</td>';
echo '</tr></table>';
print_footer();

View File

@ -1,54 +1,25 @@
<p style="text-align: center;"><?php print_string('confirmeventdelete', 'calendar'); ?></p>
<div style="text-align: center; width: 100%;">
<table style="margin: auto;" >
<table style="margin: auto;">
<tr>
<td>
<form method="get" action="event.php" name="delete">
<input type="submit" value=" <?php print_string('ok') ?> " />
<input type="hidden" name="id" value="<?php echo $event->id?>" />
<input type="hidden" name="action" value="delete" />
<input type="hidden" name="m" value="<?php echo $m; ?>" />
<input type="hidden" name="d" value="<?php echo $d; ?>" />
<input type="hidden" name="y" value="<?php echo $y; ?>" />
<input type="hidden" name="confirm" value="1" />
</form>
</td>
<td>
<form method="get" action="view.php" name="cancel">
<input type="submit" value=" <?php print_string('cancel') ?> ">
<input type="hidden" name="view" value="day" />
<input type="hidden" name="cal_m" value="<?php echo $m; ?>" />
<input type="hidden" name="cal_d" value="<?php echo $d; ?>" />
<input type="hidden" name="cal_y" value="<?php echo $y; ?>" />
</form>
</td>
</tr>
</table>
</div>

View File

@ -1,7 +1,6 @@
<form method="post" action="event.php">
<table class="formtable">
<tr>
<td style="vertical-align: top; text-align: right;"><?php print_string('eventkind', 'calendar'); ?>:</td>
<td>
<?php if(!empty($allowed->user)) { ?><div><input type='radio' name='type' value='user' id='type_user' checked='checked' /><label for='type_user'><?php print_string('typeuser', 'calendar') ?></label></div>
<?php } ?>
@ -23,12 +22,9 @@
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<div>
<td style="text-align: center;">
<input type="submit" value=" <?php print_string('ok') ?> " />
<input type="button" onclick="document.location.href='view.php?view=upcoming';" value=" <?php print_string('cancel') ?> " />
</div>
</td>
</tr>
</table>

View File

@ -327,66 +327,103 @@ function calendar_get_upcoming($courses, $groups, $users, $daysinfuture, $maxeve
break;
}
$eventtime = calendar_format_event_time($event, $now, $morehref);
$outkey = count($output);
$output[$outkey] = $event; // Grab the whole raw event by default
// Now we know how to display the time, we have to see how to display the event
if(!empty($event->modulename)) { // Activity event
// The module name is set. I will assume that it has to be displayed, and
// also that it is an automatically-generated event. And of course that the
// fields for get_coursemodule_from_instance are set correctly.
$module = calendar_get_module_cached($coursecache, $event->modulename, $event->instance);
if ($module === false) {
// This shouldn't have happened. What to do now?
// Just ignore it
continue;
}
$modulename = get_string('modulename', $event->modulename);
$eventtype = get_string($event->eventtype, $event->modulename);
$icon = $CFG->modpixpath.'/'.$event->modulename.'/icon.gif';
$output[$outkey]->icon = '<img height="16" width="16" src="'.$icon.'" alt="" title="'.$modulename.'" style="vertical-align: middle;" />';
$output[$outkey]->referer = '<a href="'.$CFG->wwwroot.'/mod/'.$event->modulename.'/view.php?id='.$module->id.'">'.$event->name.'</a>';
$output[$outkey]->time = $eventtime;
$output[$outkey]->courselink = '<a href="'.$CFG->wwwroot.'/course/view.php?id='.$module->course.'">'.$coursecache[$module->course]->fullname.'</a>';
$output[$outkey]->cmid = $module->id;
} else if($event->courseid == SITEID) { // Site event
$output[$outkey]->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/site.gif" alt="" style="vertical-align: middle;" />';
$output[$outkey]->time = $eventtime;
} else if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) { // Course event
calendar_get_course_cached($coursecache, $event->courseid);
$output[$outkey]->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/course.gif" alt="" style="vertical-align: middle;" />';
$output[$outkey]->time = $eventtime;
$output[$outkey]->courselink = '<a href="'.$CFG->wwwroot.'/course/view.php?id='.$event->courseid.'">'.$coursecache[$event->courseid]->fullname.'</a>';
} else if ($event->groupid) { // Group event
$output[$outkey]->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/group.gif" alt="" style="vertical-align: middle;" />';
$output[$outkey]->time = $eventtime;
} else if($event->userid) { // User event
$output[$outkey]->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/user.gif" alt="" style="vertical-align: middle;" />';
$output[$outkey]->time = $eventtime;
}
$event->time = calendar_format_event_time($event, $now, $morehref);
$output[] = $event;
++$processed;
}
}
return $output;
}
function calendar_print_event($event) {
global $CFG, $USER;
static $strftimetime;
if(!empty($event->modulename)) { // Activity event
// The module name is set. I will assume that it has to be displayed, and
// also that it is an automatically-generated event. And of course that the
// fields for get_coursemodule_from_instance are set correctly.
$module = calendar_get_module_cached($coursecache, $event->modulename, $event->instance);
if ($module === false) {
return;
}
$modulename = get_string('modulename', $event->modulename);
$eventtype = get_string($event->eventtype, $event->modulename);
$icon = $CFG->modpixpath.'/'.$event->modulename.'/icon.gif';
$event->icon = '<img height="16" width="16" src="'.$icon.'" alt="" title="'.$modulename.'" style="vertical-align: middle;" />';
$event->referer = '<a href="'.$CFG->wwwroot.'/mod/'.$event->modulename.'/view.php?id='.$module->id.'">'.$event->name.'</a>';
$event->courselink = '<a href="'.$CFG->wwwroot.'/course/view.php?id='.$module->course.'">'.$coursecache[$module->course]->fullname.'</a>';
$event->cmid = $module->id;
} else if($event->courseid == SITEID) { // Site event
$event->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/site.gif" alt="" style="vertical-align: middle;" />';
} else if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) { // Course event
calendar_get_course_cached($coursecache, $event->courseid);
$event->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/course.gif" alt="" style="vertical-align: middle;" />';
$event->courselink = '<a href="'.$CFG->wwwroot.'/course/view.php?id='.$event->courseid.'">'.$coursecache[$event->courseid]->fullname.'</a>';
} else if ($event->groupid) { // Group event
$event->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/group.gif" alt="" style="vertical-align: middle;" />';
} else if($event->userid) { // User event
$event->icon = '<img height="16" width="16" src="'.$CFG->pixpath.'/c/user.gif" alt="" style="vertical-align: middle;" />';
}
echo '<table class="eventfull">';
echo '<tr><td class="eventfullpicture">';
if (!empty($event->icon)) {
echo $event->icon;
} else {
print_spacer(16,16);
}
echo '</td>';
echo '<td class="eventfullheader">';
if (!empty($event->referer)) {
echo '<div style="float:left;" class="calendarreferer">'.$event->referer.'</div>';
} else {
echo '<div style="float:left;" class="event">'.$event->name."</div>";
}
if (!empty($event->courselink)) {
echo '<div style="float:left; clear: left; font-size: 0.8em;">'.$event->courselink.' </div>';
}
if (!empty($event->time)) {
echo '<span style="float:right;" class="event_date">'.$event->time.'</span>';
} else {
echo '<span style="float:right;" class="event_date">'.calendar_time_representation($event->timestart).'</span>';
}
echo "</td></tr>";
echo "<tr><td valign=\"top\" class=\"eventfullside\" width=\"32\">&nbsp;</td>";
echo "<td class=\"eventfullmessage\">\n";
echo format_text($event->description, FORMAT_HTML);
if (calendar_edit_event_allowed($event)) {
echo '<div align="right">';
if (empty($event->cmid)) {
$editlink = CALENDAR_URL.'event.php?action=edit&amp;id='.$event->id;
$deletelink = CALENDAR_URL.'event.php?action=delete&amp;id='.$event->id;
} else {
$editlink = $CFG->wwwroot.'/course/mod.php?update='.$event->cmid.'&amp;return=true&amp;sesskey='.$USER->sesskey;
$deletelink = $CFG->wwwroot.'/course/mod.php?delete='.$event->cmid.'&amp;sesskey='.$USER->sesskey;;
}
echo ' <a href="'.$editlink.'"><img
src="'.$CFG->pixpath.'/t/edit.gif" alt="'.get_string('tt_editevent', 'calendar').'"
title="'.get_string('tt_editevent', 'calendar').'" /></a>';
echo ' <a href="'.$deletelink.'"><img
src="'.$CFG->pixpath.'/t/delete.gif" alt="'.get_string('tt_deleteevent', 'calendar').'"
title="'.get_string('tt_deleteevent', 'calendar').'" /></a>';
echo '</div>';
}
echo '</td></tr></table>';
}
function calendar_sql_where($tstart, $tend, $users, $groups, $courses, $withduration=true, $ignorehidden=true) {
$whereclause = '';
// Quick test

View File

@ -128,8 +128,6 @@
echo calendar_overlib_html();
echo '<div id="calendar-container">';
// Layout the whole page as three big columns.
echo '<table id="calendar">';
echo '<tr>';
@ -181,8 +179,6 @@
echo '</tr></table>';
echo '</div>'; // id=calendar-container
print_footer();
@ -253,7 +249,7 @@ function calendar_show_day($d, $m, $y, $courses, $groups, $users) {
// Then, show a list of all events that just span this day
if (!empty($underway)) {
echo '<p>'.get_string('spanningevents', 'calendar').':</p>';
echo '<h3>'.get_string('spanningevents', 'calendar').':</h3>';
foreach ($underway as $event) {
$event->time = calendar_format_event_time($event, time(), '', false);
calendar_print_event($event);
@ -547,62 +543,6 @@ function calendar_show_upcoming_events($courses, $groups, $users, $futuredays, $
}
}
function calendar_print_event($event) {
global $CFG, $USER;
static $strftimetime;
echo '<table class="eventfull">';
echo '<tr><td class="eventfullpicture">';
if (!empty($event->icon)) {
echo $event->icon;
} else {
print_spacer(16,16);
}
echo '</td>';
echo '<td class="eventfullheader">';
if (!empty($event->referer)) {
echo '<div style="float:left;" class="calendarreferer">'.$event->referer.'</div>';
} else {
echo '<div style="float:left;" class="event">'.$event->name."</div>";
}
if (!empty($event->courselink)) {
echo '<div style="float:left; clear: left; font-size: 0.8em;">'.$event->courselink.' </div>';
}
if (!empty($event->time)) {
echo '<span style="float:right;" class="event_date">'.$event->time.'</span>';
} else {
echo '<span style="float:right;" class="event_date">'.calendar_time_representation($event->timestart).'</span>';
}
echo "</td></tr>";
echo "<tr><td valign=\"top\" class=\"eventfullside\" width=\"32\">&nbsp;</td>";
echo "<td class=\"eventfullmessage\">\n";
echo format_text($event->description, FORMAT_HTML);
if (calendar_edit_event_allowed($event)) {
echo '<div align="right">';
if (empty($event->cmid)) {
$editlink = CALENDAR_URL.'event.php?action=edit&amp;id='.$event->id;
$deletelink = CALENDAR_URL.'event.php?action=delete&amp;id='.$event->id;
} else {
$editlink = $CFG->wwwroot.'/course/mod.php?update='.$event->cmid.'&amp;return=true&amp;sesskey='.$USER->sesskey;
$deletelink = $CFG->wwwroot.'/course/mod.php?delete='.$event->cmid.'&amp;sesskey='.$USER->sesskey;;
}
echo ' <a href="'.$editlink.'"><img
src="'.$CFG->pixpath.'/t/edit.gif" alt="'.get_string('tt_editevent', 'calendar').'"
title="'.get_string('tt_editevent', 'calendar').'" /></a>';
echo ' <a href="'.$deletelink.'"><img
src="'.$CFG->pixpath.'/t/delete.gif" alt="'.get_string('tt_deleteevent', 'calendar').'"
title="'.get_string('tt_deleteevent', 'calendar').'" /></a>';
echo '</div>';
}
echo '</td></tr></table>';
}
function calendar_course_filter_selector($getvars = '') {
global $USER, $SESSION;

View File

@ -535,32 +535,37 @@ CALENDAR STYLES -- PROVISIONALLY PLACED HERE UNTIL FINALIZED
font-weight:bold;
}
#calendar .maincalendar table.calendarmonth {
-moz-border-radius: 10px;
margin: 0px auto;
width: 98%;
}
#calendar .maincalendar table.calendarmonth tbody td {
#calendar .maincalendar .calendarmonth tbody td {
height: 5em;
font-size:0.8em;
line-height:1.2em;
padding-left: 4px;
padding-top: 4px;
}
#calendar .maincalendar .calendarmonth tbody td table td{
height: auto;
}
#calendar .maincalendar table.calendarmonth {
-moz-border-radius: 10px;
margin: 0px auto;
width: 98%;
}
#calendar .maincalendar table.calendarmonth thead th {
padding:10px;
border-bottom:2px solid;
}
#calendar-container #calendar {
#calendar {
width: 100%;
border-spacing: 5px;
}
#calendar,
#calendar-container .maincalendar .eventlist table,
#calendar-container .maincalendar table.calendarmonth {
#calendar .maincalendar .eventlist table,
#calendar .maincalendar table.calendarmonth {
border-collapse: separate;
}
@ -590,7 +595,9 @@ table.calendarmonth tbody td, table.minicalendar tbody td, table.minicalendar th
float: right;
}
.maincalendar .filters table, .sidecalendar .filters table {
#calendar .maincalendar .filters table,
#calendar .sidecalendar .filters table,
.sideblock.block_calendar_month .filters table {
border-collapse:separate;
border-spacing: 2px;
-moz-border-radius:4px;
@ -599,20 +606,21 @@ table.calendarmonth tbody td, table.minicalendar tbody td, table.minicalendar th
width: 100%;
}
.sidecalendar .filters {
font-size: 0.75em;
#calendar .sidecalendar .filters,
.sideblock.block_calendar_month .filters {
font-size:0.75em;
padding: 5px;
}
.maincalendar .filters {
#calendar .maincalendar .filters {
padding: 0px 10px;
}
.maincalendar .day {
#calendar .maincalendar .day {
font-weight: bold;
}
#calendar .maincalendar .heading, #calendar-container .sidecalendar .heading {
#calendar .maincalendar .heading, #calendar .sidecalendar .heading {
background-image:url(gradient.jpg);
background-position:top;
background-repeat:repeat-x;
@ -641,15 +649,7 @@ table.minicalendar tbody td {
text-align: center;
}
#calendar .maincalendar .calendarmonth tbody td {
height: 5em;
}
#calendar .maincalendar .calendarmonth tbody td table td{
height: auto;
}
#calendar .maincalendar .eventlist {
#calendar .eventlist {
padding: 10px;
}
@ -675,4 +675,8 @@ table.minicalendar tbody td {
#calendar .maincalendar ul li {
margin-top: 4px;
}
#calendar #selecteventtype table {
margin:auto;
}