Classes with magic properties such as context do not pass through json_encode().
The solution is to implement iterator in such classes and convert what we
feed to json_encode to array using 'foreach' before we pass it to json_encode():
- class context implements IteratorAggregate
- added function convert_to_array() that converts anything to array
- before calling json_encode we convert the argument to array
repositories wikimedia and youtube:
- save last search in
- process parameter 'page'
- remove buttons 'Refresh', 'Search' and 'Logout' since they don't have meaning
filepicker:
- allow unknown number of pages (['pages'] = -1), show one 'Next' page after the current (both JS and non-JS modes)
repository wikimedia:
- add non-AJAX search form to make it work with JS disabled
This introduces the new page where admin may change the permissions and
defaults for particular combination of message processors and providers.
Signed-off-by: Ruslan Kabalin <ruslan.kabalin@luns.net.uk>
This patch introduces new lib/pluginlib.php library that provides
unified access meta-information about all present plugin types. The
library defines plugin_manager singleton that in turn gathers
information about all present plugins and their status. The list of
plugins can be rendered either as plugins check table or plugins control
panel.
This makes print_plugins_table() function obsolete and because it is not
expected to be called by any contrib plugin, the function is removed.
CSS for the legacy table generated by print_plugins_table() is cleaned
up.
Bug fixes:
* fixed broken flash resizing via URL
* upgraded Flowplayer
* fixed invalid context in format_text()
* all media related CSS moved from themes to filter and resources
* fixed automatic pdf resizing in resources
Changes:
* reworked filter_mediaplugin system settings - grouped by player type instead of individual extensions, added more information
* improved regex url matching
* removed old unused players, Eolas fix and UFO embedding
* image embedding moved to filter_urltolink
* new Flowplayer embedding API
* accessibility and compatibility tweaks in Flowplayer
* SWF embedding now works only in trusted texts, it is now enabled by default (works everywhere if "Allow EMBED and OBJECT tags" enabled)
* new default video width and height
New features:
* automatic Flash video resizing using information from video metadata
* Flash HD video support (*.f4v)
* Flash video embedding with HTML5 fallback - compatible with iOS and other mobile devices
* Vimeo embedding
* no-cookie YouTube site supported
* HTML 5 audio and video with multiple source URLs and QuickTime fallback
* more video and audio extensions in filelib.php
* MP3 player colours customisable via CSS in themes
* nomediaplugin class in a tag prevents media embedding
That bit of JavaScript from mod/quiz/attempt.php is needed in question preview too, so refactor a bit.
I was disappointed to find that the
$PAGE->requires->js_module('core_question_engine');
line was needed in quiz_get_js_module, but it seems to be.
Also change non-Moodle-y string "End test..." to "Finish attempt..."