Previous commits were overlooked, they should have passed the
system context to filter_manager::setup_page_for_fitlers(), the
page context was passed instead. Regardless, the processing of
the latter is too excessive for what we need, but, more importantly,
it does not return "Off, but available" filters which we also need.
This introduces a flag to force the settings menu
to be displayed on the page if the theme uses a settings
menu. This is for use by activities and resources.
This patch includes a big set of changes that are all designed to work together to provide
a better way to navigate in the new theme, and a different way of working with blocks.
Blocks have been moved to a "drawer" that can be opened and closed (this is remembered in a user pref).
A new "flat navigation" element is also available in a drawer - which should let you do 90% of things
without needing to open the "blocks" drawer.
The flat navigation is build from specific parts of the nav tree - the top nodes like "calendar, dashboard" are
hand picked. There is a mycourses node listing your enrolled courses.
There is a node for the current course, built from the top nodes in the current course node in the nav tree.
Administrators have a link to the Site admin settings here too.
These nav elements are used by the templates for the new theme, which also has a resigned layout for login and signup.
There have also been some additional fixes / improvements to the scss for the new theme which goes along with these
layout changes.
This set of changes is a collaboration between Martin, Damyon and Alberto (thanks!).
This is required by the LTI plugin when we share an
activity. We do not want the user to be shown the
navigation blocks etc. The activity should be the
only thing displayed.
1. Improve upgrade note
2. Don't abuse $PAGE to get the current course/cm
3. Use validate_context, never $PAGE->set_context()
4. Reset current coursemodule in validate_context().
5. Respect moodlepageclass when calling an external function.
Fix:
$PAGE->context must be reset when calling validate_context
Improve:
Provide wrapper for calling an external function
The wrapper correctly checks the function parameters and return type against
the description of the external function, and stores the PAGE and COURSE global
state variables, restoring them before the function returns.
Fix: buggy unit tests.
These tests are expecting debugging from a bug that was fixed, and calling web
service functions with no user or session.
The CSS class `editing` should only be added if the user is in editing
mode AND she is allowed to edit the rendered page. `user_is_editing()`
achieves exactly this, without changing behaviour for the appropriate
pages.
All behat drivers are now replicating human behavior
so when the browser scrolls something into view it doesn't account
for fixed positioned elements that end up obscuring the item thus
leading to errors that could be avoided by scrolling an additional amount.
Now, if a site-theme is set for tablet/phone AND the user is using
a tablet/phone that site-theme will be used, always. In any other
case the normal theme resolution will be used: course, category, ...
This commit moves user agent related functionality out of several
core libraries and combines it into a more manageable class.
All core uses are converted and functions deprecated in favor
of the new class.
This reverts commit af62237d0e6e27df868d50848f7098f57c103f86.
This reverts commit 87a4194fdcd322d4aee5a6207b55a8da0864da94.
This reverts commit b2c66eb60c01805f26cc791966f05be52af7b406.
Conflicts:
version.php
This commit moves user agent related functionality out of several
core libraries and combines it into a more manageable class.
All core uses are converted and functions deprecated in favor
of the new class.
The patch converts the dock into a YUI shifter module and at
the same time improves several aspects of its operation.
The features of this patch include:
* Dock Module conversion.
* A loader that ensures we don't include the dock JS or its
requirements unless actually required.
* We no longer include the dock JS for themes that don't
enable it.
* Blocks no longer add registration events to the page
instead a dockable attribute is added to the html and the
loader looks for that.
* The dock module is properly documented and running YUIDoc
gives good quality documentation.
* We no longer need the dock module registration or
subcomponent.
* All events that can be delegated are now delegated.
* Removed unused variables and code left over after fixes.
* Support for docking blocks renderered using the new blocks
render method. Better support for custom block regions.