"Fossies" - the Fresh Open Source Software Archive

Member "mrbs-1.9.2/NEWS" (14 Oct 2020, 134724 Bytes) of package /linux/www/mrbs-1.9.2.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "NEWS": 1.9.1_vs_1.9.2.

    1 [============================]
    2 [   Mrbs NEWS Legend:        ]
    3 [                            ]
    4 [ + Added feature            ]
    5 [ * Improved/changed feature ]
    6 [ - Bug fixed (we hope)      ]
    7 [============================]
    8 
    9 -------------------------------------------------------------------------------
   10 Version 1.9.2 (Wed 14th October 2020):
   11 
   12 [-] Fixed bug when upgrading to or installing MRBS 1.9.1 and using MySQL
   13  5.6 or below. See SF Bugs #486.
   14 
   15 [*] Prevented ordinary users from cancelling a registration for an event
   16  after it has started.
   17 
   18 [*] Added a new config variable, $enable_registration, to allow sites to
   19  remove the ability to create events for which other people can
   20  register. See SF Support Requests #2199.
   21 
   22 
   23 -------------------------------------------------------------------------------
   24 Version 1.9.1 (Sat 10th October 2020):
   25 
   26 [+] Added the ability to request a password reset, as long as MRBS can determine the user's
   27  email address.
   28 
   29 [+] Added ability to configure a meeting to allow for a set number of users to "sign up"
   30  for the meeting.
   31 
   32 [-] Fixed bug recently introduced in LDAP authentication scheme, see SF Bugs #475.
   33 
   34 [-] Fixed bug with error logging, see SF Support Requests #2312.
   35 
   36 [*] Now respects the sort key when getting the default area.
   37 
   38 [*] Updated German translation with thanks to Tobias Zeumer.
   39 
   40 [*] Improvements to utility page checklang.php.
   41 
   42 [*] Added version parameters to query strings for Javascript and CSS files to
   43  avoid problems with over-eager caching.
   44 
   45 [-] Fixed bug causing no entries to be found in a report when there's a
   46  custom field which is an integer and it is left blank in the report
   47  form. See SF Support Requests #2142.
   48 
   49 [*] Upgraded to latest version of DataTables.
   50 
   51 [-] Fixed SF Bugs #477 - CAS setup error.
   52 
   53 [*] Added checks where necessary that the authentication type is the
   54  same as the session scheme.
   55 
   56 [-] Fixed SF Bugs #479 (cannot edit a booking when
   57  $prevent_simultaneous_bookings = true;)
   58 
   59 [-] Fixed bug when a limit is set on both the maximum number and also
   60  the total length of bookings per day. See SF Bugs #480.
   61 
   62 [+] Added a configuration option to display the mini-calendars above the
   63  main calendar when the window narrrows. See SF Support Requests
   64  #2156.
   65 
   66 [+] Allowed admins to override the private_mandatory setting. See SF
   67  Patches #102.
   68 
   69 [-] Fixed bug causing the location not to be shown in print view. See SF
   70  Feature Requests #426.
   71 
   72 [-] Fixed SF Bugs #482 (hidden days not disabled in datepickers).
   73 
   74 [-] Advanced the date to the first non-hidden day. See SF Bugs #482.
   75 
   76 [*] Changed "Possible CSRF attack" message from E_USER_WARNING to
   77  E_USER_NOTICE. See SF Support Requests #2174.
   78 
   79 [+] Added the 'idcheck' authentication type. See SF Support Requests
   80  #2173.
   81 
   82 [+] Added Windows support for Cuban (es-CU) and Latin American (es-419)
   83  Spanish.
   84 
   85 [*] Updated French translations. Thanks to Philippe. See SF Patches
   86  #105.
   87 
   88 [*] Added support in Windows for more languages.
   89 
   90 [-] Fixed bug causing problems if the old auth files are still present.
   91 
   92 [-] Fixed problem with MRBS not accepting 'zh-TW' as a locale when using
   93  the intl extension. See SF Support Requests #2178.
   94 
   95 [+] Added the ability to configure a room to disallow certain booking types.
   96 
   97 [-] Fixed a few issues with PostgreSQL upgrades/schema.
   98 
   99 
  100 -------------------------------------------------------------------------------
  101 Version 1.9.0 (Tue 16th August 2020):
  102 
  103 [*] Authentication and session schemes refactored into classes.
  104 
  105 [*] Updated Norwegian translation from Pål Viland Monstad.
  106 
  107 [+] Added multi-site ability, to allow more than one sites to be run from the same
  108  installation, just with different configuration files.
  109 
  110 [-] Fixed bug causing problems in resizing booking.
  111 
  112 [-] Fixed bug when resizing bookings after the table container has been
  113  scrolled.
  114 
  115 [*] Upgraded to Select2 version 4.0.13.
  116 
  117 [+] Added a display name to the users table.
  118 
  119 [-] Added Ajax loading of usernames. See SF Support Requests #2031
  120 
  121 [-] Fixed problem with escaping of HTML. See SF Support Requests #2045.
  122 
  123 [-] Fixed bug when the booking day goes past midnight. See SF Support
  124  Requests #2045.
  125 
  126 [-] Fixed CSS problem. See SF Bugs #460.
  127 
  128 [-] Fixed bug causing the create_by value to be changed in some
  129  circumstances. See Support Requests #2052.
  130 
  131 [-] Fixed bug when editing an entry without being logged in first. See
  132  SF Bugs #464.
  133 
  134 [*] Moved mail sending into a MailQueue class. Normally the queue is
  135  flushed on shutdown using a register_shutdown_function() callback.
  136  However the class could easily be extended so that the mail queue is
  137  held in the database and emptied by a cron job. This would enable
  138  rate limits to be adhered to more accurately, as there would be just
  139  one queue.
  140 
  141 [+] Added a config option for types that can only be used by admins.
  142 
  143 [*] Removed inclusion of language preferences in the datepicker
  144  JavaScript code in order to avoid caching problems. The language
  145  preferences are now obtained dynamically from a data atrtribute in
  146  the body tag. See SF Support Requests #2073.
  147 
  148 [*] Various improvements for display on mobile devices.
  149 
  150 [*] Updated Spanish translation. Thanks to Jose Luis Martin Jimenez. See
  151  SF Feature Requests #355.
  152 
  153 [*] Upgraded to jQuery 3.5.1.
  154 
  155 [+] Added per-area configuration for "times along top" and "default type".
  156 
  157 [-] Implemented global limits on the total *length" of bookings per
  158  day/week/month/year
  159 
  160 [*] PHP 8 compatibility fixes.
  161 
  162 [-] Fixed SF Bugs #463.
  163 
  164 [-] Fixed problem with booking admins not being able to resize rooms.
  165  See also SF Bugs #463.
  166 
  167 [-] per-area settings for total length of bookings.
  168 
  169 [-] Fixed SF Bugs #466 (it's possible to create a series which has
  170  overlapping entries)
  171 
  172 [-] Fixed problem with the brief description field not receiving focus.
  173  See SF Bugs #468.
  174 
  175 [-] Fixed bug causing high client CPU load in some circumstances when
  176  $show_timeline is true. See SF Support Requests #2107.
  177 
  178 [+] Added a config option $prevent_simultaneous_bookings to stop users
  179  booking two different rooms at the same time. See SF Bugs #472.
  180 
  181 [-] Fixed problem with an unnecessary CSRF error message being generated
  182  if the user logs off after the session has expired due to
  183  inactivity.
  184 
  185 [-] Fixed problem caused by trailing spaces in the username in the
  186  'http' session scheme.
  187 
  188 [-] Fixed bug causing datepickers not to be shown in Safari and Firefox
  189  on iPhone. See SF Bugs #473.
  190 
  191 [*] Updates to authentication schemes to allow a user's real name to be
  192  used instead of their username, if that information is available. includes
  193  addition of this field in MRBS's buit-in DB authentication scheme.
  194 
  195 -------------------------------------------------------------------------------
  196 Version 1.8.0 (Tue 31st March 2020):
  197 
  198 [*] Navigation in/layout of the calendar views has been improved.
  199 
  200 [-] Fix for problem editing long custom fields described in [support-
  201  requests:#1658]
  202 
  203 [*] Changed so that error messages relating to DB sessions are only
  204  output if the current DB schema version as recorded in the database
  205  is >= 56, ie the upgrade when the sessions table was created. See SF
  206  Support Requests #1658.
  207 
  208 [*] Added a maxlength attribute to custom textareas.
  209 
  210 [-] Updated to latest phpCAS client to fix problem with '"continue"
  211  targeting switch is equivalent to "break". Did you mean to use
  212  "continue 2"?' warning messages in PHP 7.3.0.
  213 
  214 [*] Turned the create_by select into a Select2 control. See SF Support
  215  Requests #1659.
  216 
  217 [*] Removed some old unsafe/fragile authentication methods.
  218 
  219 [*] Made the upgrade message look less like an error message. See SF
  220  Support Requests #1661.
  221 
  222 [*] Fixed bug when a field is disabled in the edit_entry form. See SF
  223  Support Requests #1664.
  224 
  225 [-] LDAP authentication: Added missing global declaration. Removed error control
  226  operators. See SG Bugs #425. Fixed undefined index notice when $ldap_filter is not set
  227 
  228 [-] Fixed bug causing checkbox custom fields not to be saved. See SF
  229  Bugs #429.
  230 
  231 [-] Fixed bug preventing resizing of bookings.
  232 
  233 [-] Fixed bug preventing ordinary users from editing their own details.
  234 
  235 [*] Fixed minimum version requirements. See SF Support Requests #1671.
  236 
  237 [-] Reduced the VARCHAR size to avoid running into the limit on the size
  238  of the index now that we have switched to utf8mb4. VARCHAR(127)
  239  should be more than enough for this field. (Strictly speaking we
  240  don't need really need utf8mb4, but it keeps tings simpler using it
  241  throughout).
  242 
  243 [-] Fixed problem with $skip_default config setting not being
  244  recognised. See SF Bugs #434.
  245 
  246 [-] Fixed bug in bulk deletion of entries from the report page.
  247 
  248 [-] Fixed problem with $min_user_viewing_level. See SF Support Requests
  249  #1690.
  250 
  251 [*] Made the PHP session name a config setting. See SF Feature Requests
  252  #379.
  253 
  254 [+] Added the configuration option
  255  $mail_settings['use_from_for_all_mail'] to allow the standard From
  256  address to be used for all emails. See SF Support Requests #1714.
  257 
  258 [+] Added a new config option $auth['wordpress']['blacklisted_roles'].
  259  See SF Support Requests #1719.
  260 
  261 [*] Added details of person booking/approving/rejecting etc to email
  262  notifications. See SF Support Requests #1714.
  263 
  264 [-] Fixed a problem with links in email notifications not being
  265  calculated automatically when $url_base is empty.
  266 
  267 [-] Fixed a problem with links in email notifications not being
  268  calculated automatically when $url_base is empty.
  269 
  270 [-] Fixed poroblem when $_SERVER['PHP_SELF'] is empty. See SF Bugs #437.
  271 
  272 [-] Fixed problem with the create_by field being turned into a fancy
  273  select box when it shouldn't be. See SF Support Requests #1732.
  274 
  275 [-] Fixed bug preventing compressed files from being imported.
  276 
  277 [-] Fixed possible undefined index error when exporting bookings as an
  278  iCalendar
  279 
  280 [-] Fixed a bug that occasionally (especially on slow connections)
  281  caused the wrong data to be displayed in the calendar view after
  282  switching days. The problem would arise if the user switched days in
  283  between an Ajax refresh request being made and the response being
  284  returned.
  285 
  286 [*] Added DB schema version to Help information.
  287 
  288 [*] Moved %mrbs_company out of lang files
  289 
  290 [-] Fixed HTML5 validation errors in email notifications
  291 
  292 [-] Prevented rooms being booked for which the user doesn't have write
  293  access. See SF Support Requests #1744.
  294 
  295 [*] Only displayed rooms that the user has write access for. See SF
  296  Support Requests #1744.
  297 
  298 [*] Aded 'autocomplete="new-password"' attribute to password fields on
  299  the Add/Edit User form to stop browsers trying to autocomplete those
  300  fields.
  301 
  302 [-] Fixed some HTML5 validation errors.
  303 
  304 [-] Fixed problem with the areamatch and roommatch fields not being
  305  passed through with the form variables in the Edge browser. See SF
  306  Support Requests #1763.
  307 
  308 [+] Added capability of defining repeats every n months. See SF Feature
  309  Requests #398
  310 
  311 [*] Changed so that thge Edit and Delete buttons are only shown if the
  312  user is allowed to use them. See SF Support Requests #1776.
  313 
  314 [*] Added autocomplete attributes to the login form
  315 
  316 [+] Added an option to show the slot end times in the day and week
  317  views. It is controlled by the new config variable
  318  $show_slot_endtime, which is set to false by default. See SF Support
  319  Requests 1796.
  320 
  321 [+] Added support for decimal/numeric custom fields in the entry table.
  322  See SF Support Requests #1797.
  323 
  324 [+] Added the capability of making rooms invisible to certain users.
  325 
  326 [*] auth_crypt: Updated the 'crypt' auth method to use the safer 'password_verify()'
  327  instead of 'crypt()'
  328 
  329 [+] Added support for supplying a TLS cert/key pair for LDAP client
  330  authentication - requires PHP 7.1.0 or later.
  331 
  332 [-] Make SAML authentication redirects use an absolute URL to the MRBS page.
  333 
  334 [-] LDAP auth: Fixed a problem that caused users not being able to login when an
  335  $ldap_filter is specified and the user does not have read access to
  336  the directory, even for their own entry.
  337 
  338 [-] Fixed problem with MRBS not recognising numerals in the
  339  HTTP_ACCEPT_LANGUAGE header, eg 'es-419'. See SF Support Requests
  340  #1828.
  341 
  342 [*] Corrected some Italian translations. See SF Support Requests #1824
  343 
  344 [+] Added new policy allowing the prevention of changing approved
  345  bookings. See SF Support Requests #1824.
  346 
  347 [-] Fixed bug causing STATUS not to be exported properly when exporting
  348  entries as iCalendar files. See SF Bugs #441.
  349 
  350 [*] Disabled the edit and delete buttons if an entry can't be deleted,
  351  showing the reason in a tootip. See SF Support Requests #1824.
  352 
  353 [-] LDAP auth: Fixed bug when the attribute name isn't all lower case
  354 
  355 [*] Made email CSS use the same styling as the rest of the site.
  356 
  357 [-] Fixed bug resulting in undefined index errors when
  358  $mail_settings['details'] is false and $mail_settings['icalendar']
  359  is true. See SF Support Requests #1835.
  360 
  361 [*] Suppressed by default the dumping of $_POST['username'] and
  362  $_POST['password'] in the error log. If desired, they can be logged
  363  by setting in the config file $auth['log_credentials'] = true;
  364 
  365 [-] LDAP auth: Fixed problem with presenting all users in the created by field if
  366  the LDAP server can't be contacted. Fixed bug when searching for multiple
  367  entries and an LDAP server is not available.
  368 
  369 [*] Added maxlength attributes to entry creation/modification forms.
  370 
  371 [*] Added server side truncation of form variables on the room and area
  372  forms to ensure they fit the database columns
  373 
  374 [-] Fixed problem of multiple bookings in the same slot not being
  375  displayed correctly. See SF Bugs #442. Thanks to dwpoon.
  376 
  377 [-] DB auth: Fixed a bug causing the last_login field not to be updated when an
  378  email address rather than username is used to login. See SF Support
  379  Requests #1863.
  380 
  381 [-] Fixed problem with $theme being overwritten by WordPress. See SF
  382  Bugs #444. Thanks to Johan Hattne.
  383 
  384 [-] Fixed a number of bugs in the export of entries as iCalendars. See
  385  SF Support Requests #1865.
  386 
  387 [*] Removed indexed cursors in DB abtraction, as they are not reliable
  388  in the supported databases. See SF Bugs #445.
  389 
  390 [-] Joomla auth: Fixed bug preventing logged in Joomla user being recognised. See SF
  391  Support Requests #1870.
  392 
  393 [+] Added a timeline view to the calendar.
  394 
  395 [*] Added a logged_in class to aid styling. See SF Support Requests
  396  #1884.
  397 
  398 [*] Improved accessibility. See SF Support Requests #1884.
  399 
  400 [*] Upgraded to jQuery 3.4.1
  401 
  402 [*] Updated to flatpickr 4.6.3
  403 
  404 [*] Upgraded to Select2 version 4.0.11
  405 
  406 [*] Fixed potential notice error in PHP 7.4: "Trying to access array
  407  offset on value of type bool". Fixed warning given by PHP 7.4: "Trying to
  408  access array offset on value of type null".
  409 
  410 [-] Fixed a number of edge cases in internationalisation code.
  411 
  412 [*] Upgraded to the latest release of PHPMailer (6.1.3) and as a
  413  consequence increased the minimum PHP version required for MRBS from
  414  5.4.0 to 5.5.0.
  415 
  416 [*] Upgraded to latest release of pear/Mail_Mime.
  417 
  418 [*] Fixed problem with exception handling in PHP7.
  419 
  420 [-] Added new views which allows the user to look at all rooms for a week
  421  or month time span.
  422 
  423 [*] Made the code more resilient by not requiring getimagesize() on the
  424  company logo to be successful. See SF Support Requests #1932
  425 
  426 [*] Made the code resilient to $default_language_tokens being set to ''.
  427  See SF Support Requests #1932.
  428 
  429 [+] Added Malay translaton. Thanks to aizuddin hadi. See SF Support
  430  Requests 1940.
  431 
  432 [+] Added a new config setting $default_view_all. See SF Support
  433  Requests #1948
  434 
  435 [-] Fixed bug preventing the db_ext auth scheme working when the
  436  external usernames contain uppercase characters. See SF Support
  437  Requests 1949.
  438 
  439 [-] Fixed problem with users not being to login when the auth type is
  440  'db_ext' and the collation of the external database is not utf8 and
  441  the username contains non-ASCII characters, eg "Müller". See SF
  442  Support Requests #1949.
  443 
  444 [-] Fixed bug when $booking_types is not set. See SF Support Requests
  445  #1962.
  446 
  447 [*] Added an database index for greatly improved performance
  448 
  449 [*] Clarified wording of upgrade procedure. See SF Support Requests
  450  #1978.
  451 
  452 [*] Upgraded to latest version of DataTables
  453 
  454 [+] Added Copy, CSV, etc. buttons to the data table views.
  455 
  456 [*] Added missing Italian translation. See SF Bugs #456.
  457 
  458 [-] Fixed bug preventing the Type field being made into a mandatory
  459  field. See SF Support Requests #1985.
  460 
  461 [*] Updated the AUTHENTICATION document. See SF Support Requests #1995.
  462 
  463 [-] Fixed bug in vocab for custom field names in email notifications.
  464  See SF Patches #95.
  465 
  466 
  467 -------------------------------------------------------------------------------
  468 Version 1.7.2 (Wed Dec 19th 2018):
  469 
  470 [*] Updated included time zone files.
  471 
  472 [*] Fixed some Javascript warnings/deprecations. Updated jQuery UI.
  473 
  474 [*] Improved session/auth selection.
  475 
  476 [-] Fixed problem with text inputs and textarea widths not being the
  477  same in some browsers, eg Firefox.
  478 
  479 [*] Added trimming of input fields on the Edit User form to remove
  480  accidental whitespace.
  481 
  482 [-] Fixed bug with Prev and Next links in Search results, resulting in a
  483  session expiry because no CSRF token was being passed. Only happens
  484  when JavaScript is disabled.
  485 
  486 [-] Fixed problem with Search ignoring Search From date.
  487 
  488 [*] Added a date to the search results so that it's clear when the
  489  search started.
  490 
  491 [-] Fixed bug in finding best language file.
  492 
  493 [-] Fixed bug when resizing a booking on a day that's not today.
  494 
  495 [*] Relaxed CSRF token checking, so that the token isn't checked for GET
  496  requests to read-only pages such as Search and Report.
  497 
  498 [*] Changed MySQL schema/connection to use "utf8mb4" character set, in
  499  order to support full Unicode. This adds a requirement on MySQL
  500  5.3.3 or later.
  501 
  502 [-] Fixed bug causing edit_entry_handler to go to today when finished
  503  rather than the day of the start of the booking.
  504 
  505 [+] Added CAS session/authentication scheme.
  506 
  507 [+] Maded 'php' session scheme store sessions in the MRBS database,
  508  rather than relying on the system having a working session storage
  509  configuration.
  510 
  511 [*] Moved config.inc.php to config.inc.php-sample. This means that new
  512  releases of MRBS won't conflict with/overwrite users' own config.inc.php
  513  files.
  514 
  515 [-] Fixed a bug when using Joomla authentication.
  516 
  517 [-] Made settings for $edit_entry_field_order consistent.
  518  This fixes a bug (see SF Support Requests #1562).
  519 
  520 [-] Fixed bug with confirmation status, introduced during recent
  521  changes. See SF Support Requests #1562.
  522 
  523 [*] Updated Mail_Mime package to version 1.10.2 to avoid the use of the
  524  deprecated each() function.
  525 
  526 [*] Updated PEAR to 1.10.5.
  527 
  528 [*] Updated Net_SMTP to 1.8.0.
  529 
  530 [*] Updated Net_Socket to 1.2.2.
  531 
  532 [-] Fixed bug causing language file not to be used when in CLI mode. See
  533  SF Support Requests 1583.
  534 
  535 [*] Increased the length of the id column in the sessions table from 32
  536  to 255. See SF Feature Requests #158.
  537 
  538 [*] Updated stated minimum PHP version number to 5.4.0.
  539 
  540 [-] Fixed bug when multiday bookings are not allowed. See SF Bugs #416.
  541 
  542 [-] Fixed problems to do with caching of the user level in JavaScript
  543  code. See SF Bugs #415.
  544 
  545 [-] Fixed bug when db_ext password_format is not defined.
  546 
  547 [-] Fixed bug when using db_ext and
  548  $auth['db_ext']['column_name_level']. See SF Bugs #417
  549 
  550 [-] Fixed problems with (a) the URL growing longer and longer when
  551  logging in and logging out and logging in again etc. and (b) the
  552  Back button on the edit_entry page not working after a login.
  553 
  554 [-] Fixed problem with checkboxes on forms not being filled properly.
  555  See SF Bugs #418.
  556 
  557 [-] Fixed problem with disabled required fields on the edit_users form.
  558  See SF Bugs #419.
  559 
  560 [-] Fixed a bug (SF Bugs #420) causing an "invalid id" message if you
  561  try an edit an entry without first having logged in.
  562 
  563 [-] Fixed a bug that was causing the username_suffix to be stripped out
  564  of a username wherever it occurred, rather than just at the end.
  565 
  566 [-] Fixed bug causing series not to be approved. Might be related to SF
  567  Support Requests #1623
  568 
  569 [*] Disabled the default duration field on the area form if "All day" is
  570  checked.
  571 
  572 [*] Clarified upgrade instructions. See SF Support Requests #1622.
  573 
  574 [-] Fixed bug causing "Empty or invalid search string". See SF Bugs
  575  #421.
  576 
  577 [-] Fixed bug in date_default_timezone_set() that was causing it to set
  578  the current area timnezone rather than the config timezone if no
  579  timezone was specified.
  580 
  581 [-] Fixed bug that allowed areas with no enabled rooms to appear in the
  582  area select.
  583 
  584 [*] Switched to using the REQUEST_URI instead of PHP_SELF in order to
  585  get the cookie path. See SF Support Requests #1634.
  586 
  587 [-] Fixed bug that prevented users with emojis in their usernames from
  588  logging in when using MySQL.
  589 
  590 [+] Added 'last login' functionality to 'db' auth scheme.
  591 
  592 [*] Added a note about how to include files from the config file. See SF
  593  Support Requests #1649.
  594 
  595 [*] Set the session.gc_maxlifetime to the same time as
  596  $auth['session_php']['session_expire_time'] so that users aren't
  597  logged out by the garbage collector before the session cookie is due
  598  to expire.
  599 
  600 [*] Upgraded PHPMailer to Version 5.2.27.
  601 
  602 
  603 -------------------------------------------------------------------------------
  604 Version 1.7.1 (Sun Feb 11th 2018):
  605 
  606 [*] Updated PHPMailer to use latest code (5.2.5+) from the 5.2-stable
  607  branch. Note that MRBS cannot yet use PHPMailer Version 6.0+ because
  608  that requires PHP 5.5 or later.
  609 
  610 [*] Improved error reporting when PHP sessions aren't working. See SF
  611  Support Requests #1364.
  612 
  613 [*] Improved fix for SF Patches #62.
  614 
  615 [-] Fixed bug resulting in a function not found error. See SF Support
  616  Requests #1390.
  617 
  618 [-] Fixed problem with updating users table. See SF Support Requests
  619  #1390.
  620 
  621 [-] Fixed bug resulting in a "session expired" message when the "You are
  622  xxx" link is clicked. See SF Support Requests #1393.
  623 
  624 [*] Removed "You are " text from "You are xxx" link. See SF Support
  625  Requests #1393.
  626 
  627 [-] Fixed bug in formatting date for policy violations.
  628 
  629 [-] Fixed another date formatting problem.
  630 
  631 [*] Improved internationalisation of some language tokens
  632 
  633 [-] Fixed bug where access was being denied if the Joomla username
  634  looked like an integer, eg "1234". See SF Bugs #401.
  635 
  636 [-] Fixed bug resulting in unwanted colons appearing after labels in
  637  dataTables (eg the Report output)
  638 
  639 [-] Fixed problem with textarea values not being displayed.
  640 
  641 [*] Put the new period name input in focus when Add Period is clicked.
  642 
  643 [+] Added the ability to restrict IMAP authentication to usernames from
  644  a certain domain, using the new config setting
  645  $auth['imap_php']['user_domain']. See SF Support Requests #1407.
  646 
  647 [*] Reorganised mail settings. See SF Support Requests #1412.
  648 
  649 [*] Improved mail debugging information, giving 'From', 'To', 'Cc' and
  650  'Bcc' addresses.
  651 
  652 [*] Made the field order on the view_entry page the same as that on the
  653  edit_entry page. See SF Support Requests #1426.
  654 
  655 [*] Added and id to custom field divs to make selection in CSS easier.
  656  See SF Support Requests #1429.
  657 
  658 [*] Fixed CSS syntax error.
  659 
  660 [+] Added authLdapGetName() function in auth_ldap.inc. This isn't used
  661  by MRBS currently, but people customising MRBS will be able to use
  662  it.
  663 
  664 -------------------------------------------------------------------------------
  665 Version 1.7.0 (Thu Nov 16th 2017):
  666 
  667 [-] Set the default value of $smtp_settings['secure'] to '', so that TLS
  668  will not be attempted without the SMTP server advertising TLS support.
  669 [-] A number of different changes to improve behaviour of browsers caching
  670  MRBS resources which shouldn't be cached.
  671 [*] Capitalised "goto" button. See SF Support Requests 1167.
  672 [*] Moved MRBS's .htaccess file into 2 separate example .htaccess files
  673  for different versions of Apache. The old .htaccess caused 500
  674  errors with a stock Apache 2.4 configuration.
  675 [-] Fixed bug when using custom themes. See SF Support Requests #1170.
  676 [+] Added ability to authenticate with either username or email address,
  677  if the authentication scheme supports it.
  678 [+] Added Server Software information to the Help information.
  679 [*] Restricted server details to admins, for security reasons.
  680 [*] Removed "ExpiresActive Off" directive as it is no longer necessary
  681  given other fixes and could interfere with a site's caching policy.
  682  See SF Bugs #379.
  683 [*] Eliminated $locale_warning global and moved reporting of locale
  684  setting problems to the error mechanism rather than the browser.
  685 [*] Improved localisation, especially for French, colons are no longer
  686  hard-coded in HTML and instead populated by CSS.
  687 [*] Removed the supplementary information in the 'fulldescription' text
  688  string. It didn't help and indeed was misleading as things like the
  689  type have their own form field.
  690 [-] Stripped out HTML tags and entities from validation messages. See SF
  691  Bugs #380.
  692 [*] Added a warning symbol on the edit_entry page instead of a green
  693  tick when an admin makes a booking that would normally violate one
  694  or more of the policy rules. See SF Support Requests 1171.
  695 [*] Updated Portuguese translation. Thanks to Paulo Resende.
  696 [*] Added even more options for configuring PHPMailer TLS settings.
  697 [*] Set PHP's default charset.
  698 [*] Changed the way that period names are defined so that they can now
  699  contain special chars and are put through htmlspecialchars() before
  700  being output to the browser. (Previously the site administrator had
  701  to encode special chars).
  702 [-] Fixed a bug with the display of entries starting at 0000 in the
  703  month view. See SF Support Requests #1186.
  704 [*] Added Swedish translations. Thanks to Lars Olsson.
  705 [*] Added some CSS classes to the minicals.
  706 [-] Excluded seconds from the default representation of start and end
  707  time. See SF Bugs #381.
  708 [+] Added new config variable $weekdays to define weekdays and weekends,
  709  allowing for the possibility that weekdays are not the same as
  710  working days.
  711 [*] Restricted passing of username and password to POST variables as a
  712  security measure. See SF Feature Requests #351.
  713 [-] Changed access level for check_slot_ajax to match edit_entry.
  714 [*] Made the default access level 1 for the report, search and
  715  view_entry pages to prevent usernames being revealed. See SF Feature
  716  Requests #351.
  717 [*] Disallow password changes from edit_users.php via GET.
  718 [*] Removed new lines from JavaScript confirm messages. Modern browsers
  719  can handle long lines.
  720 [*] Restricted more form handlers to only accept POSTs.
  721 [*] Improved word breaking slightly on webkit browsers. See SF Support
  722  Requests #951 and #1200.
  723 [-] Fixed bug causing a booking occupying a single slot at the end of
  724  the day not to show in the day and week views. See SF Support Requests 1207.
  725 [*] Made the DB connection DSN more strictly correct, and also support
  726  setting $db_host to "" (or unset), to indicate you'd like
  727  MRBS to use the default Unix domain socket instead of TCP. See
  728  [bugs:#384]. On Linux at least, this works for both MySQL and
  729  PostgreSQL.
  730 [-] Fixed database transaction problems. See SF Support Requests #977.
  731 [*] Altered transaction methods to use PDO transaction methods.
  732 [*] Updated Spanish language file. Thanks to JLMartin.
  733 [+] Added the ability to have different period names in each area. See
  734  SF Support Requests 1214.
  735 [*] Added a little more description around $ldap_dn_search_dn config
  736  variable.
  737 [-] Fixed bug causing ordinary users sometimes not to be able to change
  738  their own passwords. See SF Support Requests #1238.
  739 [*] Added a timestamp column to the users table, and support for viewing
  740  it. Added function and triggers for updating the timestamp columns when
  741  using PostgreSQL.
  742 [*] Added sorting by the real date on the timestamp column in the users
  743  table.
  744 [-] Fixed a problem with buttons not appearing if the user is logged in
  745  with a username in a different case to the creator of the booking.
  746 [+] Added a Romanian language translation, thanks to Mihai Andreana.
  747  See SF Support requests 1285.
  748 [-] Fixed problem with validation of multiple email addresses - see SF
  749  Support Requests #1290.
  750 [*] Added some error handling in the event of an invalid user id in
  751  edit_users.php.
  752 [-] Fixed bug in password rehashing (auth_db).
  753 [+] Add SAML auth and session schemes, thanks to Jørn Åne.
  754 [*] Updated to jQuery 3.2.1 and jQueryUI 1.12.1, which includes XSS fixes.
  755 [*] Added more error reporting to mutex_lock() [DB classes].
  756 [-] Fixed a number of security issues in MRBS that were disclosed to
  757  the project by SySS GmbH, including XSS, CSRF protection and session
  758  fixation.
  759  [SYSS-2017-021, SYSS-2017-022, SYSS-2017-023, SYSS-2017-024]
  760 [*] Improved error reporting around database mutexes.
  761 [*] All forms now only accept POST submission.
  762 [*] Implemented a new set of Form classes, though not all sections of
  763  MRBS are using them yet.
  764 [*] Added CSRF protection throughout MRBS.
  765 [*] Added a new config setting, $auth['allow_custom_html'], to determine whether
  766  custom HTML is allowed in rooms/areas. This defaults to off, so if you
  767  are using this feature and upgrade to 1.6.2 you will need to set
  768  the variable to true in your config.inc.php.
  769 [*] Dropped support for Internet Explorer 9 and lower.
  770 [-] Implemented a fix for when "All day" is checked and the area "eveningends"
  771  is past midnight. See SF Patches #62.
  772 
  773 -------------------------------------------------------------------------------
  774 Version 1.6.1 (Sun Feb 26th 2017):
  775 
  776 [-] Fixed bug with the LDAP authentication scheme. See SF Support Requests
  777  #1143.
  778 [*] Added ability to specify the "Room admin email" on creating a room.
  779  See SF Support Requests [support-requests:#1137]
  780 [*] Added an unset() for $booking_types in systemdefaults.inc.php to make it
  781  clearer how they work - see SF Bugs #374
  782 [-] Fixed bug to do with the booking day.
  783 [-] Fixed bug in cookie session scheme causing getUserName() to return ''
  784  instead of null in the	case of a user not being logged in when.
  785 [-] Fixed bug causing incorrect status to be given on mails sent out
  786  when an entry is approved. See SF Bugs #320.
  787 [-] Fixed header layout problem in IE11 and below when using a tall
  788  logo. See SF Support Requests #1158.
  789 
  790 -------------------------------------------------------------------------------
  791 Version 1.6.0 (Sat Feb 11th 2017):
  792 
  793 [*] Decreased cache expiry time for timezone files, to allow for more rapid
  794  updated for timezone changes.
  795 [*] Caching added into LDAP authentication to improve performance, see SF bugs
  796  #335
  797 [-] Fixed bug with unquoted column names. See SF Support Requests #816.
  798 [*] Added a check to make sure that custom field names don't contain
  799  spaces. (See SF Support Requests #816)
  800 [*] Improved debugging in auth_ldap a bit, to show errors from the ldap
  801  extension.
  802 [-] Fixed a problem with the end time not being selected on the booking
  803 	form if the default duration is not an integral number of slots
  804 [-] Moved the PHP version check to happen earlier, otherwise MRBS will
  805  fail with obscure error messages if the PHP version is too low. See
  806  SF Bugs #337.
  807 [-] Fixed bug in reports: the case sensitivity of types was not being
  808  recognised (see SF Support Requests #776)
  809 [-] Fixed problem with day links in the wek view. See SF bugs #339
  810 [-] Fixed bug that caused MRBS to miss conflicts with single entries
  811  when modifying a series. See SF Bugs #338.
  812 [-] Fixed bug whereby the limit on the number of bookings isn't applied
  813  properly if an existing series is being modified and there is at
  814  least one single entry in the same interval.
  815 [-] Fixed bug whereby the conflict checker wasn't firing when the repeat
  816  end date changed
  817 [*] Changed MRBS default behaviour to be *not* to use persistent
  818  database connections, as they can cause problems with transactions
  819  and locks. At the same time changed the config variable to be
  820  $db_persist instead of $db_nopersist.
  821 [*] Added sha256 authentication support for db_ext auth scheme. [Markus Gilli]
  822 [*] Added ablility to read user access level from external database to
  823  db_ext auth scheme.[Markus Gilli]
  824 [-] Fixed bug in CSV reports when running on Windows (see SF Support
  825  Requests 860)
  826 [-] Fixed bug causing a booking to be made even if the specified repeat
  827  results in no bookings (eg a weekly repeat for Thursdays starting
  828  and ending on the same day, which isn't a Thursday)
  829 [*] Changed the behaviour of MRBS when making a repeat booking that
  830  results in just a single entry (for example a daily repeat starting
  831  and ending on the same day). Previously this was treated as a
  832  special case and converted into a single entry. However it seems
  833  more logical to treat it as a series with just one entry. This
  834  enables the repeat characteristics to be edited in the future.
  835 [+] Allowed the type field to be mandatory (see SF Support Requests 876)
  836 [-] Fixed problem whereby the locale could not be set when automatic
  837  language changing was disabled and no override locale was set. See
  838  SF Support Requests #891.
  839 [-] Fixed bug when requesting More Info. See SF Bugs #347.
  840 [*] Updated Polish translation. Thanks to Anonymous from SF Bugs #347.
  841 [*] Added room name to conflict details following suggestion on general
  842  mailing list.
  843 [*] Added some email address validation (see SF Support Requests #897)
  844 [+] Added a sort key for the area table.
  845 [*] Changed the default character encoding for CSV files as the latest
  846  versions of Excel now seem to recognise UTF-8 automatically.
  847 [*] Removed disabling off error reporting for the connection to the
  848  database during a database upgrade. If the site admin wants errors to
  849  go to the browser, eg for debugging, then they should.
  850 [-] Fixed datalists so that empty strings aren't presented as options
  851 [*] Added a datalist input to report inputs when the standard fields
  852  have select_options or datalist_options defined. See SF Support
  853  Requests #909
  854 [*] Improvements to debugging in LDAP auth scheme
  855 [*] Fixed problem with long words in brief descriptions causing unequal
  856  width columns in the calendar views. See SF Support Requests #951.
  857 [*] Added '' as an option for $smtp_settings['secure']. See SF Support
  858  Requests #954.
  859 [-] Fixed problem with week number link in mincals. See SF Bugs #357.
  860 [*] Modified show_colour_key() so that the colour key is not shown if
  861  there are fewer than two types. (See SF Support Requests #1019)
  862 [*] Improved behaviour of MRBS when only one type is defined, so that
  863  type options are not shown.
  864 [-] Fixed problem with Chrome not showing datalist options (see SF bugs
  865  #360).
  866 [+] Added config options to allow users (or just admins) to specify that
  867  an email shouldn't be sent when making a booking. Useful if you are
  868  just making a minor change or are creating a whole lot of bookings
  869  at the beginning of a term or season. See SF Support requests #974.
  870 [-] Fixed problem with the endtime selector not having a selected value
  871  in the very rare case that the area's morningstarts or resolution is
  872  changed in between refreshes of the browser on the edit_entry page.
  873  See also SF Support Requests #983.
  874 [-] Fixed problem with Bulk Delete on the report page. See SF Bugs #361.
  875 [-] Fixed problem with Schedule and Policy tabs not appearing. See SF
  876  Bugs #362.
  877 [-] Fixed potential problem with end time selector in edit_entry.php
  878  being blank when coming from the month view. See SF Support Requests
  879  #983.
  880 [+] Added Wordpress authentication scheme.
  881 [*] Got rid of usage of $HTTP_GET_VARS, $HTTP_POST_VARS and
  882  $HTTP_SERVER_VARS (no longer necessary)
  883 [*] Allowed custom fields in the users table to be writable only by
  884  admins
  885 [-] Fixed bug causing password validation not to be performed in the user
  886  admin page, and a few other minor issues.
  887 [*] Changed German translation for rep_num_weeks. Thanks to Michael
  888  Hellwig.
  889 [*] Disabled page refresh if running over a metered network connection.
  890 [-] Fixed bug causing form validation to fail when using datalist inputs
  891 [*] Changed refresh mechanism for month view to Ajax from meta refresh.
  892 [-] Fixed bug whereby bookings for the last slot were not being
  893  displayed properly in the month view
  894 [*] Wrapped the edit procedure in a transaction. See SF Support Requests
  895  #1064
  896 [*] Updated German translations from Andrea Beranek
  897 [*] A few improvements to checklang.php
  898 [*] Upgraded to latest version of jQuery 2.x branch
  899 [*] MRBS now uses a DB abstraction class utilising PHP's PDO. All SQL
  900  input is now parameterised, greatly improving security from SQL injection
  901  attacks.
  902 [-] Fixed bug that resulted in possibly wrong values for enable_periods
  903  and reminders_enabled being shown on the Edit Area form.
  904 [-] Fixed a performance problem when clicking on an empty cell in the
  905  week view when using hidden days on a large table.
  906 [*] Improved formatting of error messages, including errors accessing the
  907  MRBS database.
  908 [+] Added Joomla authentication scheme.
  909 [*] Made the default setting for the "Do not send email" checkbox a
  910  configuration variable
  911 [*] Changed report form so that for custom checkbox fields you can now
  912  select checked, unchecked or both. See SF Support Requests #1087
  913 [-] Fixed bug that gave a double border on printing. See SF Support
  914  Requests #1078. Also fixed another bug at the same time - there was
  915  no border around bookings in the month view on printing.
  916 [*] Changed the behaviour of the printed month view, getting rid of
  917  horizontal and vertical scrollbars. Instead, horizontal overflow is
  918  hidden and the table cell expands to accommodate vertical overflow.
  919 [-] Fixed problem with (a) right border of bookings not appearing when
  920  using the 'both' option for monthly listings and (b) listings
  921  wrapping when using 'slot' or 'description'.
  922 [-] Fixed bug causing fatal error when trying to delete a series.
  923 [-] Fixed fatal error when exporting an entry from the view_entry page
  924 [*] Improved error reporting when $mail_settings['from'] not set.
  925 [-] Fixed problem with default_duration not going past the end of a
  926  booking day. See SF Support Requests #116
  927 [-] Fixed problem when the default duration takes a booking beyond the
  928  start day and multiday bookings are not allowed.
  929 [*] Made sure that the default duration for new bookings doesn't exceed
  930  the maximum duration
  931 [*] Added a new option to disable "Opportunistic TLS" in PHPMailer.
  932 [-] Fixed bug causing bookings to be shown as private when they weren't.
  933 [-] Fixed bug that allowed the type colour to be shown even when the
  934  type was private. See SF bugs #372.
  935 [-] Fixed bug preventing an event whose room name includes the area-room
  936  separator from being imported.
  937 [*] Added the ability to recocgnise type information in imported .ics
  938  files using the X-MRBS-TYPE property.
  939 [*] Added the ability to specify a default room if no LOCATION property
  940  is given when importing a VEVENT
  941 
  942 -------------------------------------------------------------------------------
  943 Version 1.5.0 (Fri Oct 23rd 2015):
  944 
  945 [*] Updated Simplified Chinese translation, provided by 'Tide'.
  946 [*] Added logging of SQL errors to PHP log, see SF Support
  947  Requests #560
  948 [*] Improvememnts to import system, including performance and support
  949  for compressed files.
  950 [+] Added Slovakian language support.
  951 [-] Fixed bug causing triggering spurious policy violations when using
  952  periods and $max_duration is set. See SF Bugs #306
  953 [*] Simplified the display of periods in the month view when a booking
  954  is just one period long. See SF Support Requests #575
  955 [-] Fixed problems with CSV reports, see SF Support Requests #585
  956 [-] Fixed bug which prevented exported reports being imported by some
  957  calendar apps, eg Outlook. See SF bugs #313
  958 [*] Made MySQL database schema definition more explicit, in case of
  959  MySQL servers with changed defaults. See SF Support
  960  Requests #605
  961 [*] Ensured that the $timezone configuration variable is valid. See SF
  962  bugs #312
  963 [*] Added server-side validation to check that mandatory standard fields
  964  (eg the full description) are present
  965 [-] Fixed false warning given on session_save_path readable check. See
  966  SF bugs #316
  967 [+] It is now possible to set booking policies which distinguish between
  968  creating new bookings and editing or deleting existing bookings. (An
  969  edit requires a new booking to be created and the old one to be deleted).
  970 [*] jQueryUI 1.11.12
  971 [*] Added rollback of outstanding transactions to the shutdown function
  972  in an attempt to prevent duplicate bookings when using persistent
  973  database connections. See SF bugs #314
  974 [*] Changed the handling of nb and nn languages so that explicit
  975  language files are provided for nn and nn rather than being mapped
  976  onto no. See also SF Support Requests #649.
  977 [-] Fixed language auto-selection for locales which use comma as the
  978  decimal separator. See also SF Support Requests #649.
  979 [*] Made the 'modified_by' field private by default, to match
  980  'create_by'.
  981 [-] Fixed bug in checking number of slots when the booking day goes past
  982  midnight
  983 [*] Datepicker visual improvements.
  984 [+] Added floating headers to day and week view, as discussed in
  985  [support-requests:#559].
  986 [-] Fixed bug causing page refresh not to work if the user wasn't logged
  987  in
  988 [-] Fixed empty cell selection so that if you drag over a floating
  989  header the selection is cancelled.
  990 [*] Updated cached copy of 'tzurl' files.
  991 [-] Fixed bug causing resizing performance to get worse and worse the
  992  longer the browser has been open
  993 [*] Converted all MySQL tables to use the InnoDB engine.
  994 [*] Removed support for early versions of MySQL and PostgreSQL.
  995 [*] Enhanced get_vocab() to allow sprintf() style formatting to give
  996  more flexibility on inserting parameters into language tags.
  997 [-] Fixed bug causing an HTML5 validation error when
  998  $auth['only_admin_can_select_multiroom'] = TRUE;
  999 [*] Added foreign keys to the MySQL and PostgreSQL database schemas,
 1000  to improve database consistency.
 1001 [*] Added better error handling for the case when the MRBS tables have
 1002  not been installed or cannot be accessed
 1003 [+] Made max_duration a per-area setting.
 1004 [-] Fixed bug in calculation of periods in report summaries. See SF
 1005  Support Requests #667
 1006 [-] Fixed bugs in calculation of periods in time slot selectors in
 1007  edit_entry form
 1008 [*] Changed minimum PHP version to 5.3.3
 1009 [-] Fixed bug that caused the number of periods in the Report Summary to
 1010  be incorrectly calculated if the report start or end date happened
 1011  to fall in the middle of a multi-day booking.
 1012 [-] Fixed bug causing invalid .ics files to be created when exporting
 1013  bookings from view_entry or report.
 1014 [-] Fixed bug preventing the booking date being changed when multi-day
 1015  bookings are not allowed
 1016 [-] Fixed "undefined method isValidInetAddress()" message when saving
 1017  the edit_area form and using a Turkish locale [caused by the capital
 1018  'I' in the method name]. Also other changes to support the behaviour
 1019  of I/i in the Turkish locale.
 1020 [-] Fixed bug that allowed '0' to be entered as a valid email address
 1021  for a user
 1022 [*] Added a stack trace to the fatal_error error log
 1023 [-] Fixed bug that caused the end time selector on the edit_entry form
 1024  to be wrong when using periods and trying to make a new booking for
 1025  a slot that wasn't the first of the day.
 1026 [*] Got rid of the $maxlength config variable and calculated it
 1027  automatically
 1028 [*] Fixes to Indonesian language file. See SF Patches #44
 1029 [-] Fixed bug - 'ical' text string was not being passed through
 1030  get_vocab()
 1031 [-] Fixed a bug with default_duration_all_day. See SF Support Requests
 1032  #782
 1033 [*] Updated/added instructions on upgrading into UPGRADE. See SF Support
 1034  Requests #609
 1035 [+] Added support for LDAP dereferencing behaviour, based on
 1036  [patches:#56]
 1037 [*] Updated the 'db' auth scheme to default to storing password hashes in
 1038  PHP's 'password_hash' format, if the password_hash() function is
 1039  functional.
 1040 [-] Fixed bug causing problem upgrading when using PostgreSQL with
 1041  $db_schema defined
 1042 [*] Changed email code to utilise PHPMailer instead of the previous
 1043  PEAR class
 1044 [*] Removed 'mysql' $dbsys config option, now that it has been replaced
 1045  by 'mysqli'
 1046 [*] Updated to DataTables version 1.10.9
 1047 [*] Changed default authentication scheme to 'db'.
 1048 [*] Removed sample/test data, and any mention of them in the
 1049  documentation.
 1050 [+] Added more flexible LDAP filtering support, as supplied by Steve
 1051  Cleveland. Adds configuration variables $ldap_filter_base_dn and
 1052  $ldap_filter_user_attr.
 1053 [-] Corrected the distinction between the translation tokens 'private'
 1054  and 'unavailable'.
 1055 [*] Italian translation updates, courtesy of Germano Massulo.
 1056 [*] Changed the 'cookie' session scheme to use HMAC hashing instead
 1057  of Blowfish encryption.
 1058 [*] Restructured mail debug code and made default output destination the
 1059  error_log
 1060 [-] Fixed bug which caused bookings to be made for all day if any of the
 1061  areas had a default duration of all day
 1062 [-] Fixed bug causing ical_uid not to be generated for a series when
 1063  conflicts are skipped (see SF Bugs #334). Added upgrade code to fix
 1064  existing database entries with no ical_uid.
 1065 [-] Fixed problems with database schema version upgrades 17, 24 and 25.
 1066 
 1067 -------------------------------------------------------------------------------
 1068 Version 1.4.11 (Wed Jun 18 22:00:00 BST 2014):
 1069 
 1070 [+] Implemented an inactivity time out that will log users out after
 1071  a period of inactivity.
 1072 [-] Fixed problem with Strict error messages being generated when
 1073  mail messages are sent using PHP versions < 5.4. See SF Support
 1074  Requests #367.
 1075 [*] Added support for Estonian in Windows and Unix.
 1076 [+] Added ability to use custom CSS files.
 1077 [-] Fixed bug causing the approval buttons not to be displayed on the
 1078  view_entry page in some circumstances (see SF Support Requests
 1079  #356).
 1080 [+] Added ability to specify the database port with the config variable
 1081  $db_port.
 1082 [+] Added the ability to set a maxlength attribute for custom fields
 1083  on the edit_entry page.
 1084 [*] Changed default database system for 'db_ext' authentication from
 1085  mysql to mysqli.
 1086 [*] Added quoting of table and column names when using 'db_ext'
 1087  authentication.
 1088 [*] Updated Czech translation.
 1089 [-] Prevented output of headers when running reports in CLI mode.
 1090 [*] Removed closing PHP tags (?>) at the ends of files as they are
 1091  unnecessary and can cause problems with unexpected output.
 1092 [-] Fixed problem with alignment of room and area selects in the week
 1093  and month views. Thanks to William Haller.
 1094 [*] Improved error reporting in the week view when there are no rooms.
 1095 [+] Implemented an earliest booking date using absolute dates,
 1096  controlled by the new config variables $min_booking_date_enabled
 1097  and $min_booking_date.
 1098 [*] Added the ability to specify a schema as a database config
 1099  variable and thus the ability for MRBS to work with databases
 1100  containing multiple schemas.
 1101 [+] Added 'modified_by' field so you can see who last modified an
 1102  entry.
 1103 [+] Added Bahasa Indonesian translation.
 1104 [*] Upgraded to jQuery 2.1.0, jQuery UI Release 1.10.4.
 1105 [*] Modified import.php so that it is tolerant of blank lines at the
 1106  start of the file and also between components.
 1107 [-] Fixed some errors in the Windows language map and expanded the
 1108  Windows codepage map.
 1109 [-] Fixed a problem in the day and week views with resizable bookings
 1110  not filling the whole time period when $clipped is set to FALSE.
 1111 [*] Changed the ORGANIZER in an iCalendar event to be a new email
 1112  address, defined as $mail_settings['organizer'] and not the
 1113  creator.
 1114 [*] Added nofollow to robots meta tag.
 1115 [-] Fixed problem with colour key and trailer shifting downwards
 1116  during a booking resize in IE.
 1117 [-] Fixed problem with resizing bookings in IE. See SF Bugs #293 and
 1118  #300.
 1119 [-] Changed form action link to a relative path name from an absolute
 1120  path name, which was causing problems on some sites with reverse
 1121  proxy rules.
 1122 [*] Made the default area and room consistent on import and export of
 1123  an event.
 1124 [-] Fixed bug in export of an event: the description included the
 1125  complete booking details instead of just the description.
 1126 
 1127 -------------------------------------------------------------------------------
 1128 Version 1.4.10 (Mon Jul 08 22:00:00 BST 2013):
 1129 
 1130 [+] MRBS now supports booking days that span midnight. At the same time a number of problems to do
 1131  with DST handling have been fixed, particularly the display of
 1132  the transition hours and the operation of MRBS in timezones where
 1133  the DST change is not 1 hour.
 1134 [-] Fixed bug causing fault in formatting of month view.
 1135 [-] Fixed bug in upgrade procedure causing the upgrade to fail if the
 1136  number of rows affected by a query was zero.
 1137 [+] MRBS now has a simplified interface for making repeat bookings
 1138  and the range of monthly repeats has been expanded. It is now
 1139  possible to have monthly repeats on the last, second last, third
 1140  last and fourth last weekdays of the month.
 1141 [-] Fixed formatting problem on Report page in some languages.
 1142 [-] Fixed bug preventing bulk delete working.
 1143 [-] Fixed problem with filtering and sorting of reports (column
 1144  numbers off by one)
 1145 [*] Lots of code restructured and simplified for improved
 1146  maintenance/flexibility.
 1147 [+] Added a config variable to allow the order of the fields in the
 1148  Search Criteria section of the Report form to be changed.
 1149 [+] Added a config variable to allow the order of the fields in the
 1150  Presentation Options section of the Report form to be changed.
 1151 [*] Converted autocomplete fields to use HTML5 <datalist> elements if
 1152  supported, otherwise to fall back to the jQuery UI Autocomplete
 1153  widget. Added ability for users to define $datalist_options in
 1154  the config file to force a field to be treated as a datalist.
 1155 [-] Fixed various undefined index/variable problems.
 1156 [-] Fixed some HTML5 validation issues.
 1157 [*] Prevented E_USER_NOTICE errors being reported during normal MRBS
 1158  operation.
 1159 [-] Fixed problem with French translation.
 1160 [-] Fixed bug where <span>s used for sorting the HTML table were
 1161  appearing in the CSV and iCalendar reports.
 1162 [+] Added Serbian (Latin) support - translation provided by 'knjigor'
 1163  on the Sourceforge tracker.
 1164 [*] Upgraded jQuery from Release 1.7.2 to 1.8.2.
 1165 [*] Upgraded jQuery UI from Release 1.8.22 to 1.9.1.
 1166 [-] Fixed syntax errors in a number of upgrade "post.inc" files.
 1167 [-] Fixed occurrences of != '' being used instead of !== ''. Causes
 1168  bugs such as Confirmed as well as Tentative reports being shown
 1169  in reports when only tentative have been requested.
 1170 [-] Ensured that rooms in the room list are sorted by the room sort
 1171  key.
 1172 [+] Added the ability to specify the "fifth" and "fifth last"
 1173  weekdays of the month when making monthly recurring bookings.
 1174  These are strict interpretations and will result in no bookings
 1175  for months where there are only four of the specified day of of
 1176  the week. (Using "last" or "first" will give you the fourth or
 1177  fourth last weekday if there are only four weekdays in the
 1178  month).
 1179 [-] Fixed bug causing the wrong mode (periods/times) to be used in
 1180  certain circumstances for reporting durations.
 1181 [-] Fixed major bug when editing an individual entry in a series that
 1182  caused a new series to be created alongside the original series.
 1183 [-] Fixed bug resulting in button labels in the report form not being
 1184  translated.
 1185 [-] Fixed bug causing an infinite loop if a negative day value is
 1186  given in the query string. Thanks to Neil Carter.
 1187 [-] Fixed bug causing incorrect email notifications to be issued when
 1188  members of a series were deleted (see SF Bugs #247).
 1189 [-] Translate approval status and confirmation status radio buttons
 1190  in report.php.
 1191 [*] Improved the way the "start of last slot" field is displayed on
 1192  load.
 1193 [*] Mark emails from mrbs as auto-generated, so that vacation mailers
 1194  don't answer mrbs mails.
 1195 [-] Fixed problem with misleading email notifications (see SF Bugs
 1196  255).
 1197 [*] Add room description as tooltip for room list in header (only in
 1198  list mode for now).
 1199 [*] Updated German translation.
 1200 [*] Add space before () when showing capacity for room
 1201  names.
 1202 [*] Add room description as tooltip for room list in
 1203  header (also in select mode) Newer browsers seem to support
 1204  tooltips for select options - nice :).
 1205 [+] Make clipping of bookings in month view configurable via
 1206  $clipped_month.
 1207 [*] Updated in-built timezone definitions.
 1208 [*] Changed default $dbsys to 'mysqli' from 'mysql', which is now
 1209  deprecated in PHP 5.5.0.
 1210 [-] Fixed typo in Dutch translation. Thanks to Dieter Adriaenssens - see SF
 1211 Patches #35.
 1212 [-] Fixed bug preventing singular form of the duration units being
 1213  shown.
 1214 [-] Fixed a bug causing Ajax conflict testing not to work after a
 1215  failed HTML5 form validation event.
 1216 [*] Updated Danish translation. Thanks to Søren O`Neill.
 1217 [-] Fixed warnings/errors from require_once() calls in
 1218  session_cookie.inc.
 1219 [-] Fixed bug causing time selectors not to work properly after the
 1220  area has been changed. See SF bugs #258.
 1221 [-] Fixed bug where no room was selected on changing area. See SF
 1222  bugs #259.
 1223 [-] Added client and server side validation to check that at least
 1224  one room is selected. (See SF Bugs #259).
 1225 [-] Disabled Ajax conflict checking and day/week/month page refresh
 1226  when the page is not visible (subject to browser support of page
 1227  visibility).
 1228 [-] Fixed bug whereby the repeat entry row is not deleted if you do a
 1229  bulk delete from the Report page of all the entries in a series
 1230  (see SF bugs #260).
 1231 [*] Updated Italian translation. Provided by Diego Zuccato.
 1232 [-] Fixed bug causing clicking outside the datepicker to result in
 1233  date selection, rather than cancelling the datepicker. See SF
 1234  Bugs #263.
 1235 [-] Disabled page refreshing while resizing is in progress.
 1236 [-] Fixed bug causing interval timer to stop occasionally.
 1237 [-] Fixed a bug causing multiple timers to be fired when the page is
 1238  hidden and then unhidden.
 1239 [-] Prevented page refresh when the mouse is hovering over a resize
 1240  handler (ie the user is about to start a resize).
 1241 [*] Improved performance of drag selection, especially with large
 1242  tables.
 1243 [-] Made sure that page refresh isn't restarted while we are in the
 1244  middle of a drag selection when we pass over the handles for
 1245  resizable bookings.
 1246 [-] Fixed bug causing incorrect checking of resolution and number of
 1247  slots when the booking day stretches past midnight.
 1248 [-] Fixed some label problems on the report page. See SF Bugs #265.
 1249 [-] Fixed bug resulting in no end time options being offered if there
 1250  is only one enabled area.
 1251 [-] Fixed incorrect quoting of id column, resulting in error messages
 1252  when running under PostgreSQL. See SF bugs #266.
 1253 [*] Updated Swedish translation. Thanks to Anders Henhammar.
 1254 [*] Moved the site_faq files into their own directory.
 1255 [+] Added a Swedish site_faq. Thanks to Anders Henhammar.
 1256 [-] Fixed bug causing the "Goto" datepicker to be reset if it was
 1257  open at the time the booking table was refreshed.
 1258 [-] Fixed bug when approving bookings and using PostgreSQL (removed
 1259  LIMIT clauses from UPDATE statements as they are not supported by
 1260  PostgreSQL).
 1261 [*] Updated Finnish translation. Thanks to Tuomas. See SF Patches #38.
 1262 [-] Fixed bug causing error messages when there are no mail
 1263  recipients. Thanks to Tuomas. See SF Patches #37.
 1264 [*] Disabled E_STRICT errors (see SF Bugs #272).
 1265 [-] Fixed bug when using an SQL reserved word as a custom field name.
 1266 
 1267 -------------------------------------------------------------------------------
 1268 Version 1.4.9 (Wed Oct 03 22:00:00 BST 2012):
 1269 
 1270 [-] Fixed bug that caused the '+' button for a booking to not work correctly.
 1271 [+] Added Hebrew support, as contributed by Michal Kastro.
 1272 [+] Added Thai language support, as contributed by Suthep.
 1273 [*] Improved language detection code.
 1274 [-] Fixed JavaScript error produced if you have a mandatory textarea
 1275  field. Thanks to Neil Brown. See SF ID 3472380
 1276 [*] Changed "max_book_ahead" to stop people getting around the restriction
 1277  with long bookings.
 1278 [-] Fixed a number of user interaction problems.
 1279 [-] Fixed auth_ldap configuration variable handling, thanks to Kevan
 1280  Carstensen.
 1281 [-] DataTables AJAX requests now use relative URLs in order to stop
 1282  cross-domain requests.
 1283 [+] Added ability to import iCalendar (.ics) files.
 1284 [*] Updated Turkish translation from Ahmet YILDIZ.
 1285 [*] Updated German translation - thanks to JWiemann.
 1286 [+] Introduced the $vocab_override config variable, allowing MRBS
 1287  text strings to be customised without editing the lang files.
 1288  Thanks to dwpoon.
 1289 [-] Improved SQL escaping so that it uses the database escaping
 1290  routines and not PHP's addslashes() function. Thanks to
 1291  Henry S. Thompson.
 1292 [-] Fixed bug which meant that the correct timezone wasn't
 1293  necessarily being used when dragging a booking.
 1294 [-] Fixed performance issue when using LDAP authentication and HTTP
 1295  sessions. Thanks to dwpoon.
 1296 [-] Fixed bug causing an entry of '0' in a mandatory custom field to
 1297  be rejected.
 1298 [*] Changed font colour for row and column labels in the calendar
 1299  view when printing to make them show up better in Google Chrome
 1300 [*] Improved CSV output, including removal of the requirement
 1301  of having PHP's 'iconv' extension.
 1302 [-] Fixed infinite loop in setting the time zone when
 1303  $timezone configuratation variable wasn't set.
 1304 [+] Added support for setting limits on the maximum number of
 1305  bookings that can be made per day, week, month, year and for any time
 1306  in the future. You can set limits globally as well per area,
 1307  enabling you to set policies of the sort "Max 2 bookings per week
 1308  in this area and max 5 bookings per week across the system". Note
 1309  also that setting 0 bookings per period for an area is a way of
 1310  stopping ordinary users from making bookings in a particular
 1311  area.
 1312 [-] Fixed bug that caused the ticks and crosses on the edit_entry
 1313  page not to appear properly in some browsers (eg Chrome and IE8)
 1314  on some systems.
 1315 [+] Added Portuguese Brazilian translation - thanks to Gleise S. O.
 1316  Teixeira
 1317 [+] Added Hungarian translation. Thanks to Gergely Kiss.
 1318 [*] Made use of HTML5 form element attributes (eg "required") so that
 1319  client-side form validation can be done by the browser where
 1320  possible, instead of by JavaScript.
 1321 [*] Tidied the MRBS distribution, so that different types of files
 1322  live in different directories.
 1323 [*] Updated Norwegian translation. Thanks to Thomas Haukland.
 1324 [+] Added an array of substitute languages, for example to substitute
 1325  'no' for 'nb-NO'.
 1326 [-] Fixed bug causing resizable bookings not to work properly when
 1327  using periods.
 1328 [*] Added a couple of extra headers to expires_header() to encourage
 1329  caching.
 1330 [*] Simplified presentation of output options on report form.
 1331 [*] Improved reports.
 1332 [-] Fixed bug preventing resizable bookings from working when there's
 1333  only one time slot or period in the day.
 1334 [*] Added an HTTP header to prevent IE going into Compatibility View.
 1335 [+] Added a new config setting, $max_booking_date, to prevent
 1336  bookings after a certain date, eg the end of term. Thanks to a
 1337  suggestion by Matthew Hilling.
 1338 [*] Made the users table use an Ajax data source for better
 1339  performance with large numbers of users
 1340 [-] Fixed bug on pending page where only a maximum of 10 members of a
 1341  series were being displayed
 1342 [*] Added some positive visual feedback when bookings are altered by
 1343  dragging the cell border.
 1344 [-] Fixed bug giving incorrect previous repeat end date in email
 1345  notification when a booking is changed from an individual booking
 1346  to a series.
 1347 [*] Upgraded jQuery and jQuery UI.
 1348 [-] Fixed some issues in the some of the upgrade steps.
 1349 [*] Updated Japanese translation. Thanks to Takanori Matsuura.
 1350 [*] Updated Czech translation. Thanks to Ondřej Kopka.
 1351 [*] Implemented page refresh in the day and week views using Ajax
 1352  requests if possible instead of through a <meta> tag.
 1353 [*] Improved Javascript code correctness.
 1354 [-] Improved error handling when updating VTIMEZONE definitions. Now
 1355  if MRBS is unable to download a new definition from the web, as
 1356  will happen on sites that do not have external internet access,
 1357  the last_updated field is updated anyway so that MRBS does not
 1358  attempt to retry for another 28 days.
 1359 [*] Kept track of how many Ajax requests are outstanding on the
 1360  server so that we don't swamp the server with requests if for
 1361  some reason the server is taking a long time to process them.
 1362 [-] Made utf8_bytecount() PHP4-safe.
 1363 [-] Fixed problem with users being unable to login when MRBS is
 1364  running on IIS
 1365 [-] Fixed sorting and styling of integer custom fields in
 1366  edit_users.php
 1367 [-] Fixed a bug in 'db' and 'db_ext' authentication schemes when
 1368  using MySQL whereby a login was validated successfully even if
 1369  the username contained trailing spaces. This then caused problems
 1370  subsequently when comparing the creator of a booking with the
 1371  user. See SF Bugs #245.
 1372 
 1373 -------------------------------------------------------------------------------
 1374 Version 1.4.8 (Sun Jan 01 22:00:00 GMT 2012):
 1375 
 1376 [-] Fixed bug that meant that '0' was treated as an invalid search
 1377  string.
 1378 [-] Fixed auth_ext authentication for users or passwords that contain
 1379  a $ character followed by a number.
 1380 [*] Allowed entries to be deleted even if they are longer than the
 1381  max_duration or beyond the max_book_ahead date. Following
 1382  suggestion from Marco Tedaldi.
 1383 [*] Made the week numbers and months in the mini calendars into
 1384  links, following a suggestion by Marco Tedaldi.
 1385 [-] iCalendar notifications expanded to allow more applications to
 1386  understand times/time zone information. See SF tracker 3324122.
 1387 [*] Added database error checking and handling to sql_*_field_info().
 1388 [-] Corrected a minor error in edit_entry Javascript, thanks to Guenter
 1389  Boehm.
 1390 [*] Improved SQL error reporting.
 1391 [*] Made the date range for the date selectors a config variable.
 1392 [*] Added an option on the booking form to skip past conflicting
 1393  bookings when making repeat bookings.
 1394 [+] Added a "Skip and book" button to the page listing conflicting
 1395  entries if you try and make a repeat booking where some of the
 1396  entries have conflicts.
 1397 [*] Upgraded jQuery UI from version 1.8.11 to 1.8.16.
 1398 [+] Added a config setting to disable email sending, overriding any
 1399  other settings. Useful for testing MRBS without having to worry
 1400  about sending mail to people not expecting it.
 1401 [*] Added a Back button to the edit_entry page.
 1402 [*] Added a list of dates of repeat bookings to email notifications.
 1403 [-] Fixed bug whereby email notifications would not be sent if MRBS
 1404  failed to find an address for those on the "To" line but there
 1405  addresses on the "Cc" line.
 1406 [*] Improved the message in email notifications for a list of deleted
 1407  repeat bookings
 1408 [*] Removed the privacy radio buttons from the Report form when the
 1409  user is not logged in as they're then redundant because only the
 1410  "user" will only be able to see public bookings. Thanks to a
 1411  suggestion from Jörg Wiemann in SF Tracker ID: 3405402
 1412 [*] Added an Ajax capability to the edit_entry form so that a booking
 1413  is checked for scheduling and policy conflicts as the booking
 1414  parameters are changed.
 1415 [-] Fixed bug causing disabled rooms to be displayed incorrectly in
 1416  view_entry.php
 1417 [*] Converted language FAQs to UTF-8.
 1418 [*] Added a timer so that a potential booking on the edit_entry form
 1419  can be periodically rechecked for validity, in case someone else
 1420  makes or releases a booking while the page is open. Can be
 1421  disabled and the interval set by means of a config variable.
 1422 [*] Revamped the LDAP authentication scheme somewhat. You can now
 1423  specify most of the configuration parameters as arrays, so that
 1424  you can have multiple servers or multiple base DNs that are
 1425  configured in different ways.
 1426 
 1427  Additionally, you can now determine whether a user is an
 1428  administrator by defining LDAP configuration parameters:
 1429  $ldap_group_member_attrib and $ldap_admin_group_dn. See
 1430  systemdefaults.inc.php for details.
 1431 [-] Set PostgreSQL client encoding to UTF8. Thanks to Andreas Lange
 1432  for the patch (SF ID 3413080)
 1433 [*] Added a Back button to the Add/Edit users form.
 1434 [*] Changed the report from method from "get" to "post" to make it
 1435  possible to accommodate complicated search criteria, especially
 1436  with many custom fields
 1437 [+] Added the ability to run report.php from the command line (useful
 1438  for example for setting up reports as cron jobs). Provided a
 1439  manual page at help_report.html. The ability to run from the
 1440  command line is disabled by default in systemdefaults.inc.php and
 1441  has to be deliberately enabled.
 1442 [*] Added a tabbed dialog that can be displayed to give more details
 1443  of schedule and policy checks on the edit_entry page. This has
 1444  the advantage that it contains clickable links to conflicting
 1445  bookings, which the tooltips cannot.
 1446 [*] Added a sanity check to check that 'private_override' is one of
 1447  the three valid values in case the database has somehow got
 1448  messed up.
 1449 [*] Stopped ordinary users seeing the disabled/enabled status of a
 1450  room.
 1451 [+] The
 1452  report results, search results, users list, rooms list and
 1453  pending list are now sortable, searchable tables. In addition
 1454  admins can do bulk deletes of the entries returned in a report.
 1455 [*] Added Russian translation supplied by Capitan Nemo.
 1456 [*] Improved the performance of the day/week/month views, especially
 1457  the day view in IE with large tables (many rooms and many
 1458  periods/time slots).
 1459 [*] Updated installation instructions for a PostgreSQL database to
 1460  create a database with UTF8 encoding. See SF ID: 3413080.
 1461 [*] Updated German translation, thanks to Jörg Wiemann.
 1462 [*] Changed alt text on logo. Thanks to dwpoon. See SF ID 3420435.
 1463 [+] MRBS now supports
 1464  (except for IE8 and below) (a) the selection of new bookings by
 1465  dragging over empty cells on the day and week views and (b) the
 1466  adjustment of existing bookings by dragging their sides or
 1467  corners.
 1468 [-] Correctly encode subject in delete notification mails.
 1469 [-] Changed ical output so that some email clients no longer get
 1470  booking automatically imported into their calendar, without any
 1471  user action.
 1472 [-] Fixed bug whereby $auth['only_admin_can_book'] didn't work as required
 1473  if $auth['deny_public_access'] was set.
 1474 [*] Got rid of the $mail_charset config variable. All emails now sent
 1475  as UTF-8.
 1476 [*] Restricted the requirement for the iconv module to those cases
 1477  when it is really needed, ie when the server is running AIX or
 1478  Windows.
 1479 [-] Fixed, or at least ameliorated, a problem that can occur on
 1480  Windows servers where the dates can randomly change language, due
 1481  to other scripts running in a different thread in the same
 1482  process calling setlocale().
 1483 [*] Removed the code that had to exist in config.inc.php in a
 1484  particular place. Booking entry types are now configured by the
 1485  simple array $booking_types, which contains elements like "E" and
 1486  "I". The entry types are now localised in the translation files
 1487  as "type.X" where X is the booking type. config.inc.php no longer
 1488  needs to include language.inc, and the $typel configuration array
 1489  has been removed.
 1490 [-] Removed a number of undefined variables warnings.
 1491 [-] Fixed a problem whereby "foreign" characters in CSV reports
 1492  opened by Microsoft Excel did not display properly. This is
 1493  actually an Excel problem, rather than an MRBS problem, but there
 1494  is now a circumvention in MRBS.
 1495 [*] Restricted the options available in the end time selector to
 1496  those permitted if a maximum duration has been specified.
 1497 [*] Updated French translation.
 1498 [*] Ensured that if a new booking is selected and the default
 1499  duration takes the booking past the end of the booking day, then
 1500  the default end time is the end of the booking day (rather than
 1501  the start time + resolution, as at present).
 1502 [-] Escaped some Javascript strings.
 1503 [+] Added option to auth_ldap to disable client referrals. Provided
 1504  by Daniel Yule.
 1505 [+] Made $timezone a per-area setting. Based on input from Chris
 1506  Thompson.
 1507 [*] Ensured that the “all day” check box only appears if the maximum
 1508  booking duration allows that length of booking. Based on a patch
 1509  from Daniel Yule.
 1510 [*] Added the ability to display the mini calendars at the bottom, if
 1511  $display_calendars_bottom is set to true. Based on a patch from
 1512  Daniel Yule.
 1513 [+] Added support for displaying the week number in the month view if
 1514  $view_week_number is set.
 1515 [-] Fixed two bugs: (1) Undefined index error if a mandatory field is
 1516  defined in the config file but doesn't exist in the database (2)
 1517  MRBS not picking up mandatory integer fields when JavaScript is
 1518  disabled.
 1519 [*] Limited the timezones presented in the timezone drop-down box on
 1520  the Edit Area page to those that have a corresponding VTIMEZONE
 1521  definition.
 1522 
 1523 -------------------------------------------------------------------------------
 1524 Version 1.4.7 (Wed Jul 13 21:20:00 BST 2011):
 1525 
 1526 [-] Fixed display of custom fields in the "view entry" screen.
 1527 [-] Fixed report link in the "You are <user>" header element.
 1528 [*] Allowed for more than 26 booking types.
 1529 [-] Fixed Javascript escaping function.
 1530 [-] Fixed incomplete PHP tag in one file.
 1531 [*] Added error handling to the auth_db database queries.
 1532 [-] Fixed bug whereby the approval status in the repeat table wasn't
 1533  being set properly.
 1534 [-] Fixed client side booking validation to check for mandatory custom
 1535  checkbox inputs.
 1536 [*] Updated Spanish translation provided by Jose Luis Martin
 1537  Jimenez.
 1538 [-] Fixed a bug whereby the header wasn't displayed in some
 1539  circumstances
 1540 [-] Fixed a bug whereby the trailer wasn't being displayed properly
 1541  in the case of a fatal error.
 1542 [*] Hopefully clarified config.inc.php a little more.
 1543 [-] Fixed problem in the time selectors for bookings that occur during
 1544  a DST changeover
 1545 [-] Fixed bug causing custom fields not to be reported properly in
 1546  delete email notifications
 1547 [*] Upgraded to jQuery 1.5.2 and jQuery UI 1.8.11.
 1548 [+] Made the inputs for Match Area and Match Room on the Report page
 1549  into autocomplete fields.
 1550 [+] Added an option to make the default duration All Day.
 1551 [-] Changed the encoding of the text calendar in email notifications
 1552  to base64 in order to CRLF sequences. Thanks to Thomas Bleher for
 1553  the patch.
 1554 [*] Changed encoding of mail messages from 7bit to 8bit.
 1555 [*] Removed unnecessary <span> in the trailer. Thanks to patch from
 1556  Thomas Bleher.
 1557 [*] Updated German translation, thanks to SF tracker #3293801.
 1558 [*] Clarified documentation in auth_ext.php a little.
 1559 [*] Added some email debug information to help diagnose problems when
 1560  sending emails.
 1561 [*] Extracted the per-area default settings from systemdefaults and
 1562  put them into a new file, areadefaults.inc.php, to make it more
 1563  obvious that these are the default settings for new areas and
 1564  will have no effect on existing areas.
 1565 [*] Added lang.en as the fall-back language, in order that something
 1566  is shown even when the $default_language_tokens file does not
 1567  have a translated token. Based on a patch by Thomas Bleher.
 1568 [+] Added an option to report.php to summarize by type. Thamks to a
 1569  patch submitted by Thomas Bleher.
 1570 [-] LDAP authentication change to fix (particular) configurations
 1571  using $ldap_filter. Patch provided by rudd_j in SF tracker
 1572  #3299258.
 1573 [-] Fixed bug preventing a room name being changed when only the case
 1574  of letters in the name was being changed.
 1575 [-] Fixed bug which meant that a user logging in with an upper case
 1576  version of his name. This only occurred in certain database
 1577  configuratations.
 1578 [-] Fixed bug that caused durations to be formatted incorrectly in
 1579  some languages (eg German). See SF tracker #3313655.
 1580 [+] On the Report page, converted input fields into auto-complete
 1581  fields for custom fields that have select_options defined - For
 1582  custom fields allowed $select_options to be an associative array,
 1583  thus making it easy to change the displayed value without having
 1584  to change the database. (See SF #3315966)
 1585 [+] Implemented an optional limit on the maximum length of a booking
 1586  for non-admins. At the moment it is a global limit rather than
 1587  per-area. It also does not yet prevent invalid booking lengths
 1588  being shown in the edit_entry form.
 1589 [*] Tweaked iCalendar email data. (See also SF Tracker id 3297799)
 1590 [+] Added two new auth methods, 'crypt' and 'auth_basic'.
 1591 [-] A fix for use an uninitialised array in
 1592  Themes/default/header.inc, as reported (and fix provided) by
 1593  Henry Thompson on the mailing list.
 1594 
 1595 -------------------------------------------------------------------------------
 1596 Version 1.4.6 (Wed Feb 09 22:00:00 GMT 2011):
 1597 
 1598 [+] Areas and rooms can now be disabled.
 1599 [*] Updated bundled version of jQuery UI to 1.8.6.
 1600 [+] Added the ability to disable the new booking email notifications,
 1601  and tidying the configuration variables defining the email configuration.
 1602 [-] Fixed bug causing approval of entries not to work when using
 1603  PostgreSQL.
 1604 [*] Fixed error handling if there's an SQL error when approving an
 1605  entry.
 1606 [*] Changed the privacy and confirmation status fields to be radio
 1607  buttons rather than checkboxes to make it slightly clearer what
 1608  they do.
 1609 [*] Updated PEAR Mail package to Release 1.2.0 and Net_SMTP to
 1610  Release 1.4.4.
 1611 [-] Fixed bug whereby mail was not being sent to those on the cc and
 1612  bcc lists.
 1613 [-] Fixed bug that caused the room and area links in the day, week
 1614  and month views to operate incorrectly when using "list" format.
 1615  See SF Tracker ID: 3134046.
 1616 [-] Fixed bug which caused repeat, all-day bookings not to book the
 1617  last day of a series.
 1618 [*] Updated Portuguese translation
 1619 [*] Updated French translation provided by Philippe Levi.
 1620 [-] Added escaping of JavaScript strings.
 1621 [-] Added missing HTML escaping in a number of places to solve possible
 1622  XSS attacks.
 1623 [+] Added support for HTML emails, optionally with ICS attachments for
 1624  "invitation" support. You can also download bookings in ICS format from
 1625   the web interface.
 1626 [*] Added datepicker localisations for English (New Zealand) and English
 1627  (Australia). Also corrected the localisation for Norwegian.
 1628 [-] Fixed a bug whereby book ahead policies would not be applied
 1629  when using periods. [SF Support Request #3161926]
 1630 [*] Removed MRBS's non-Unicode mode. All installations will now run
 1631  in Unicode, with all pages served as UTF-8 and all data in the database
 1632  as UTF-8. If you upgrade an installation running in non-Unicode mode
 1633  you must run the improved convert_db_to_utf8.php script, as detailed
 1634  in UPGRADE.
 1635 [*] Updated/fixed Czech translation from Marek Grác.
 1636 [-] Fixed problem where start and end times do not appear correctly
 1637  in the select boxes on the edit_entry form when using 12 hour
 1638  format and running on a Windows server.
 1639 [*] Updated the MySQL table installation SQL files to utilise MySQL
 1640  4.1 features. A version for older versions of MySQL is retained
 1641  as tables.my.pre41.sql.
 1642 [*] Removed hard-coded formats for dates/times and made them configuration
 1643  variables.
 1644 [*] Clarified documentation on custom fields.
 1645 [-] Fixed bug whereby start and end times were incorrectly presented
 1646  in reports when using mixed periods and times.
 1647 [-] Fixed bug whereby report summaries were not sorted properly by name.
 1648 [-] Fixed report summary table so that it can cope with mixed periods and
 1649  times.
 1650 [-] Fixed search so that it can handle mixed periods and times.
 1651 [-] Fixed pending bookings functionality so that it can cope with
 1652  mixed periods and times.
 1653 [*] Removed a possible PHP deprecation warning, SF #3165269.
 1654 [*] Made it so that you return to the right area after deleting a
 1655  room. Based on a patch in SF #3019525.
 1656 [*] Added coloured borders for booking types in the printing style sheet.
 1657  Submitted by tuomas_ in SF #3003248.
 1658 [*] Added error logging into fatal_error(). Patch submitted by
 1659  'shallot' in SF #2955546.
 1660 [+] Added the ability to specify a footer in the theme. Patch
 1661  submitted by rudd_j in SF #3166889.
 1662 [+] Implemented the ability to configure the default booking
 1663  description with $default_description, as requested in SF
 1664  #3001740.
 1665 [*] Now chooses a determined locale wven if MRBS doesn't have a
 1666  translation for that locale. It's better than nothing to get
 1667  dates/times right. Reported by 'corn_kid' as SF #2934313.
 1668 [*] Improved handling of SQL errors.
 1669 [*] Updated Spanish translation received from Jose Luis Martin
 1670  Jimenez.
 1671 
 1672 -------------------------------------------------------------------------------
 1673 Version 1.4.5 (Mon Nov 22 22:00:00 GMT 2010):
 1674 
 1675 [+] Added the ability to prevent ordinary users from selecting multiple
 1676  rooms when making a booking. Controlled by the config variable
 1677  $auth['only_admin_can_select_multiroom'].
 1678 [*] Updated translations for: Portuguese, Dutch, Swedish, Norwegian,
 1679  German, French.
 1680 [+] Added a new configuration variable to set the default booking 'type',
 1681  $default_type.
 1682 [*] Improved the translation helper script, checklang.php.
 1683 [-] Fixed a problem with the formatting of radio button labels on the
 1684  edit area page in IE8.
 1685 [*] Improved selection of language to use in the Javascript date pickers.
 1686 [*] Made the day change automatically when the date picker in the
 1687  page header is used.
 1688 [+] Introduced the ability to get a user's email address from LDAP
 1689  if the system is configured to use LDAP for authentication.
 1690 [*] Improved the localisation of the datepicker calendar so that it will
 1691  utilise an xx-YY language specifier if that translation exists.
 1692 [*] Made the area and room admin email address boxes textareas, and
 1693  allowed newlines to be used as address separators.
 1694 [-] Fixed problem with internationalisation of email notifications
 1695 [+] Added the ability to make a custom entry field mandatory, introduces
 1696  the config array variable $is_mandatory_field.
 1697 [-] Fixed problem which gave a warning in regular expression in PHP session
 1698  scheme.
 1699 [*] Some fixes/improvements in session/cookie handling in PPS and cookie
 1700  session schemes.
 1701 [-] Fixed setting of area defaults, and created a database schema update
 1702  to fix existing settings.
 1703 [+] Implemented $enable_periods on a per-area basis. This means that
 1704  sites can now have some areas using periods and others using time
 1705  slots.
 1706 [-] Some fixes to support Postgresql, including a fix for a problem
 1707  reported on the mailing list with confirming bookings.
 1708 [+] Added the ability to have "tentative" bookings, i.e. bookings which are
 1709  not 100% certain to happen, but where the user wants to reserve the slot
 1710  in the meantime.
 1711 [*] Expanded the documentation on timezones. See SF tracker ID: 3102895.
 1712 [+] Added a config variable $auth['only_admin_can_see_other_users']
 1713  to allow visibility of other users' details to be restricted when
 1714  using the 'db' authentication scheme. See SF tracker ID: 3102887.
 1715 [+] Improved the way in which meeting times are specified. You now specify
 1716  the start date/time and also the end date/time.
 1717 [*] Optimised SQL to improve performance.
 1718 [*] Japanese translation update from Takanori MATSUURA.
 1719 [*] Clarified the edit booking form somewhat, SF tracker #3011370.
 1720 [-] Fixed a bug that meant users could delete past bookings even though
 1721  the booking policy said they couldn't.
 1722 [-] Fixed problem whereby a booking of 1 year would show up as 1 minute
 1723  in edit booking form.
 1724 [-] Fixed bugs which meant that privacy settings were ignored in searches
 1725  and reports.
 1726 [+] Added configuration option to deny public access to MRBS.
 1727 [*] Improved choice of default area/room.
 1728 [-] Fixed a few issues to do with provisional bookings.
 1729 [*] Czech language update supplied by Marek Grac.
 1730 [+] Added the ability to have custom fields in bookings, see details
 1731  in INSTALL.
 1732 [*] Added cache expiry for generated CSS files.
 1733 [-] A few fixes for custom fields in the user table.
 1734 [*] Added a check in the upgrade code to check if it is a new installation
 1735  of MRBS.
 1736 [+] Added Javascript date-picker widgets.
 1737 [+] Added the ability to constrain certain fields (name, description
 1738  and custom fields) in the entry table to a set of values defined
 1739  in the config file.
 1740 [+] Added a repeat symbol to the display of series on the day, week
 1741  and month views.
 1742 [+] Added the ability to choose which fields in the entry table
 1743  should be regarded as private.
 1744 
 1745 -------------------------------------------------------------------------------
 1746 Version 1.4.4.1 (Thu Apr 21 21:30:00 BST 2010):
 1747 
 1748 [-] Fixed bug in the 1.4.4 release, the database schema number in the
 1749  installation SQL files was incorrect.
 1750 
 1751 -------------------------------------------------------------------------------
 1752 Version 1.4.4 (Wed Apr 21 17:00:00 BST 2010):
 1753 
 1754 [*] Finnish translation update, provided by Tuomas.
 1755 [-] Fixed test for E_DEPRECATED, which was causing warnings on
 1756  some versions of PHP.
 1757 [+] Added the ability to repeat the headers at the bottom of the
 1758  table on day and week views - see the configuration variable
 1759  $column_labels_both_ends.
 1760 [+] Added ability to set a password strength policy for the 'db'
 1761  authentication scheme.
 1762 [-] Added a missing include line, the absence of which was causing
 1763  errors when $default_room was non-zero.
 1764 [+] Added the ability to have "provisional" bookings. i.e. bookings
 1765  that need to be authorised before they enter the calendar.
 1766 [-] Fixed a problem with the display of the All Day checkbox in the
 1767  edit_entry form in IE8.
 1768 [*] Set input focus on page entry for a few pages.
 1769 [-] Fixes for LDAP authentication scheme when $ldap_filter is set.
 1770 [+] Added the ability to limit how far in advance non-admin users
 1771  can make bookings.
 1772 [*] Added  the name of the deleting user to email notifications of
 1773   deleted entries.
 1774 [-] Fixed incorrect reporting of durations in email notifications.
 1775 [-] Fixed bug when using periods which meant that if you made a
 1776  booking for N periods and there were fewer than N periods left in
 1777  the day, the booking didn't flow on to the next day properly
 1778  unless the start period was the first period of the day.
 1779 [-] Fixed bug which caused the duration to be blank in email
 1780  notifications for bookings when "All day" was checked.
 1781 [-]  Partially fixed a problem to do with the handling of All Day
 1782  bookings crossing a DST boundary.
 1783 [+] Added the ability to prevent ordinary users from making repeat
 1784  bookings. Controlled by the configuration setting
 1785   $auth['only_admin_can_book_repeat']
 1786 [-]  Fixed a bug which meant that n-weekly repeats weren't being
 1787  calculated properly when more than one repeat day was checked.
 1788 [-] Removed text after closing tag in Polish translation file,
 1789  as reported in SF #2970638.
 1790 [*] Redesigned the admin page, renamed the page to "Rooms".
 1791 [+] Added the ability to add custom fields for rooms, the custom
 1792  fields must be added by the administrator in their favourite SQL
 1793  admin tool.
 1794 [*] The "edit users" screen now handles textareas and checkboxes for
 1795  custom fields, just like the room custom field handling does.
 1796 [+] Added a "custom_html" field for areas and rooms - this allows
 1797  custom HTML to be attached to areas and rooms.
 1798 [*] Added check to see if the configuration variable $timezone is set -
 1799  it's too important to count as a non-fatal configuration error.
 1800 [*] Improved the layout of email configuration settings in
 1801  systemdefaults.inc.php to make them more clear.
 1802 [*] Added transaction support to MySQL DB abstractions.
 1803 
 1804 -------------------------------------------------------------------------------
 1805 Version 1.4.3 (Tue Nov 24 22:00:00 GMT 2009):
 1806 
 1807 [+] Moved default configuration values out of config.inc.php - this file
 1808  should now only contain settings the administrator has changed (plus
 1809  a few unfortunately necessary bits of internal code).
 1810 [-] Improved error reporting in the DB upgrade mechanism.
 1811 [*] Some code tidying to improve correctness and remove warnings.
 1812 [-] Added declaration of $PHP_SELF for PHP versions < 4.1.0.
 1813 [-] Fixed problem whereby empty cells in the month view weren't clickable.
 1814 [+] Added a configuration variable for showing week numbers in the mini
 1815  calendars.
 1816 [-] Added SQL escaping for a variable not directly enterable by a user.
 1817 [-] Removed duplicate primary in PostgreSQL users table.
 1818 [-] Improved the PostgreSQL DB abstraction call for sql_table_exists().
 1819 [-] HTML entities in period names are now converted/stripped before
 1820  being sent in emails.
 1821 [-] Fixed "You are <user>" display for users that include html special chars.
 1822 [*] Improved SQL to always use column names in ORDER BY clauses.
 1823 [-] Fixed JS click handling in edit area/room page.
 1824 [*] Added Bulgarian localisation (no translation yet).
 1825 [+] Added CSV report functionality.
 1826 [-] Fixed display of "number of weeks" when editing an existing n-weekly
 1827  booking.
 1828 [+] Added a configuration variable to allow forcing of booking resolution
 1829  to the configuration variable $resolution rather than the DB settings.
 1830 [+] Added a configuration variable for setting a login link for the
 1831  'remote_user' authentication scheme.
 1832 [*] Fix for setting UTF-8 locale on BSD, as provided in SF tracker #2859067.
 1833 [*] Removed use of ereg_replace(), it has been deprecated in PHP 5.3.
 1834 [-] A few fixes to honour privacy settings correctly.
 1835 [*] Improved error checking in search page.
 1836 [+] Added a sort key for rooms.
 1837 [*] Improved error handing for adding a user, so that user does not have
 1838  to retype the form after an error.
 1839 [-] Fixed weekly and n-weekly bookings for the condition the user clicks
 1840  a day that the repeat is not scheduled for.
 1841 [*] Changed behaviour of monthly and yearly repeats so that if a day does
 1842  not exist in the month MRBS will use the last day of the month.
 1843 [+] Added code to disable E_DEPRECATED error class for PHP >= 5.3.
 1844 [-]  Fixed LDAP auth method so that $ldap_filter will work if you use
 1845  $ldap_dn_search_attrib.
 1846 [*] Updated 'mysql' and 'mysqli' DB abstractions to request a UTF-8
 1847  client charset if $unicode_encoding is true.
 1848 
 1849 -------------------------------------------------------------------------------
 1850 Version 1.4.2 (Thu July 15 00:00 BST 2009):
 1851 
 1852 [+] Added checking of lengths of values for user-typeable fields, so that
 1853  overly long field values aren't passed to the MRBS database, - something
 1854  which causes errors with PostgreSQL. Adds new array variable $maxlength
 1855  to config.inc.php that _must_ be populated if you are upgrading and keeping
 1856  your old config.inc.php.
 1857 [+] Added automatic upgrade system for upgrading MRBS installations
 1858  as the database schema changes. When an upgrade is needed MRBS will
 1859  prompt for database admin user authentication details.
 1860 [+] Sites can also define their own local DB schema changes, using the
 1861  sane upgrade system.
 1862 [*] Made access levels more flexible, by adding definitions for
 1863  "maximum level" and "minimum editing level" into config.inc.php.
 1864 [*] Moved database table creation/alteration code out of edit_users.php,
 1865  it is now done with the upgrade system.
 1866 [+] Added ability to make bookings private, with details only available
 1867  to the booker and administrators. Feature provided by Cory Jaeger and later
 1868  enhanced to allow private booking functionality to be configurable
 1869  per area.
 1870 [*] Added check for PHP LDAP support into auth_ldap.inc, based on a suggestion
 1871  from Chris Cook.
 1872 [-] Fixed issue with booknig display if booking "clipping" is turned off.
 1873 [-] Added some missing SQL escaping in various places in response to
 1874  Secunia Advisory SA35469.
 1875 [*] Booking fields that have maximum lengths in the database are now
 1876  truncated before adding them to the database, and additionally HTML
 1877  form elements have 'maxlength' attributes to match the database column
 1878  widths.
 1879 [+] New authentication method that authenticates using an SMTP connection.
 1880 [*] The creator of an entry is no longer cloned when a booking is copied.
 1881  This ensures that the entry is editable by the user that did the copy.
 1882 [-] Adding missing HTML and JavaScript escaping of room names in the
 1883  "edit booking" screen.
 1884 [*] Checks are now done to ensure that area names are unique and room names
 1885  are unique within an area.
 1886 [*] Improved room deletion, so that repeat entries for the room are deleted.
 1887 [*] You can now move a room between areas.
 1888 [*] Improved error reporting on SQL errors when creating or modifying a
 1889  booking.
 1890 [*] Made theme functionality more flexible, by allowing a theme to
 1891  change the page header.
 1892 [*] Added Croating internationalialisation support, no translation yet.
 1893 [+] Added the ability to reverse the standard display for week and day
 1894  view so that the columns are rows and vice versa.
 1895 [-] Fix for NIS authentication on systems that use crypt methods other
 1896  than DES.
 1897 [*] Improved handling of conflicts in edit_entry to allow for easy
 1898  addition of more booking policies
 1899 [+] Timeslot settings are now help in the database, and are configurable
 1900  per area. Period settings are not yet per area.
 1901 [*] Improved display of booking slots that contain more than one booking.
 1902  This is possible if booking resolution is decreased when bookings
 1903  already exist.
 1904 [*] Added a configuration variable for session expiry time, for users
 1905  of the 'php' session scheme. The default is now to have a persistent
 1906  session that lasts 30 days.
 1907 [-] Fixed rounding of booking slots to resolution boundaries.
 1908 [-] Fixed Postgresql initial table creation script so that 'create_by'
 1909  column in the mrbs_repeat table is the correct width.
 1910 [-] Fixed syntax error in auth_db_ext.inc reported on the mailing list.
 1911 [-] Fixes for utilising 'db' auth scheme with PostgreSQL.
 1912 [*] DB authentication scheme improved so that access rights are now
 1913  stored in the database and administered from the MRBS 'user list'
 1914  page.
 1915 [+] Added Polish translation.
 1916 [*] Improved print view, including changes that ensure cell
 1917  boundaries are visible.
 1918 [-] Fixes for problems whereby a time was converted to "engineering"
 1919  format before an SQL call, thereby creating an error. First report of
 1920  the problem was  SF tracker #1794351.
 1921 
 1922 -------------------------------------------------------------------------------
 1923 Version 1.4.1 (Sat Feb 14 22:00:00 GMT 2009):
 1924 
 1925 [-] Fixed email notification problem, SF tracker #233038.
 1926 [-] Fixed problem that caused incorrect subject line to be used in email
 1927  notifications if $mrbs_company was set to an image.
 1928 [*] Introduced a way to configure MRBS to use additional text after
 1929  the configured company name/logo.
 1930 [-] Fixed the 'next' button in search page.
 1931 [-] Fixed highlighting in the week view.
 1932 [-] Fixed time highlighting, SF tracker #2418172. Fix supplied by David
 1933  Cummings.
 1934 [-] Fixed printing styling in Firefox, SF tracker #2418073. Fix supplied
 1935  by David Cummings.
 1936 [*] Improved detection of IE6 or lower browsers.
 1937 [-] Fixed rounding down of duration for meetings that were set as
 1938  fractions of an hour.
 1939 [-] Fixed for navigation problem encountered after editing a booking you
 1940  found by searching.
 1941 [-] Fix for SF tracker #2494369 - user feedback in edit booking page has
 1942  been improved.
 1943 [-] Fixed sticky week highlighting - thanks to 'dwpoon' for this fix.
 1944 [*] Small Italian translation update from Claudio Strizzolo.
 1945 [*] Improved the database abstraction layer.
 1946 [+] 'db_ext' authentication scheme can now use any database that MRBS
 1947  provides an abstraction for, so you can store authentication in a PostGresql
 1948  database.
 1949 [-] Fixed configuration testing in config.inc.php for when periods are
 1950  used.
 1951 [+] Added the ability to hide certain days of the week.
 1952 [-] Fixed a bug which mean that repeating 'All Day' bookings were not
 1953  being booked for the right number of days.
 1954 [+] Added ability to add themes to MRBS. Added a "classic126" that makes
 1955  MRBS look more like it did in MRBS 1.2.6.
 1956 [-] Fixed line endings in a number of files, caused by Subversion
 1957  misconfiguration.
 1958 
 1959 -------------------------------------------------------------------------------
 1960 Version 1.4 (Wed Dec  3 15:00:00 GMT 2008):
 1961 
 1962 [+] Added Hungarian internationalision, in preparation for an offered
 1963  translation.
 1964 [-] Removed all HTML entities apart from &nbsp; from the translations,
 1965  so that the flawed PHP function html_entity_decode() doesn't need
 1966  to be used in the email sending code - solving a problem when running
 1967  MRBS with PHP 4.
 1968 [*] Booking highlighting is now performed with CSS rather than JavaScript
 1969  by default, except in IE6, which doesn't support the appropriate
 1970  CSS feature. This improves performance in IE7/8, and makes the highlighting
 1971  not depend on JavaScript, which is good.
 1972 [*] After making a booking (change), you now return to the view you
 1973  came from, be in day, week or month.
 1974 [*] Improved highlighting of booking links in month view.
 1975 [*] The day/week you're browsing is now maintained as you change between
 1976  day, week and month views, as far as is possible. This so-called
 1977  "sticky day" is highlighted in the mini-calendars also.
 1978 [*] "Plus" graphics for adding new bookings are now not shown by default.
 1979 [-] Fixed bug that stopped correct booking of meetings when in "periods"
 1980  mode. Reported and solved by Chris Cook.
 1981 [-] Fixed bug in the add booking screen that caused selection of
 1982  multiple rooms to not work, and a similar bug that stopped selection
 1983  of booking type in the report screen.
 1984 [-] Fixed bug in the date selector.
 1985 [*] Deleted .cz translation, in preference of the .cs translation, which
 1986  is the right language code.
 1987 [+] Added Dutch FAQ, provided by Cor Marjee.
 1988 [*] Translation updates for Slovenian (Martin Terbuc), Dutch (Cor Marjee),
 1989  Italian (Erica Maria Peressini), Turkish (Ahmet YILDIZ), Spanish (SoTMaR),
 1990  French (Alain PORTAL), Japanese (MATSUURA Takanori).
 1991 [*] Improved display of the trailer.
 1992 [+] Implemented a configuration option for a simple trailer, as suggested
 1993  by Chris Cook.
 1994 [*] Improved layout of the "type" colour key.
 1995 [*] The area select box is no longer shows if there is only one area.
 1996 [-] Fixed some problems shows up by 1.4beta1.
 1997 [+] MRBS now validates as HTML 4.01 Strict, a lot of this work is courtesy of
 1998  Claudio Strizzolo.
 1999 [*] MRBS now uses CSS for all styling, courtesy of sterling effort by
 2000  Campbell Morrison.
 2001 [*] Improved default styling, courtesy of Campbell Morrison.
 2002 [+] Added Simplified Chinese translation, provided by 'sunjunps'.
 2003 [-] Made the MySQL database use an explicit database connection
 2004  throughout.
 2005 [*] Updated Japanese translation, provided by MATSUURA Takanori.
 2006 [+] Added Basque translation, provided by Juan Ezeiza Gutierrez.
 2007 [*] Updated Postgresql schema to match the MySQL one.
 2008 [-] Improved HTML and SQL escaping throughout.
 2009 [*] Improved code style/indenting throughout.
 2010 [-] Improved form handling, individual form components are now pulled out
 2011  as their expected types, improving security.
 2012 [*] Improved way in which MRBS calls the database, to make things
 2013  tidier/safer.
 2014 [*] Improved print preview functionality, now use a print media CSS
 2015  stylesheet.
 2016 [*] Updated German translation somewhat.
 2017 [+] Added server time to the help page, to help diagnose time zone
 2018  issues.
 2019 [*] Improved the output of the "browser language" section in the admin
 2020  page, and show it in the help page too.
 2021 [-] Fixed a bug in the 'mysqli' database abstraction.
 2022 [*] Added default duration configuration variable to the config file, to
 2023  allow administrators to change it without editing the MRBS code.
 2024 [-] Corrected short PHP tag in testdata.php.
 2025 [*] Improved security of 'cookie' session scheme - utilises Crypt_Blowfish
 2026  PEAR module.
 2027 [-] Fixed AIX internationalisation function, patch provided by bwiberg
 2028  in SF tracker #2057646.
 2029 [*] MRBS now encodes the subject of emails correctly.
 2030 [*] Moved the translation of strings used in MRBS emails into the lang.*
 2031  files, where they belong - most languages now have no translation for
 2032  these strings.
 2033 [*] Changed default booking slot configuration to give half-hourly slots
 2034  from 07:00 to 19:300, with the last slot being 18:30->19:00.
 2035 [*] Fixed a bug that made all-day bookings not reserve the last slot in
 2036  the day.
 2037 [*] Help, report and search pages now show the logon box in the header.
 2038 [-] Fixed HTML escaping of period descriptions, period descriptions must
 2039  be valid HTML in config.inc.php.
 2040 [*] Bookings that cover more than one slot now show as merged slots in
 2041  day and week views, replacing the previous "ditto marks" behaviour.
 2042 [-] Fixed a number of issues that were reported during the 1.4 beta
 2043  phase.
 2044 [+] You can now set the timezone that your meetings run in from
 2045  config.inc.php. In some configurations this must be done to get
 2046  proper DST behaviour.
 2047 [*] The 'db' authentication scheme now ensures that usernames are
 2048  unique.
 2049 
 2050 
 2051 -------------------------------------------------------------------------------
 2052 Version 1.2.6.1 (Wed Jan 30 11:00:00 GMT 2008):
 2053 
 2054 [-] Fixed major bug in the new LDAP authentication functionality. If
 2055  $ldap_dn_search_attrib was set, any username/password combination
 2056  was allowed in.
 2057 [*] Changed configuration default so that LDAP v3 is enabled by
 2058  default in the LDAP authentication scheme.
 2059 
 2060 -------------------------------------------------------------------------------
 2061 Version 1.2.6 (Mon Jan 28 15:00:00 GMT 2008):
 2062 
 2063 [*] Added options to LDAP authentication, so that the DN to be used for
 2064  authentication checking can be obtained by first doing a search in
 2065  the directory. This allows MRBS to authenticate against a Microsoft AD
 2066  server, along with any other LDAP server that behaves in this manner.
 2067 [+] Added support for Slovenian language and added translation provided
 2068  by Martin Terbuc.
 2069 [*] Added updated Italian translation, and new Italian FAQ.
 2070 [-] Removed invalid HTML in edit area/room page. Fixes SF tracker #1696383,
 2071  as reported by 'mikedip'.
 2072 [-] Fixed SQL escaping in the edit users page.
 2073 [*] Improved i18n/l10n code.
 2074 [+] Added Catalan support and Catalan translation as provided by Jordi
 2075  Prats.
 2076 [-] Fixed bug in language preference code, as reported by many users.
 2077  Fix supplied by 'mikedip' in SF tracker #1696382
 2078 [-] Fixed HTML escaping problem in the edit booking screen.
 2079 [-] Update of the room list as you change area in the edit entry screen
 2080  is now correct. This is a fix for SF tracker #1666299, as supplied by the
 2081  reporter, 'northtommy'.
 2082 [*] Translations now do not include terminating colons in many places
 2083  as they used to, these have now been moved to the code.
 2084 [*] Added JavaScript and server-side checking for various things in the
 2085  new/edit booking page, which stops odd conditions ocurring, and gives
 2086  better feedback.
 2087 [*] Emails sent by MRBS are now UTF-8, unless configured to use a
 2088  different charset.
 2089 [-] Removed possible infinite loop in n-weekly booking creation.
 2090 [-] Fixed invalid truncation of text in month view, it could
 2091  truncate  descriptions mid-UTF8 sequence before.
 2092 [+] Added new authentication method, imap_php, which authenticates via IMAP,
 2093  but  using the PHP 'imap' extension, which allows for SSL/TLS connections.
 2094 [*] Updated French translation, as provided by 'dionysos-sf'.
 2095 [+] Added Turkish language support and Turkish translation, as provided
 2096  by Ahmet YILDIZ.
 2097 [*] Added copy booking/series feature, as provided by Julian Eglestaff.
 2098 
 2099 -------------------------------------------------------------------------------
 2100 Version 1.2.5 (Sat Feb 24 20:00:00 GMT 2007):
 2101 
 2102 [*] Added options to LDAP authentication so that LDAP v3 and TLS connections
 2103  can be used. Implements SF tracker #1644311.
 2104 [*] You can now configure the cookie path used by the cookie and php session
 2105  schemes. Fixes SF tracker #1515118.
 2106 [*] Improved localisation of date/time strings.
 2107 [-] Fixed a short PHP start tag, to fix SF tracker #1652396.
 2108 [-] Updated code to add/edit bookings so that times using ',' as the
 2109  decimal point work. Fixes SF tracker  #1647430.
 2110 [*] Updated Swedish translation, as provided by bwiberg.
 2111 [+] Added AIX support. You can now run  MRBS on an AIX server, in Unicode
 2112  mode too. AIX support  provided (and tested) by bwiberg.
 2113 [*] Improved language preference code so that the user's language
 2114  preference order is followed.
 2115 [-] Corrected some bracketing in the month view, as reported by lots
 2116  of people, including 't-matsuu' in SF tracker #1644042 who provided a fix.
 2117 [-] Fixed various display bugs in month view, including a fix for
 2118  SF tracker  #1663905.
 2119 
 2120 
 2121 -------------------------------------------------------------------------------
 2122 Version 1.2.4 (Wed Jan 24 12:00:00 GMT 2007):
 2123 
 2124 [*] Added ability to specify the LDAP port in config.inc.php.
 2125 [-] Database table creation for Postgresql 8 fixed.
 2126 [-] Improved HTML escaping in the calendar views.
 2127 [-] Fixed emailing of area/room admin in some cases. SF tracker #1474386,
 2128  fix provided by 'karcher'.
 2129 [*] Added some error logging into the email code
 2130 [-] Fixed encoding specification for zh_tw translation.
 2131 [-] Fixed problem in report output.
 2132 [+] Added 'remote user' session scheme, provided by 'bwiberg'.
 2133 [+] Added 'mysqli' database abstraction layer.
 2134 [-] Added robots instructions to stop search bots trawling MRBS. Fixes
 2135  SF tracker #1557192.
 2136 [*] Improved documentation on LDAP authentication, fixes SF tracker
 2137  #1554351.
 2138 [-] Fixed example of LDAP filter configuration in config.inc.php. Fixes
 2139  SF tracker #1550827.
 2140 [-] Fixed warnings output by some pages. Fixes SF tracker #1557192.
 2141 [*] Added check for empty booking description when creating/modifying
 2142  a booking - is only necessary if the user has JavaScript off.
 2143 [*] Added updated Finnish translation provided by Tom Ingberg - it now
 2144  uses UTF-8.
 2145 [-] Fixed password checking for PHP session scheme. Fixes SF tracker
 2146  #1563470.
 2147 [*] Current day/week/month are now highlighted in the page footer.
 2148  Implements SF feature request #875744.
 2149 [*] Moved MRBS version number out of config.inc.php so it doesn't get
 2150  left behind when people upgrade.
 2151 [*] Updated Spanish translation, provided by SoTMaR.
 2152 [*] More entry types are now allowed (now A-Z).
 2153 [-] Fix in emailing of administrators. Fixes SF tracker #1315854, fix
 2154  supplied by Neville Gilbert.
 2155 [*] SunOS is now supported as a server OS, including UTF-8 locale support.
 2156 [-] Fixed n-weekly repeating bookings, days for booking are now
 2157  calculated more correctly. Fixes SF tracker #1300974.
 2158 [*] Updated Swedish translation, provided by Bjorn Wiberg.
 2159 [-] Fixed problem in report page if you were using HTTP session scheme.
 2160  Fix provided by Bjorn Wiberg in SF tracker #1396685.
 2161 [-] Fix for using the 'db' authentication scheme on a MySQL >= 4.1
 2162  server.
 2163 [+] Added German translation of site FAQ.
 2164 
 2165 
 2166 -------------------------------------------------------------------------------
 2167 Version 1.2.3 (Sat Aug 20 20:30:00 BST 2005):
 2168 
 2169 [+] Added new authentication scheme, db_ext. This allows authentication
 2170  to come from a table in an external database (MySQL only until MRBS 1.3).
 2171  All the parameters are configurable in config.inc.php and documented
 2172  in AUTHENTICATION.
 2173 [-] Cookie and PHP session schemes will now handle usernames/passwords
 2174  with certain quote characters in properly.
 2175 [*] HTTP session scheme now shows a login button, and who is currently
 2176  logged in.
 2177 [+] Added Spanish translation of site FAQ, contributed by Carlos Insunza.
 2178 [*] Password column in users table (db auth scheme) is now 40 characters
 2179  wide.
 2180 [*] When setting up an installation using the db auth scheme, the
 2181  'User list' screen allows the admin user to be added without you
 2182  being logged in. Once the first user is added you must log in.
 2183 [*] Updated Norwegian translation supplied by Emil Stoa.
 2184 [+] Added Korean translation, as contributed by YoungJoon Kim.
 2185 
 2186 
 2187 -------------------------------------------------------------------------------
 2188 Version 1.2.2 (Fri Apr 22 12:00:00 BST 2005):
 2189 
 2190 [*] Bug 1090172 addressed. Length of booking creator field increased to
 2191       80 characters.
 2192 [*] Updated Taiwanese and Japanese translations, now both in UTF-8
 2193       encoding. Thanks to bruck and MATSUURA Takanori, respectively.
 2194 [*] auth_config username matching is now case insensitive.
 2195 [-] If using cookie authentication cookie is now deleted on logout, and
 2196       user's password isn't stored in cookie any more.
 2197 [-] If using session authentication, cookie is stored based on the web
 2198       path MRBS is installed on, allowing more than one MRBS installation
 2199       per (virtual) host. Additionally session data is deleted on log out,
 2200       and the user's password isn't stored in the session data any more.
 2201 
 2202 
 2203 -------------------------------------------------------------------------------
 2204 Version 1.2.1 (Fri Dec 10 10:00:00 GMT 2004):
 2205 
 2206 [-] MySQL tables fixed for MySQL 4.0, namely to remove DEFAULT from
 2207       auto_increment columns.
 2208 [-] Bug 1027328 fixed, sendMail function now provides the correct parameters
 2209       and headers for each type of backend (mail, sendmail or smtp). (Thekk)
 2210 [*] RFE 1000967 - enhanced email notifications. (Neil Hawes, Stuart
 2211       Chalmers)
 2212 [-] Bug 1068522 fixed, changed "" around $db_password value in
 2213       config.inc.php to '' so that special characters are not interpreted.
 2214       (Matt Schuler)
 2215 [-] Bug 1035790 fixed, can now book series with pgsql. (Thekk)
 2216 [-] Bug 994056 fixed, emails are sent when they should be now to who they
 2217       should be sent to.
 2218 [-] Bug 1040185 fixed, AM and PM generation no longer causes
 2219       "Negative timestamps are not supported under any known
 2220       version of Windows" PHP error on Windows MRBS installations in far
 2221       eastern time zones.
 2222 [-] Fixed lang/locale selection for Czech language. Czech country code is
 2223       "cs", not "cz".
 2224 [-] Fix added for the ChangeOptionDays JavaScript function in some older
 2225       browser.
 2226 [-] Fix for page refresh functionality. If a refresh time is configured,
 2227       only do it for day.php, week.php and month.php
 2228 [*] Updated Netherlands translation (Marc ter Horst)
 2229 [-] MRBS now sends content-type and charset in an HTTP header, which can
 2230       fix some Apache installations where a charset if forced in the
 2231       config.
 2232 
 2233 
 2234 -------------------------------------------------------------------------------
 2235 Version 1.2 (Thu Sep 9 14:00:00 BST 2004):
 2236 
 2237 [-] Notification emails are now RFC2045 compliant. Mail body can contain non
 2238       us-ascii characters, content-type is specified correctly.
 2239 [*] Updated German translation (Andreas Moroder)
 2240 [*] Updated Czech translation (David Krotil)
 2241 [*] LDAP authentication scheme is now more flexible. Base DN and
 2242       user attribute can be configured in config.inc.php
 2243 [*] Room ordering of day view back to "by room name".
 2244 [-] Fixed bug in admin notification emails, bug #968682.
 2245 [-] Changed comment about $url_base to recommend setting this if email
 2246       notifications are to be used. Fixes bug 972186.
 2247 [-] Fixes problem where an invalid user will appear to be logged in.
 2248 [*] Changes default colour for odd row to not conflict with colour for
 2249       type 'J'.
 2250 [*] Changed colours for header cells in day and week view to make them
 2251       more readable.
 2252 [*] Change so that '+' sign and Javascript are not included in print
 2253       preview.
 2254 [-] Fixed bug in notification emails so that periods are handled correctly.
 2255       Fixes bug #972293
 2256 [-] Fixed JavaScript error on changing Start/End dates on add/edit page.
 2257       Fixes bug #934394
 2258 [-] View entry page can now be passed a series ID, and mail notifications
 2259       will point people at this version of the page for messages
 2260       related to series. Fixes bug #972194.
 2261 [*] Locale settings improvements. Warning is shown at top of the page if
 2262       MRBS is unable to set a locale. Added Windows locale mapping for
 2263       Swedish (sv-se) language. Fixed Unix locale mapping for English locale,
 2264       en_GB is used by default if the browser passes "en". OS X locale
 2265       support added.
 2266 [-] Locale setting fix for Windows servers, browser language "en-ie" is now
 2267       handled correctly.
 2268 [-] Fixed SQL usage in email notifications.  Fixes bug #994056
 2269 [-] Fix for mouse hover highlighting on grid.
 2270 
 2271 
 2272 -------------------------------------------------------------------------------
 2273 Version 1.2-pre3 (Fri May 14 04:00:00 GMT 2004):
 2274 
 2275 [+] Added long awaited "periods" support. Calendar can displays 'periods'
 2276       instead of classic time of the day.
 2277 [+] New authentication scheme 'auth_db'. This is a web-based authentication,
 2278       based on a user table in the mrbs database. User administration page has
 2279       a special feature to automatically display fields that admin may add to
 2280       the user table, no need to edit the code. This new authentication is not
 2281       yet implemented for Postgresql.
 2282       PLEASE READ RELEVANT SECTION IN "AUTHENTICATION" BEFORE THE FIRST USE.
 2283 [+] Added email support. Emails can be sent to MRBS administrator, area or
 2284       room administrators, or bookers and for each entry creation, change or
 2285       deletion. Emails for changed entries display the value of previous
 2286       settings. Added emails fields to room/area admin and edit_users pages.
 2287 [+] Added option to retrieve users emails from other authentication
 2288       schemes as auth_db (if ldap is used, user email will be username plus
 2289       domain name)
 2290 [+] Added option to allow for a day to start at say 8:30 am.
 2291 [+] Database tables names are now variables defined in config.inc.php. This
 2292 will allow users to install multiple sets of mrbs tables when only one
 2293 SQL database is available, or resolve table name conflicts.
 2294 [+] Booking is now possible from the month view by clicking a new 'plus sign',
 2295       taking the user to an add entry page for that day of the month.
 2296 [+] Using auth_db, the link "you are XXXX" becomes a link to all upcoming
 2297       entries belonging to XXXX (report page).
 2298 [+] Added support for multiple pop3 or imap server to be used for
 2299       authentication (in case of failure).
 2300 [+] Added greek language (Stavros Papadakis), updated finish (Tom Ingberg),
 2301       german (Michael Glaessel) and swedish (MissterX) languages.
 2302 [+] Added option to determine the default starting view, i.e. month, week or
 2303       day (Warren Turkal) and the starting room.
 2304 [+] Added support for changing area/room in Add/Edit entry form.
 2305 [*] Capacity is not displayed in brackets next to room name if capacity is 0
 2306 [*] Preview page now displays the color key.
 2307 [*] Added option to display both time and descriptions in month view.
 2308 [*] Various enhancements to display/navigation (added pop-up messages in
 2309       various places, added direct links between room headings and week
 2310       view, highlighting of cells on mouse-over, highlighting of current
 2311       month/week/day in mini calendars, ability to book a room by clicking
 2312       anywhere in cells, navigation link duplicated under the calendar...)
 2313 [*] Added option to display time on right side in day and week view
 2314 [*] Enhancements to report page: added 'type', 'creator' and various sorting
 2315       options.
 2316 [*] LDAP servers login processes, does an anonymous bind first
 2317 [*] Fixed bug/enhancements to avoid url problems when using a proxy in
 2318       the environment. Although breaking HTTP specs, use of relative paths
 2319       allows to run mrbs with https (ssl).
 2320 [*] Added some javascript code to control user inputs mainly in edit_entry.php
 2321       (avoid selecting february 30,...)
 2322 
 2323 and several other minor bug fixes and minor changes. To see details, please
 2324 read /web/Changelog file from Dec 07 2003.
 2325 
 2326 -------------------------------------------------------------------------------
 2327 Version 1.2-pre2 (Sun Dec 07 00:00:00 GMT 2003):
 2328 
 2329 [+] Completely revamped authentication logic.
 2330     Now MRBS make use of sessions to store temporary user data,
 2331     ability to log on/off, and so on... This is now the default mode.
 2332     See AUTHENTICATION for more details.
 2333 [+] Revamped localisation.
 2334       Automatic language determination made much better, works for
 2335 	  Windows and Unix servers now
 2336 [+] Added utility to convert text in the database to UTF8.
 2337 [+] Revamped internationalisation. MRBS can now be called  fulled Unicode.
 2338       MRBS serves all of it's pages in UTF-8 and stores everything in the
 2339       database in UTF-8. This means that all languages work together.
 2340 [+] Bubbles are displayed when mouse hover entries in day, week and month
 2341       view, showing a more complete description.
 2342 [+] Allow to view weeks in the bottom of the web pages as week numbers
 2343       instead of 'first day of the week' (Per Wermelin - SKIOLD Sæby A/S"
 2344 	  <ela@skiold.dk>).
 2345 [*] Added a new script for the "ext" authentication scheme that
 2346 	  allows you to use a password file with usernames and their
 2347 	  crypted passwords.
 2348 [-] Fixed bug #853410: When changing a non n-weekly entry, field "Number of
 2349       weeks (for n-weekly)" appear...
 2350 [-] Fixed bug #846337: We can create rooms with no area
 2351 [-] Fixed bug #413175, #831310: Daylight savings time shift entries one hour
 2352 [-] Fixed bug: Always displays "Edit Entry" instead of "Edit Series" at top
 2353       of page when editing a series.
 2354 [-] Fixed bug in pop3 auth scheme.
 2355 [-] and several other minor bug fixes.
 2356 [*] Warning: MRBS does not work with postgreSQL 7.3 and above.
 2357 
 2358 -------------------------------------------------------------------------------
 2359 Version 1.2-pre1 (Tue Sep 23 06:00:00 GMT 2003):
 2360 
 2361 [*] Renamed coonfig.inc to config.inc.php
 2362 [-] Fixed bug #748934, do not allow booking descriptions with only spaces.
 2363 [+] Added Windows NT / IIS authentication scheme.
 2364 [-] Fixed bug : Always displays "edit entry" instead of "Add Entry" even when
 2365       adding an entry. (Ian Duncan)
 2366 [-] Fixed bug: repeated meetings selecting a "Monthly repeat, same day of the
 2367       week" repeat type in the 5th week were not properly scheduled.
 2368 [-] Fixed bug: when you press on print preview
 2369       in report.php page, all but the submission form is visible but
 2370       not the actual report  (sQuare).
 2371 [*] In the minicalendar week view, the full week is highlighted instead of
 2372       the first day of the week (sQuare).
 2373 [-] Bug fix: in week view, allow non 'internet explorer' browsers to see links
 2374       to the corresponding days in column titles (Johan.Schonning).
 2375 [+] Entries in monthly view can be shown as start/end slot or brief description
 2376 [*] Replaced the column titles in the week view to  be links to the
 2377 	  corresponding days (sQuare).
 2378 [-] Bug fix : italian vocab with character not properly escaped prevents
 2379       deleting entries and/or prevent jcript popup to works (Pietro donatini)
 2380 [-] Fixed bug in escaping of username and password for all
 2381       authentication schemes that use HTTP authentication.
 2382 [-] Fixed bug in bookings between 12:00 AM/PM and 12:59 AM/PM (AM/PM hour
 2383     format)
 2384 [+] MRBS become compliant to the 'register_globals = off' directive
 2385 [-] Minor bug fixes
 2386 [+] Added translation: Finnish (Vesa Palmu), Portuguese (Lopo Pizarro),
 2387     Danish (Claes Bolvig Pedersen).
 2388 [*] Minor translations updates an bug fixes
 2389 [-] Bug fix if drop-down select box is chosen to show areas/rooms
 2390 [*] Changed the tiny size of numbers in calendar to
 2391       a larger one.
 2392 
 2393 -------------------------------------------------------------------------------
 2394 Version 1.1 (Tue Jan 14 10:00:00 GMT 2003)
 2395 
 2396 [+] Added configuration option ($twentyfourhour_format) to allow time
 2397         formats to be changed to 12 hour format.
 2398 [*] Updated all language files to be consistent
 2399 [*] Changed minicals so they point to week when on week view and month on
 2400         month view, rather than always pointing at day view
 2401 [*] Changed occurrences of "<?=" to "<?php echo" which means we still
 2402         use the long tag form everywhere.
 2403 [*] Removed all remainings english strings to make MRBS 100% translatable
 2404         * Added new $vocab to del.php, edit_area_room.php, edit_entry.php,
 2405           edit_entry_handler.php, help.php, mysql.inc, pgsql.inc,
 2406           view_entry.php, functions.inc
 2407 [+] Modified config.inc language section to choose a site_faq.html file
 2408         translated in another language.
 2409         * Modified help.php to take these changes into account.
 2410         * Added site_faq_fr.html (french)
 2411 [+] Added auth_name.inc, a auth_ip.inc variant using DNS name instead of ip.
 2412 [+] Added auth_omni.inc for use with OmniHTTPd web server security features
 2413 [-] Change search.php to remove warnings introduced with PHP 4.3.0
 2414 [-] Change trailer.inc to make print preview more likely to work on
 2415         windows and non-apache servers
 2416 
 2417 -------------------------------------------------------------------------------
 2418 Version 1.1-pre2 (Thu Jan  9 17:50:00 GMT 2003)
 2419 
 2420 [+] New POP3 authentication scheme (Daniel Gardner)
 2421 [*] Updated Spanish translation
 2422 [-] Fix for edit entry page. We now determine the area id
 2423         of the room the meeting we're editting is in before
 2424         getting a list of the rooms in that area. This solves
 2425         a number of errors that occur when editting/creating
 2426         bookings.
 2427 [-] Fixes submitted/suggested by Jean-François Larvoire:
 2428         * Added closing ?> to index.php
 2429         * Added "global $refresh_rate;" to style.inc
 2430         * Fixed all occurrences (hopefully) of $vocab[] indices
 2431           written without surrounding quotes.
 2432 [*] Changed all uses of <? to <?php.
 2433 [+] Merged change from John Beranek for an Advanced search function,
 2434         requires 3 more translation tokens, which have been added to
 2435         each language file, "search_button" should be OK, as I took
 2436         the text from each language's "search" token.
 2437 [-] Fixed 2 problems in edit_entry.php as submitted on the mailing list.
 2438 [*] Added small enhancement to smb_auth.c, if you pass a username
 2439         as group/user, it will change the NT group that is used for
 2440         authentication.
 2441 [*] Improved shell escaping in auth_ext.inc. It now uses
 2442         escapeshellarg() instead of escapeshellcmd(). If your PHP
 2443         version is less than 4.0.3, then it includes escapeshellarg.inc
 2444         which is a local implementation of that function.
 2445 [*] Added updated French translation, as provided by Thierry Wehr.
 2446 [*] Tided all language files again, they all have the same format
 2447         and number of lines now, and are all missing at least 2 translations
 2448         because of the new advanced search functionality.
 2449 [-] Fixed a number of bugs to make the Taiwanese translation work.
 2450         The code to include language files based on HTTP_ACCEPT_LANGUAGE
 2451         has been improved, which ensures lang.zh-tw is included.
 2452         Additionally, mincals.inc not longer does a substr() on the
 2453         abbreviated weekday names, as this breaks terribly for any
 2454         multibyte encoding, as it was only taking the first byte
 2455         of a multibyte encoding. This has the impact that you now
 2456         get Mon,Tue,Wed etc instead of M,T,W (using glibc's en_GB
 2457         locale).
 2458 [-] print_header() now outputs a DOCTYPE identifier as well as
 2459         sending Pragma no-cache and an Expires header in the
 2460         past. This should help ensure the web pages don't get cached.
 2461 
 2462 -------------------------------------------------------------------------------
 2463 Version 1.1-pre1 (Thu May 30 12:41:02 BST 2002)
 2464 
 2465 [*] add config option for drop-down boxes to select area and room
 2466           (Thanks to sponsorship of LTC Corporation)
 2467 [+] allow multiple rooms to be booked at the same time
 2468           (Thanks to sponsorship of the City of Wayne and LAEP)
 2469 [*] document need for register_globals() with new PHP versions
 2470 [+] add auth_nis.inc from Jeff Hoover (jberanek)
 2471 [+] add auth_imap.inc
 2472 [*] add warning about PHP3 not working
 2473 [*] new language tokens
 2474 [-] Stop problem where all strings turn to "N"
 2475 [-] Fixes a problem where $resolution is an odd amount
 2476 [*] extra javascript validation around n-weekly bookings
 2477 [-] extra array index quoting to stop newer php warnings
 2478 [*] Commented all authentication schemes (jberanek)
 2479 [*] Change mrbs_repeat schema for postgres (mrbs_repeat.rep_num_weeks =>
 2480         smallint)
 2481 [*] replace poxix_uname with php_uname function for portability
 2482 [-] Declare $HTTP_ACCEPT_LANGUAGE global in config.inc
 2483 [-] some int casts to fix a bug from sourceforge
 2484 [*] language files normalised
 2485 [*] update translations:
 2486         Norway, Rune Johansen
 2487         France,
 2488         Italy, Gianni
 2489         Netherlands, Marc ter Horst
 2490         Sweden, Hakan Nilsson
 2491         Germany, Michael Redinger
 2492 [+] add translation:     Czech, SmEjDiL
 2493 
 2494 -------------------------------------------------------------------------------
 2495 Version 1.0 (Thu Aug 30 22:26:54 BST 2001)
 2496 
 2497 [+] Added two upgrade.xx.sql files which should have been in -pre2
 2498 
 2499 -------------------------------------------------------------------------------
 2500 Version 1.0-pre2 (Sun Jul  8 13:43:53 BST 2001)
 2501 
 2502 [*] Incorporated diff from Scott Leonard that allows you to configure a refresh
 2503         time for roombooker web pages.  Set config variable $refresh_rate to the
 2504         number of seconds to refresh after, or set to 0 to disable.
 2505 [+] Implemented "n-weekly" repeat type. Not sure I like the way it's phrased in
 2506         the lang files, but the code works fine.  You can now have a meeting
 2507         that is repeated every 'n' weeks. e.g. every 5th Monday.  This required
 2508         a database change, which I've made available in upgrade2.my.sql and
 2509         upgrade2.pg.sql
 2510 [*] Tidied lang files, and ensured every file has all the required tokens.
 2511         'wc -l lang.*' now shows all the files as having the same line count.
 2512         Quite a few languages now have English bits in them though.
 2513 [*] Incorporated diffs from Tim Bell that allow you to configure a filter
 2514         for LDAP authentication.
 2515 [-] Incorporated diffs from Tim Bell that solve problems with bookings made
 2516         for times that have smaller granularity that the configured booking
 2517         resolution.
 2518 [-] Fixed config.inc so that the correct lang.xx is included if
 2519         HTTP_ACCEPT_LANGUAGE is a comma-seperated list like "sv, en".
 2520 [*] Copied "rep_type_5" language token into Swedish and Spanish language
 2521         files from English file.  Swedish and Spanish users were not able
 2522         to use "monthly, corresponding day" repeats without the token being
 2523         present.
 2524 [*] Checked in updates to lang.es (received from Pablo Gomez) and lang.de
 2525         (received by Bernd Oeggl).
 2526 [*] Update lang.nl file (marc ter horst)
 2527 
 2528 -------------------------------------------------------------------------------
 2529 Version 1.0-pre1 (Sun Mar  4 23:26:43 GMT 2001)
 2530 
 2531 [*] Internationalised functions.inc. "Help", "Admin" and "Search:" are now lang
 2532         strings. Also, fixed an error in lang.fr, $vocab["mrbs"] was defined
 2533         twice. (jberanek)
 2534 [*] Added double quotes around all uses of color and class attributes, as HTML
 2535         dictates. (jberanek)
 2536 [*] On conflict, show start time and link to day/week/month views (redinger)
 2537 [+] Link each search result start time to entry's day view (bernd, beranak)
 2538 
 2539     Branch Merge (2001-02-24 ljb):
 2540 [*] Incorporated all changes from branch mrbs-0-9-1xp into CVS trunk.
 2541 [*] Undoes post-branch change (0.9.2) to remove "weekstarts" function.
 2542 [-] Fix undefined variable warning $edit_type in edit_entry.php
 2543 
 2544 -------------------------------------------------------------------------------
 2545 Version 0.9.2 (Fri Feb  9 20:09:42 GMT 2001)
 2546 
 2547 [*] Remove "weekstarts" functionality
 2548 
 2549 -------------------------------------------------------------------------------
 2550 Branch mrbs-0-9-1xp (2001-02-13 daniel):
 2551 
 2552 [*] Added $I d$ tags to all files.
 2553 
 2554 -------------------------------------------------------------------------------
 2555 Branch mrbs-0-9-1xp (2001-02-10 ljb):
 2556 
 2557 [*] For PHP4, rename *.php3 to *.php and changed all links.
 2558 [+] Major changes for database support for PostgreSQL:
 2559         Original tables.sql renamed tables.my.sql for MySQL.
 2560         Move sample data from tables.sql to sample-data.sql.
 2561         New tables.pg.sql to build tables for PostgreSQL.
 2562         New destroy.pg.sql to delete PostgreSQL tables and sequences.
 2563         New grant.pg.sql - edit this and run to grant PostgreSQL rights.
 2564         Replaced connect.inc with mysql.inc and pgsql.inc.
 2565         New variable in config.inc "$dbsys" selects "mysql" or "pgsql".
 2566         Renamed variables in config.inc to replace "mysql_" prefix with "db_".
 2567         New wrapper functions (see README.sqlapi) to encapsulate database calls.
 2568         New pgsql.inc provides PostgreSQL implementation, and connects.
 2569         New mysql.inc provides MySQL implementation, and connects.
 2570         Rewrote all database calls to use wrapper functions.
 2571         Rewrote all SQL statements to be standards-compliant, where possible.
 2572             Used new wrapper routines where non-standard SQL is needed.
 2573             Replace LEFT JOIN sequence with predicate-based joins.
 2574         Changes to all error handling to ensure errors are properly reported.
 2575 [+] New week.php for Week View. (Experimental)
 2576 [+] New month.php for Month View. (Experimental)
 2577 [*] Added rows of links in trailer.inc to new month and week views.
 2578 [*] Changed Entry Type from 2 values (I=Internal, E=External) to 10 values.
 2579         By default only the same 2 are defined in config.inc.
 2580         Style sheet contains colors for 10 types.
 2581         Selection box for type in edit/add entry form is dynamically built.
 2582         Color key in day view dynamically built from defined types.
 2583         Color key in day view moved to bottom of page.
 2584 [+] New Report function, linked from new button in the header. This makes
 2585         a report on entries selected by date range and match strings.
 2586 [*] Add config.inc option db_nopersist to not use persistent DB connections.
 2587 [-] Add missing args to print_header call in del.php.
 2588 [+] Add config option eveningends_minutes to allow full 24 hour display with
 2589         more resolution than 1 hour; also allows better control over the
 2590         displayed hours, for example the last slot can now be 16:30-17:00.
 2591 [*] Removed unused functions from functions.inc: get_sunday_before()
 2592         print_date_entries() display_unapproved_events() display_time()
 2593         mysql_date_to_str() get_webrowser() hextoint() decode_str() encode_str()
 2594         Also removed load_user_preferences code and calls to it.
 2595 [*] Remove redundant includes: functions.inc now assumes config.inc was
 2596         included and does not include it again; search.php and view_entry.php do
 2597         not need authentication so they don't need to include mrbs_auth.inc.
 2598         Removed redundant connect to datbase in search.php.
 2599 [*] New error function fatal_error() to ensure errors are in a proper HTML page.
 2600 [+] Added new repeat type 5: monthly repeat, corresponding weekday and week.
 2601 [+] New authentication for Netware: auth_nw.inc (see README.nwauth). This is
 2602         needed because nwauth takes the password on stdin, not cmdline.
 2603 [*] Used weblint to validate output pages and corrected HTML where needed.
 2604         Quote all attribute values, fix bad attributes, balance tags.
 2605 [*] Moved HTML end tags into trailer.inc.
 2606 [*] Changed trailer to put " | " between dates, instead of ", " after each.
 2607 [-] In print_header, fix bad position of style.inc; must be in <HEAD> block.
 2608 [-] Fix syntax error when adding room if no capacity given (use 0).
 2609 [*] Change day.php to output equal-width room columns with centered headers.
 2610 [*] search.php: Use COUNT(*) and no ORDER BY when just getting match count.
 2611 [*] Fixed typo in view_entry.php on building up per-day repeat option string.
 2612 [-] Redesign loop for adding repeat dates to prevent it from scheduling 1 past
 2613         the end date if the end date wasn't a date to schedule.
 2614 [*] Add "about" section to help.php to display viersion, system, database.
 2615 [-] Patch from BoK: fix "2 Decembers displayed if you pick "31 Nov" and Go.
 2616         This makes sure the selected date is a valid date.
 2617 [-] Patch from robc: Fix to prevent edit entry to make it overlap another.
 2618 [+] New feature from Bo: Edit area and room names (new edit_area_room.php).
 2619 [*] Sort (order) the room names alphabetically in the main display (day.php).
 2620     Changes found in CVS source:
 2621 [*] Changed "Booker's Name" to "Brief Description" (was in post-0.9pre1 CVS)
 2622 [*] View_entry uses multi-table query to show room description too (was in CVS)
 2623 [*] If no area is supplied, don't use 1 (or 0) since there might not be such
 2624         an area (if it was deleted). Instead, use new get_default_area() which
 2625         gets the lowest-numbered area.  In print_header(), don't pass along
 2626         area as a hidden parameter if it wasn't supplied in the first place.
 2627 [*] Patch from BoK: Booking repeat Sat/Sun, only entered first Sun.
 2628 [*] Fixes to PHP magic quoting. We now turn of magic_quotes_runtime always,
 2629         and use new slashes() and unslashes() to conditionally deal with
 2630         backslack-quotes depending on value of PHP's magic_quotes_gpc setting.
 2631         NOTE: Possibly slightly incompatible change. Prior versions may have
 2632         put pre-quoted values (area name, room name, booking name, booking
 2633         description) into the database tables. This was wrong. If so, you
 2634         will see funny \'s in the value displays.
 2635         MRBS now should properly quote and unquote all values behind the scenes.
 2636 [*] Admin.php gets the area name from the database if it only has the ID.
 2637 [-] Patch from BoK: fix duplicate bookings from failure to delete caused by
 2638         bad entry_type change to 2.
 2639 [*] Updates to site_faq.html - describe repeats, generalize Authentication info.
 2640 [*] Use a mutual exclusion lock (mutex) when adding an entry to prevent races.
 2641 [+] New maintenance SQL scripts: purge.my.sql and purge.pg.sql to delete old
 2642         entries from your database (default 30 days old).
 2643 [*] Fixed field alignment in Add/Edit Entry form to right-justify labels.
 2644 [*] Security: Use EscapeShellCmd() on username and password in auth_ext.inc
 2645 [-] Fixed function toTimeString() to use lang[] for time units (I18N).
 2646 [*] Streamlined main query in day.php: omit unused columns, improve predicate
 2647         to select by times from 6 compares to 2.
 2648 [*] In day.php, only fill in map entries during the day hours of interest.
 2649 [*] In lang.* language files, fixed quoting (found in CVS), comments, strip
 2650         CRs and fixed some typos.
 2651 [-] Use double quotes around all string array indexes except inside strings.
 2652         This avoids a PHP notice-level warning on each array reference.
 2653 [-] Fix undefined variable references to avoid notice-level PHP warnings.
 2654 [-] Bug fix: round meeting times up to $resolution units, not 30 minutes, and
 2655         don't allow 0 minute meetings - make them 1 resolution unit instead.
 2656 [*] When using the footer to change dates, remember the current area.
 2657 [-] Changed view_entry to always show both time and date for start and end time;
 2658         the CVS version was buggy and quirky in suppressing the date or time if
 2659         it thought they were not important. Better to show too much info.
 2660 [+] New weekstarts and dateformat (Jan 01 vs 01 Jan) config (from BoK),
 2661         generalized to show the week starting on any day.
 2662 [*] Add inline colors for non-CSS browsers (based on patch from John Beranek).
 2663 [*] Added current date header above day display (from John Beranek).
 2664 
 2665 -------------------------------------------------------------------------------
 2666 Version 0.9.1 (Sun Feb  4 21:56:09 GMT 2001)
 2667 
 2668 [-] Fixed bug in mincals (sourceforge 'nobody')
 2669 
 2670 -------------------------------------------------------------------------------
 2671 Version 0.9 (Sun Feb  4 21:40:16 GMT 2001)
 2672 
 2673     Release.
 2674 
 2675 -------------------------------------------------------------------------------
 2676 Version 0.9-pre2: (2001-01-27)
 2677 
 2678 [+] Some stuff for Roxen from Claus Jeppesen (jeppesen@mrl.ucsb.edu)
 2679 [*] Add control over start of weekday (Sunday or Monday) (bokleve)
 2680 [*] Change how days are presented (Jul 19 or 19 Jul) (bokleve)
 2681 [*] Day names in selected language (bokleve)
 2682 [+] Sweedish language file (bokleve)
 2683 [+] Can now change room and area descriptions (bokleve)
 2684 [-] Fix for all day bookings (bokleve)
 2685 [*] Escape characters in text (day.php3) (bokleve)
 2686 [*] Rooms sorted by name (bokleve)
 2687 [-] Fix duplicate entries when changing a booking (bokleve)
 2688 [-] Modifying an entry allowed intrusion on other bookings (bokleve)
 2689 [-] Weekly bookings could not be made for Sunday if Saturday also booked
 2690 [-] view_entry.php3: Fix escape characters showing in text (bokleve)
 2691 
 2692 -------------------------------------------------------------------------------
 2693 Version 0.9-pre1 (13:00 Fri August 2000)
 2694 
 2695 [-] A few minor bug fixes.
 2696 [*] Authentication is finally in properly
 2697 [+] Big UI change, provides a toolbar at the top, help, the ability
 2698         to search and other useful stuff.
 2699 [+] A help file for the users.
 2700 [*] Another LDAP authentication method, this one uses `ldapsearch'
 2701 
 2702         Thanks to Mark Belanger <mark_belanger@ltx.com> for most of this.
 2703 
 2704 -------------------------------------------------------------------------------
 2705 Version 0.8.1 (Thurs July 27 11:00 2000)
 2706 
 2707 [*] Better "Area" handling
 2708 
 2709 -------------------------------------------------------------------------------
 2710 Version 0.8 (Wed July 26 17:50 2000)
 2711 
 2712 [*] General improvements in the "Repeat Booking" code.
 2713 [*] Better year selection handling
 2714 
 2715 -------------------------------------------------------------------------------
 2716 Version 0.8-pre6 (Thurs July 20 10:00 2000)
 2717 
 2718 [-] Lots of little bug fixes.
 2719 [*] Additional LDAP authentication method
 2720 [*] Better compatibility with old versions of PHP
 2721 
 2722 -------------------------------------------------------------------------------
 2723 Version 0.8-pre5 (Thurs July 13 11:50 2000)
 2724 
 2725 [*] Improved "Conflict detection" code
 2726 [*] Lots of date/time handling improvements
 2727 
 2728 -------------------------------------------------------------------------------
 2729 Version 0.8-pre4 (Wed July 12 11:00 2000)
 2730 
 2731 [+] Added repeat entries
 2732 [+] Added French language file
 2733 [*] Updated German language file
 2734 [*] Made the "view_entry" screen nicer
 2735 [*] General page updates
 2736 
 2737 -------------------------------------------------------------------------------
 2738 Version 0.8-pre3 (Wed Jun 21 13:42:42 GMT 2000)
 2739 
 2740 [+] Added Perl script for LDAP auth
 2741 
 2742 -------------------------------------------------------------------------------
 2743 Version 0.8-pre2 (Wed Jun 21 11:34:20 GMT 2000)
 2744 
 2745 [*] Added docs about netware authentication
 2746 [-] Rename auth.inc -> mrbs_auth.inc to stop phplib conflicts
 2747 [+] Added Spanish language file
 2748 [+] Added Dutch language file
 2749 [+] Added German language file
 2750 [+] Added Traditional Chinese language file
 2751 [+] Explicitly set charset (from language file)
 2752 
 2753 -------------------------------------------------------------------------------
 2754 Version 0.8-pre1 (Fri Jun 16 08:22:19 GMT 2000)
 2755 
 2756 [+] User-based authentication supported (see AUTHENTICATION)
 2757 [*] Better support for bookings spanning multiple days
 2758 [+] User can specify "Whole Day" bookings
 2759 [+] Units other than "Hours" are supported (Mins, Hours, Days, Weeks)
 2760 
 2761         Thanks to Sam Mason <smason@mtc.ricardo.com> for much of this
 2762 
 2763 -------------------------------------------------------------------------------
 2764 Version 0.7 (Mon Jun 12 12:42:50 GMT 2000)
 2765 
 2766 [*] Changed DB to use unixtime, not mysql date/time
 2767 [*] Changed date strings to use locale
 2768 [*] Replaced code for three small calendars
 2769         (thanks to David Wilkinson - davidw@cascade.org.uk)
 2770 [*] Internal/External meetings different colours
 2771 [*] "Resolution" moved to config file
 2772 [+] Added Japanese support
 2773 [*] Moved language into external file
 2774 [*] Added more documentation
 2775 [-] Areas with no rooms don't cause an error
 2776 
 2777 -------------------------------------------------------------------------------
 2778 Version 0.6 (Sat May 27 09:09:11 BST 2000)
 2779 
 2780 [-] Fixed bug in edit_entry_handler.php3 which made any
 2781         booking made between the 1st and 9th of the month
 2782         actually happen on the 1st of Jan for that year
 2783 [-] Fixed bug in day.php3 where any booking past
 2784         midnight would not show up
 2785 [-] Related bug which meant that bookings longer than
 2786         one day wouldn't be displayed.
 2787 [-] Fixed bug where editing a booking would default to
 2788         today's date, not the booking's date
 2789 [+] Added .htaccess to protect .inc files
 2790 [*] Moved start and end of day config variables to
 2791         config.inc
 2792 
 2793 -------------------------------------------------------------------------------
 2794 Version 0.5 (Mon May 22 12:07:14 BST 2000)
 2795 
 2796 [+] Added admin.php3 so areas/rooms can be done
 2797         by web rather than by SQL
 2798 
 2799 -------------------------------------------------------------------------------
 2800 Version 0.2 (Sun May 21 22:35:33 BST 2000)
 2801 
 2802 [*] Working OK from user perspective
 2803 [*] All admin done by SQL
 2804 
 2805 -------------------------------------------------------------------------------
 2806 Version 0.1 (Sun Apr 30 16:03:26 BST 2000)
 2807 
 2808 [+] Initial starting