Commit graph

799 commits

Author SHA1 Message Date
Dan Poltawski
852f32f7b3 Merge branch 'wip-MDL-50887-master' of https://github.com/marinaglancy/moodle 2016-03-02 15:49:45 +08:00
Marina Glancy
d2de503c80 MDL-50887 antivirus: clamav is standard plugin, missing strings 2016-03-02 15:42:35 +08:00
Andrew Nicols
2f244f1cc6 MDL-30811 core: Initiate notifications on first use only 2016-03-02 13:30:09 +08:00
Eloy Lafuente (stronk7)
ce878562f3 Merge branch 'MDL-52136-master' of git://github.com/andrewnicols/moodle 2016-03-02 05:25:57 +01:00
Andrew Nicols
0b4bff8ca9 MDL-52136 core: Add support for quoting variables in mustache helpers
This is required for when helpers include json-encoded variables as arguments.
As an example, imagine a template with content:

{{# str }} somekey, someidentifier, { "fullname": "{{ fullname }}" } {{/ str }}

If the fullname variable were to include the double-quote character (e.g.
John "Trevor" Doe) because of the way in which mustache renders content, it
would become:

{{# str }} somekey, someidentifier, { "fullname": "John "Trevor" Doe" } {{/ str }}

This results in an invalid JSON structure.

To work around this issue, the quote characters in the passed variable
must be escaped:

{{# str }} somekey, someidentifier, { "fullname": "John \"Trevor\" Doe" } {{/ str }}

Unfortunately, Mustache provides no way of doing so natively.

With this function, we can quote the text as appropriate:

{{# str }} somekey, someidentifier, { "fullname": {{# quote }}{{ fullname }}{{/ quote }} } {{/ str }}

This also handles the case where the quoted content includes the Mustache
delimeter ({{ or }}).

For example:
fullname = 'John "}}Trevor{{" Doe'

Ordinarily this would be rendered as:
{{# str }} somekey, someidentifier, { "fullname": "John "}}Trevor{{" Doe" } {{/ str }}

This rendering is both a JSON error, and also a mustache syntax error because of the mustache delimeters.

The quote helper also escapes these by wrapping them in change delimeter
tags:

{{# str }} somekey, someidentifier, { "fullname": "John "{{=<% %>=}}}}<%={{ }}=%>Trevor{{=<% %>=}}{{{{=<% %>=}}" Doe" } {{/ str }}
2016-03-02 08:48:46 +08:00
Dan Poltawski
2158e87492 Merge branch 'MDL-50887-master' of https://github.com/lucisgit/moodle 2016-03-01 14:49:33 +08:00
Eloy Lafuente (stronk7)
d9dfc410ad Merge branch 'wip-MDL-53172-master' of https://github.com/marinaglancy/moodle 2016-03-01 01:59:31 +01:00
Ruslan Kabalin
17d7ee0eea MDL-50887 antivirus: Add config getter to base class.
Improving architecture to make it testable.
2016-02-29 09:31:29 +00:00
Ruslan Kabalin
11362ae3ff MDL-50887 antivirus: Use namespace referenced classes. 2016-02-29 09:31:09 +00:00
Andrew Nicols
0346323cec MDL-30811 output: Add support for session notifications 2016-02-29 09:05:56 +08:00
Andrew Nicols
243468030a MDL-30811 output: Tidy up notifications 2016-02-28 19:16:34 +08:00
Andrew Nicols
38cf8b6661 MDL-53172 javascript: Stop requiring body manipulation on load 2016-02-27 11:29:27 +08:00
Marina Glancy
8de48ad0ae MDL-53172 core: toggle and select in inplace_editable 2016-02-27 11:29:24 +08:00
Ruslan Kabalin
b6bb4e81bb MDL-50887 antivirus: Use autoloaded classes.
This implements the use of class autoloading for antivirus plugin. Base
abstract class, exception class and manager are using namespace
core\antivirus, this is because all three class files are located in
/lib/classes/antivirus/ (see \core_component::classloader for convention
details).
2016-02-25 09:55:45 +00:00
Ruslan Kabalin
1a980fdadb MDL-50887 antivirus: Fix style issues. 2016-02-25 09:55:45 +00:00
Ruslan Kabalin
146eeb7651 MDL-50887 antivirus: Add antivirus plugin infrastructure. 2016-02-25 09:54:05 +00:00
Eloy Lafuente (stronk7)
6ab07f97bf Merge branch 'MDL-49324-master' of git://github.com/andrewnicols/moodle 2016-02-24 07:55:51 +01:00
David Monllao
f900b2b6c9 MDL-31989 component: Allow classes to be retrieved by namespace 2016-02-23 10:47:58 +00:00
David Monllao
db48207e1a MDL-31989 search: Search API and search engine API
Introducing both APIs in moodle along with:
- search_box widget to add a tiny search box
- admin settings with setup steps helper
- cache for search results
- template for a search result
- php unit stuff

Many thanks to Tomasz Muras, Prateek Sachan and Daniel Neis for their contributions, for starting this development
and for pushing for it to be completed. Also thanks to other contributors: Jonathan Harker and eugeneventer.
2016-02-23 10:47:58 +00:00
David Monllao
eddea91dfd MDL-31989 task: Global search indexing task 2016-02-23 10:47:31 +00:00
Damyon Wiese
b9d2419e39 MDL-49324 Output: The progress bar output is buffered.
Each call to update the progress bar needs to fill the output buffer so that it
gets sent immediately.
2016-02-23 08:35:10 +08:00
Eloy Lafuente (stronk7)
642a4fde4b Merge branch 'wip-MDL-51802-master4' of https://github.com/marinaglancy/moodle 2016-02-16 23:22:35 +01:00
Marina Glancy
cdc5f9785b MDL-51802 core: new template for quick editing a title
convert editing tag name to use new template
2016-02-13 11:07:42 +08:00
Brendan Heywood
2ab797c90b MDL-28030 weblib: Added $CFG->urlrewriteclass in config.php
This enables a plugin to implement rewriting rules enabling
    'clean' or 'semantic' urls such as /course/COMP100/ instead
    of /course/view.php?id=1234
2016-02-11 20:44:25 +11:00
Davo Smith
6badbf0135 MDL-49620 availability: plugins can have global settings 2016-02-04 15:21:02 +00:00
David Monllao
b831527ce8 Merge branch 'MDL-52831-master-emptynames' of git://github.com/mudrd8mz/moodle 2016-02-01 11:28:40 +08:00
David Mudrák
1ccd813264 MDL-52831 users: Do not delete Mr. and Mrs. Whitespace accounts
Due to imperfect validation of the user registration and profile forms,
we allowed for firstname and lastname be just a whitespace. On MySQL,
such a whitespace is not significant for VARCHAR comparison so these
otherwise valid accounts could be silently deleted.

The patch makes sure that at least one of the checked fields is a real
empty string before deleting such account.
2016-01-19 21:40:45 +01:00
Mark Nelson
806905b59b MDL-49291 core: final deprecation of sql_*_reader interfaces 2016-01-18 14:24:34 +08:00
Andrew Nicols
f731f9c6d9 Merge branch 'MDL-50829-master' of git://github.com/danpoltawski/moodle 2016-01-13 09:56:31 +08:00
Dan Poltawski
04a03ff282 Merge branch 'wip-MDL-50851-master' of git://github.com/marinaglancy/moodle 2016-01-12 14:17:14 +00:00
Dan Poltawski
b8ab80f07e Merge branch 'MDL-52210-master' of git://github.com/cameron1729/moodle 2016-01-12 13:36:13 +00:00
Michael Aherne
d9ffd8518a MDL-52589 cache: Allow unused stores to be uninstalled 2016-01-11 09:04:37 +00:00
Marina Glancy
c026a28d59 MDL-50851 core_tag: introduce tag collections 2016-01-10 15:25:43 +08:00
Cameron Ball
13ae7db2bb MDL-52210 webservices: Remove AMF webservice 2016-01-05 10:36:26 +08:00
Dan Poltawski
0a7051ff5a MDL-50829 lang: fix to RTL/LTR bracket confusion
Thanks to ISHIKAWA Takayuki for the initial patch
2015-12-29 12:30:18 +00:00
Marina Glancy
1766e6a17f MDL-52284 core: PHP7 engine errors have type Throwable 2015-12-10 10:49:37 +08:00
David Monllao
0ee52b8214 Merge branch 'MDL-51830-master' of git://github.com/lucisgit/moodle 2015-12-03 11:11:04 +01:00
Marina Glancy
49f3c89324 MDL-52332 calendar: load settings using API 2015-11-30 11:36:50 +08:00
David Mudrák
ade03c067a MDL-52214 core: Fix case sensitivity in user agent comparison
The previous 2.9 implementation of is_web_crawler() used stripos() in
certain cases. The unit tests re-added in the previous commit revealed
that certain crawlers (such as BaiDuSpider) were not correctly detected
in the new refactored implementation.

It seems lesser evil and safe enough to use /i in the regex search even
though it is not 100% same logic as before - as stripos() was used in
some cases only, not always.
2015-11-23 09:44:43 +01:00
Ruslan Kabalin
fa29c0c3d4 MDL-51830 course: Add course section deletion event. 2015-11-12 11:19:37 +00:00
Andrew Nicols
693ed49c10 Merge branch 'MDL-51707-m' of https://github.com/micaherne/moodle 2015-11-02 14:36:10 +08:00
Eloy Lafuente (stronk7)
7c549a17f4 MDL-51893 core_date: Stop using Pacific/Norfolk as 11.5 replacement
Norfolk Island's standard time (NFT) was on UTC+11:30 until 4 October
2015, when it was changed to UTC+11:00. So it's not suitable for 11.5
bad mapping replacement anymore.

It seems that there isn't any other location using such 11.5 timezone
so completely getting rid of it for conversions.
2015-10-27 10:17:05 +01:00
Dan Poltawski
0a05907873 Merge branch 'MDL-51737-master-3' of git://github.com/andrewnicols/moodle 2015-10-22 14:43:20 +01:00
Andrew Nicols
39a731efb4 MDL-51737 core: Add Edge UserAgent support 2015-10-22 08:37:27 +08:00
Eloy Lafuente (stronk7)
9062fa25ae Merge branch 'MDL-49329-master-multiplug' of git://github.com/mudrd8mz/moodle 2015-10-19 18:10:40 +02:00
David Mudrák
c8a6d162a0 MDL-51832 tests: Fix failing code manager unit tests on Windows 2015-10-19 18:08:59 +02:00
Dan Poltawski
293197afb3 Merge branch 'MDL-49329-master-multiplug' of git://github.com/mudrd8mz/moodle 2015-10-16 14:53:26 +01:00
Dan Poltawski
52fa3d09d7 Merge branch 'MDL-51563-master' of git://github.com/jleyva/moodle 2015-10-15 13:50:10 +01:00
Mark Nelson
f74fe5ba52 MDL-51781 tool_log: marked log values as NOT_MAPPED if mapping not found 2015-10-15 01:25:43 -07:00
David Monllao
ee58df52da Merge branch 'MDL-46455-master-20151012' of git://github.com/damyon/moodle 2015-10-13 11:42:40 +08:00