MDL-29069 Data / Glossary: allow disapproving entries
MDL-29378 Fix regression in the Survey/COLLES P+A module

This basically reverts the commit 5196df589b0fbcead4a0943c8e7b227f8a98c897 that
I believe was a result of misunderstanding of how question type field is
(ab)used in the Survey module. As it took significant time to get familiar with
the overall logic of questions and their processing in the module, I left my
findings in added inline comments. The point is that it is $question->type that
matters. Types of questions listed as subquestions in the multi field is
irrelevant in that case (and all have it set to 1 IIRC).

This patch re-enables the "COLLES (Preferred and Actual)" survey type that did
not work at all due to regression.
MDL-29378 Fix the form display in the Survey/COLLES P+A module

In MDL-7501, we stopped using rowspanning cells in the form table due to
accessibility. That had introduced a regression so in the COLLES P+A survey,
all the rows were displayed with the same background colour. This patch returns
the previous behaviour that each couple of items can be distinguished by the
background colour.

Also, there is no need to display "I prefer that" and "I found that" as a small
text any more. It had made sense in rowspanning layout but not after MDL-7501
was fixed.

And finally, as all items are enumerated now sequentially, there are actually
48 lines, each couple covering one question in two variants. I think it's
correct to reflect this in the description of the form so the text was slightly
amended.
MDL-29378 Code cleanup in the Survey module

While working on the issue, I spotted these two places that were worth of
fixing. The first one is a trivial reminiscence of a previous refactoring,
after which both branches of the if() statement became equal.

The second one is actually a typo as in theory it could generate unexpected
input fields with the name like qPP1. Luckily this never happened due to the
way how survey questions are hardcoded (there are no questions with the type 2
that would require two answers to their subquestions).
MDL-40924 badges: added a print_error call to prevent PHP notices when no badges are found
MDL-41555 tool_behat: Improving behat & selenium exceptions messages

Also moving the 'selenium not running'
checking to a proper place as it was
not thrown since the homepage start
visit() was introduced.
MDL-41587 tool_behat: Adding site name constant
MDL-41369 Behat tests updated because of fixed messaging navigation
Merge branch 'wip-MDL-41369-fix2' of git://github.com/marinaglancy/moodle
MDL-41605 Enrolments: Updated unassign role url to use roleid as param

Filter on enrolled users page use role param to perform filtering by role,
and unassign role also contain role param to remove user role in course
which used to conflict. Looking at assign role, we use roleid param, so
using roleid for unassigning as well
weekly release 2.6dev
Merge branch 'install_master' of git://git.moodle.org/moodle-install
MDL-41460 core_component: Validate cache against version.php
MDL-41599 events: Set relateduserid instead of userid in blog events
MDL-18375 calendar: added multiple calendar support

Conflicts:

	course/edit_form.php
	lib/db/install.xml
	lib/form/dateselector.php
	lib/form/datetimeselector.php
	lib/setup.php
MDL-18375 calendar: huge refactor of the initial patch

1) Moved the calendar types location to a sub-folder in the calendar directory.
2) Removed/moved language strings.
3) Removed calendar types that should be downloaded as plugins.
4) Removed a Non-English language pack for the Gregorian calendar type that
should be downloaded separately.
5) Removed custom files responsible for checking for updates and uninstalling
calendar types, which should be done by core.
6) Removed JS from the calendar_month block as there is no non-JS alternative
provided and the JS written does not make use of the YUI library to ensure
multiple browser support.
7) Removed code from the base class responsible for creating timestamps that
are saved in the DB.
8) Added PHPDocs.

Note: In the original patch we are editing core functions responsible for saving
time in the database in the calendar base class. This is very dangerous, we do
not want to touch these functions as it could cause a complete fubar of the
database. There are places we are forcing the use of the gregorian calendar as
we are passing dates generated by the PHP date function, where as sometimes
we pass dates from usergetdate (which was being overwritten to return the
date specific to the calendar). We can not expect third party modules to
change the calendar type depending on the format they pass to these functions.
MDL-18375 calendar: only display the YUI2 calendar when the Gregorian type is used
MDL-18375 calendar: moved the location of the calendar type select box when editing a course
MDL-18375 calendar: edited the calendartype column in the install.xml file and created an upgrade path
MDL-18375 calendar: refactored the datetime user field so that it now uses the calendar type system