This patch replaces all homegrown timezone
stuff with standard PHP date/time code.
The main change is the introduction of core_date
class that returns normalised user and server
timezones. From now on nobody should be using
$CFG->timezone or $user->timezone directly!
Other new features and fixes:
* admins are prompted for timezone during install
* editing of other users is finally fixed
* timezones are displayed in user profile
* new $this->setTimezone() in phpunit
* time locale is now automatically reset in phpunit
* timezone is now automatically reset in phpunit
* phpunit has Australia/Perth as default timezone
- function get_mimetypes_array() now contains also information about filetype groups and language strings
- use 'smart' human-readable mimetype description
- never determine filetype group based on filetype icon image! remove function mimeinfo_from_icon()
- get rid of class filetype_parser and file lib/filestorage/file_types.mm, replaced with functions file_get_typegroup(), file_extension_in_typegroup() and file_mimetype_in_typegroup()
- support multiple icon sizes, not only 16 and 32
- retrieve filetype icon only using proper functions file_..._icon() from lib/filelib.php throughout the code
- increase size of repository thumbnails to 90 and icons to 24 (will take effect when new icons exist)
This change makes the resource module use the new API when it embeds media
files (audio/video/Flash), and removes the resourcelib library functions
which were previously used for this.
The old API is still used for embedding non-media files such as PDFs and
HTML.
The URL and Lesson module both used copy/paste duplicates of a section of
resource module code which called the removed functions. I have changed
these too. As a bonus this significantly reduces the duplication involved.
The recent change completely removed support for general URIs and enforced strict URL validation which was breaking backwards compatibility and was not user friendly at all.
This patch finally adds full URI support with basic validation and fixes some older xhtml strict issues.
Please note we do not try to explain the difference between URL and URI to our users. Also keep in mind that mod/url has XSS risk and does not do any security validation of the data.
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