Hello All,

I've two questions about MRBS, the excellent open source room booking system:

First - last week the bookings got pushed forward one hour. This was only the case in IE7 - not firefox. If i went in as administrator and changed one back, all would suddenly fit again, until i resreshed the page (in IE7) and then most would be pushed one hour forward....

I'm flumaxed. Anyone seen this strange phemonenon before?

Second - Working on the premise I / we can come up with a solution for the above oddity, I'd like to change the format of the day layout in MRBS.

Let me explain.

We have 9 lessons (periods) in the school day.
Period 1 = 08:55 - 9:30 Period 2 = 09:30 - 10:05 Break = 10:05 - 10:25 Period 3 = 10:25 - 11:00 Period 4 = 11:00 - 11:35 Assembly = 11:35 - 12:00 Period 5 = 12:00 - 12:35 Period 6 = 12:35 - 13:10 Lunch = 13:10 - 14:05 Period 7 = 14:15 - 14:50 Period 8 = 14:50 - 15:25 Period 9 = 15:25 - 16:00

I can see from the MRBS config how it's fairly straight-forward to split the day up into equal portions going on seconds (2100 seconds = a 35 minute period) but then what about the odd bits - like 20 minutes for break and then 55 minutes for lunch?? This is where I came unstuck when setting this system up and worked around it with a crude 5 minute time span which takes alot of scrolling down the page to get to the later parts of the day. Then the staff have to remember to enter "35 minutes" per lesson etc which makes it more complicated than I'd like...

If anyone with PHP / MYSQL skills out there has come up with a solution for any / part of the above, I'd love to hear from you!

Thanks!!! Here is my config file ==>

<?php

// $Id: config.inc.php 967 2008-12-03 14:37:50Z jberanek $

/************************************************** ************************
* MRBS Configuration File
* Configure this file for your site.
* You shouldn't have to modify anything outside this file.
************************************************** ************************/

// The timezone your meeting rooms run in. It is especially important
// to set this if you're using PHP 5 on Linux. In this configuration
// if you don't, meetings in a different DST than you are currently
// in are offset by the DST offset incorrectly.
//
// When upgrading an existing installation, this should be set to the
// timezone the web server runs in.
//
$timezone = "Europe/London";


/*******************
* Database settings
******************/
// Which database system: "pgsql"=PostgreSQL, "mysql"=MySQL,
// "mysqli"=MySQL via the mysqli PHP extension
$dbsys = "mysql";
// Hostname of database server. For pgsql, can use "" instead of localhost
// to use Unix Domain Sockets instead of TCP/IP.
$db_host = "localhost";
// Database name:
$db_database = "mrbs";
// Database login user name:
$db_login = "mrbs";
// Database login password:
$db_password = 'mrbs-password';
// Prefix for table names. This will allow multiple installations where only
// one database is available
$db_tbl_prefix = "mrbs_";
// Uncomment this to NOT use PHP persistent (pooled) database connections:
// $db_nopersist = 1;

/*********************************
* Site identification information
*********************************/
$mrbs_admin = "rar";
$mrbs_admin_email = "rar@colstonsgirls.bristol.sch.uk";

// This is the text displayed in the upper left corner of every page. Either
// type the name of your organisation, or you can put your logo like this :
// $mrbs_company = "<a href=\"http://www.colstonsgirlsacademy.com\"><img src=\"your_logo.gif\" width=\"300\" height=\"150:q\" alt=\"Logo\" style=\"border: 0\"></a>";
// NOTE: make sure you set the width and height. The default values here are deliberately large to make it obvious if they have not been set.
$mrbs_company = "Colstons Girls School Academy";

// This is to fix URL problems when using a proxy in the environment.
// If links inside MRBS appear broken, then specify here the URL of
// your MRBS root directory, as seen by the users. For example:
// $url_base = "http://webtools.uab.ericsson.se/oam";
// It is also recommended that you set this if you intend to use email
// notifications, to ensure that the correct URL is displayed in the
// notification.
$url_base = "";


/*******************
* Calendar settings
*******************/

// Note: Be careful to avoid specify options that displays blocks overlaping
// the next day, since it is not properly handled.

// This setting controls whether to use "clock" based intervals (FALSE and
// the default) or user defined periods (TRUE). If user-defined periods
// are used then $resolution, $morningstarts, $eveningends,
// $eveningends_minutes and $twentyfourhour_format are ignored.
$enable_periods = FALSE;

// Resolution - what blocks can be booked, in seconds.
// Default is half an hour: 1800 seconds.
$resolution = 300;

// Default duration - default length (in seconds) of a booking.
// Ignored if $enable_periods is TRUE
// Defaults to (60 * 60) seconds, i.e. an hour
$default_duration = (5 * 60);

// Start and end of day.
// NOTE: The time between the beginning of the last and first
// slots of the day must be an integral multiple of the resolution,
// and obviously >=0.


// The default settings below (along with the 30 minute resolution above)
// give you 24 half-hourly slots starting at 07:00, with the last slot
// being 18:30 -> 19:00

// The beginning of the first slot of the day
$morningstarts = 7; // must be integer in range 0-23
$morningstarts_minutes = 55; // must be integer in range 0-59

// The beginning of the last slot of the day
$eveningends = 17; // must be integer in range 0-23
$eveningends_minutes = 55; // must be integer in range 0-59

// Example 1.
// If resolution=3600 (1 hour), morningstarts = 8 and morningstarts_minutes = 30
// then for the last period to start at say 4:30pm you would need to set eveningends = 16
// and eveningends_minutes = 30

// Example 2.
// To get a full 24 hour display with 15-minute steps, set morningstarts=0; eveningends=23;
// eveningends_minutes=45; and resolution=900.

// Do some checking
$start_first_slot = ($morningstarts*60) + $morningstarts_minutes; // minutes
$start_last_slot = ($eveningends*60) + $eveningends_minutes; // minutes
$start_difference = ($start_last_slot - $start_first_slot) * 60; // seconds
if (($start_difference < 0) or ($start_difference%$resolution != 0))
{
die('Configuration error: start and end of day incorrectly defined');
}


// Define the name or description for your periods in chronological order
// For example:
// $periods[] = "Period&nbsp;1"
// $periods[] = "Period&nbsp;2"
// ...
// or
// $periods[] = "09:15&nbsp;-&nbsp;09:50"
// $periods[] = "09:55&nbsp;-&nbsp;10:35"
// ...
// &nbsp; is used to ensure that the name or description is not wrapped
// when the browser determines the column widths to use in day and week
// views
//
// NOTE: MRBS assumes that the descriptions are valid HTML and can be output
// directly without any encoding. Please ensure that any special characters
// are encoded, eg '&' to '&amp;', '>' to '&gt;', lower case e acute to
// '&eacute;' or 'é', etc.

// NOTE: The maximum number of periods is 60. Do not define more than this.
$periods[] = "Period&nbsp;1";
$periods[] = "Period&nbsp;2";
// NOTE: The maximum number of periods is 60. Do not define more than this.

// Do some checking
if (count($periods) > 60)
{
die('Configuration error: too many periods defined');
}

// Start of week: 0 for Sunday, 1 for Monday, etc.
$weekstarts = 0;

// Trailer date format: 0 to show dates as "Jul 10", 1 for "10 Jul"
$dateformat = 0;

// Time format in pages. 0 to show dates in 12 hour format, 1 to show them
// in 24 hour format
$twentyfourhour_format = 1;

*** HAD TO DELETE EVERYTHING BELOW HERE AS IT WOULDNT FIT IN THE POST!!! ***