Commit graph

3950 commits

Author SHA1 Message Date
Andrew Nicols
fd424b99f2 MDL-51894 inboundmessage: Ensure that all mailboxes exist 2015-10-26 12:17:15 +08: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
6660fbb3d3 Merge branch 'MDL-51781_master' of git://github.com/markn86/moodle 2015-10-15 11:08:26 +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
Dan Poltawski
05ed945e61 Merge branch 'wip-mdl-50940' of https://github.com/rajeshtaneja/moodle 2015-10-15 08:58:23 +01:00
Damyon Wiese
bb6ca6f360 MDL-51260 tags: Update the tags form element to use the autocomplete field
AMOS BEGIN
    REM [interestslist_help,moodle] Commas are no longer required
    REM [entertags,tag] Commas are no longer required
    REM [othertags,tag] Commas are no longer required
AMOS END
2015-10-15 12:03:35 +08:00
David Monllao
ee58df52da Merge branch 'MDL-46455-master-20151012' of git://github.com/damyon/moodle 2015-10-13 11:42:40 +08:00
Jun Pataleta
cef93f97ae MDL-51128 course: Add startdate for generated course
Added course start date for the course generated by the course
generator in order to prevent incorrect date calculations
(i.e. in assignment due dates) when the generated course is reset.
2015-10-12 21:48:27 -05:00
Andrew Nicols
3648d7963a Merge branch 'MDL-51427-master' of git://github.com/marinaglancy/moodle 2015-10-13 10:13:43 +08:00
Damyon Wiese
ac82a9a8b4 MDL-46455 Events: Add db mapping info even if not part of backup
We can return db mapping info even for objects that are not included
in backup/restore and it may be useful in future (no use in core yet).
2015-10-12 16:41:02 +08:00
Mark Nelson
607021c14b MDL-46455 events: added more mapping
Also fixed a few bugs.
2015-10-11 18:52:36 -07:00
Damyon Wiese
3d0fff3a83 MDL-46455 restore: Add debug messages when log records cannot be mapped 2015-10-11 18:14:59 -07:00
Damyon Wiese
e17b739995 MDL-46455 logstores: Do not try and map empty fields on restore. 2015-10-11 18:14:58 -07:00
Damyon Wiese
0817451470 MDL-46455 events: Add mapping info to events
This commit covers all events outside of /mod/. It adds mapping info for restoring
events, or the default implementation which returns false if mapping is not required.
2015-10-11 18:14:58 -07:00
Mark Nelson
901a7ff7f2 MDL-46455 restore: added restore support for 'other' in events 2015-10-11 18:14:51 -07:00
David Mudrák
30c264211e MDL-49329 admin: Fix reported coding style warnings 2015-10-10 09:15:27 +02:00
David Mudrák
b0fc789878 MDL-49329 admin: Clean up disabling of plugins code management features
The admin setting updateautodeploy no longer exists. The two existing
config.php flags $CFG->disableupdateautodeploy and
$CFG->disableonclickaddoninstall merged into a single one.
2015-10-10 09:11:19 +02:00
Mark Nelson
6920d3904c MDL-46455 restore: added restore support for the 'objectid' in events 2015-10-09 16:23:09 -07:00
Damyon Wiese
51311962c4 MDL-46455 backup: Keep external database logstore code self-contained.
General backup/restore does not need to handle external data sources natively - so
any changes needed to achieve this should be contained to the plugin that needs it.
2015-10-09 16:23:09 -07:00
Mark Nelson
bcfa51ca41 MDL-46455 logstore_database: added backup/restore support 2015-10-09 16:23:09 -07:00
Eloy Lafuente (stronk7)
ea6c56437a MDL-46455 restore: Implement restore of standard logstore
Using standard subplugin support, this commits implements
the restore of logstore subplugins in general and the
standard logstore is particular. Notes:

- TODO: Decide about these 2 pending issues:

1) Some logs are already created (events fired) by the restore process itself. Every time
   an API is used and it fires events... corresponding (and actual!)
   logs are created. We need to prevent restore to duplicate them (or,
   alternatively, stop firing events when restore is happening).

2) There are 2 pieces of information in the logs that, right now, can
   not be restored, because the process does not know enough to be able
   to remap that information to its new counterparts. We are talking
   about objectid and other columns. So we need to specify, in some way
   understandable by restore, to which existing mappings they correspond
   to.
2015-10-09 16:23:09 -07:00
Eloy Lafuente (stronk7)
73c2a35420 MDL-46455 backup: Implement backup of standard logstore
Using standard subplugin support, this commit implements
the backup of logstore subplugins in general and the
standard logstore in particular. Notes:

- Uses a custom final element (base64_encode_final_element) to
  support the storage of serialized 'other' information in logs.
- Organization: Instead of directly extending backup_subplugin,
  every logstore extends backup_tool_log_logstore_subplugin just
  in case any shared code is needed in the future.
- Implements both course and activity logs, sharing the structure
  completely (both are based in contextid to pick the target
  information, from database or whatever other logstores use).
2015-10-09 16:23:09 -07:00
David Mudrák
4fff948910 MDL-49329 admin: Convert install plugins tool to use new APIs
Most of the functionality provided by this tool (typically the
validation and actual deployment of the plugin package) has been moved
to the core level. So this is becoming just a thin wrapper and user
interface for installing new plugins via the administration UI.

Also fixes MDL-49600 as we no longer keep the unzipped contents of the
packages in the persistent temp directories.
2015-10-09 09:50:46 +02:00
David Mudrák
3bca7dbfa6 MDL-49329 admin: Get rid of mdeploy and \core\update\deployer class
The mdeploy.php standalone script (used to download and unzip plugins
into the dirroot) and the \core\update\deployer class (as a
communication bridge between the core and the mdeploy.php) was
originally designed and implemented with the assumption that it would be
eventually used for updating the Moodle core itself, too. Therefore it
was written as standalone utility without dependency on the Moodle core
libraries.

However, it never happened and there is no real demand for that. So now
there is no need to have and maintain a completely parallel solution for
common things like fetching and unzipping plugin ZIPs.

Additional reasoning for mdeploy.php was that the core is not very
reliable during the core upgrade and we could run into various troubles.
This does not seem to be that bad. We rely on a lot of core
functionality (such as output rendering, DB access etc) and plugins
deployment seems to work well (and better) with common core libraries.

So long mdeploy, and thanks for all the hard work you did for us.
2015-10-08 23:32:04 +02:00
David Mudrák
f2d8ed45e3 MDL-49329 admin: Introduce new \core\update\validator class
This is not really new class. Originally, the validator was implemented
in the scope of the tool_installaddon plugin. But we need its features
in other parts at the core level (e.g. during the upgrade to validate
available missing dependencies or available updates). Looking back, it
was a mistake to have it implemented at the plugin level rather than the
core level.

So this patch moves the tool_installaddon_validator class to
\core\update\validator class, together with associated unit tests,
fixture files and strings. There were changes made in the
tool_installaddon to make use of this new class instead of the old one.

This is a great step towards the bright future, hopefully there won't be
many regressions.

AMOS BEGIN
 MOV [validationmsg_componentmatch,tool_installaddon],[validationmsg_componentmatch,core_plugin]
 MOV [validationmsg_componentmismatchname,tool_installaddon],[validationmsg_componentmismatchname,core_plugin]
 MOV [validationmsg_componentmismatchname_help,tool_installaddon],[validationmsg_componentmismatchname_help,core_plugin]
 MOV [validationmsg_componentmismatchname_info,tool_installaddon],[validationmsg_componentmismatchname_info,core_plugin]
 MOV [validationmsg_componentmismatchtype,tool_installaddon],[validationmsg_componentmismatchtype,core_plugin]
 MOV [validationmsg_componentmismatchtype_info,tool_installaddon],[validationmsg_componentmismatchtype_info,core_plugin]
 MOV [validationmsg_filenotexists,tool_installaddon],[validationmsg_filenotexists,core_plugin]
 MOV [validationmsg_filesnumber,tool_installaddon],[validationmsg_filesnumber,core_plugin]
 MOV [validationmsg_filestatus,tool_installaddon],[validationmsg_filestatus,core_plugin]
 MOV [validationmsg_filestatus_info,tool_installaddon],[validationmsg_filestatus_info,core_plugin]
 MOV [validationmsg_foundlangfile,tool_installaddon],[validationmsg_foundlangfile,core_plugin]
 MOV [validationmsg_maturity,tool_installaddon],[validationmsg_maturity,core_plugin]
 MOV [validationmsg_maturity_help,tool_installaddon],[validationmsg_maturity_help,core_plugin]
 MOV [validationmsg_missingcomponent,tool_installaddon],[validationmsg_missingcomponent,core_plugin]
 MOV [validationmsg_missingcomponent_help,tool_installaddon],[validationmsg_missingcomponent_help,core_plugin]
 MOV [validationmsg_missingcomponent_link,tool_installaddon],[validationmsg_missingcomponent_link,core_plugin]
 MOV [validationmsg_missingexpectedlangenfile,tool_installaddon],[validationmsg_missingexpectedlangenfile,core_plugin]
 MOV [validationmsg_missingexpectedlangenfile_info,tool_installaddon],[validationmsg_missingexpectedlangenfile_info,core_plugin]
 MOV [validationmsg_missinglangenfile,tool_installaddon],[validationmsg_missinglangenfile,core_plugin]
 MOV [validationmsg_missinglangenfolder,tool_installaddon],[validationmsg_missinglangenfolder,core_plugin]
 MOV [validationmsg_missingversion,tool_installaddon],[validationmsg_missingversion,core_plugin]
 MOV [validationmsg_missingversionphp,tool_installaddon],[validationmsg_missingversionphp,core_plugin]
 MOV [validationmsg_multiplelangenfiles,tool_installaddon],[validationmsg_multiplelangenfiles,core_plugin]
 MOV [validationmsg_onedir,tool_installaddon],[validationmsg_onedir,core_plugin]
 MOV [validationmsg_onedir_help,tool_installaddon],[validationmsg_onedir_help,core_plugin]
 MOV [validationmsg_pathwritable,tool_installaddon],[validationmsg_pathwritable,core_plugin]
 MOV [validationmsg_pluginversion,tool_installaddon],[validationmsg_pluginversion,core_plugin]
 MOV [validationmsg_release,tool_installaddon],[validationmsg_release,core_plugin]
 MOV [validationmsg_requiresmoodle,tool_installaddon],[validationmsg_requiresmoodle,core_plugin]
 MOV [validationmsg_rootdir,tool_installaddon],[validationmsg_rootdir,core_plugin]
 MOV [validationmsg_rootdir_help,tool_installaddon],[validationmsg_rootdir_help,core_plugin]
 MOV [validationmsg_rootdirinvalid,tool_installaddon],[validationmsg_rootdirinvalid,core_plugin]
 MOV [validationmsg_rootdirinvalid_help,tool_installaddon],[validationmsg_rootdirinvalid_help,core_plugin]
 MOV [validationmsg_targetexists,tool_installaddon],[validationmsg_targetexists,core_plugin]
 MOV [validationmsg_targetexists_help,tool_installaddon],[validationmsg_targetexists_help,core_plugin]
 MOV [validationmsg_unknowntype,tool_installaddon],[validationmsg_unknowntype,core_plugin]
 MOV [validationmsg_versionphpsyntax,tool_installaddon],[validationmsg_versionphpsyntax,core_plugin]
 MOV [validationmsglevel_debug,tool_installaddon],[validationmsglevel_debug,core_plugin]
 MOV [validationmsglevel_error,tool_installaddon],[validationmsglevel_error,core_plugin]
 MOV [validationmsglevel_info,tool_installaddon],[validationmsglevel_info,core_plugin]
 MOV [validationmsglevel_warning,tool_installaddon],[validationmsglevel_warning,core_plugin]
AMOS END
2015-10-08 23:32:03 +02:00
David Mudrák
48900324b3 MDL-49329 admin: Introduce new \core\update\api client class
The purpose of this class is to provide a general client for all APIs
available at https://download.moodle.org/api/ (e.g. available updates,
plugin info, plugins list etc). Currently, fetching data from this API
is done separately at several places. This leads to code duplication and
harder maintenance (I know it well).

Additionally, the existing client was implemented as
tool_installaddon_pluginfo_client in the admin/tool/installaddon/ scope.
I will soon need to use the same functionality in the
core_plugin_manager and it would hurt my karma if the core was depending
on a class provided by a admin tool plugin (even if it is standard one).

So, there is new \core\update\api client implementing the version 1.3 of
the pluginfo API. There is a TODO note left for remaining services.
2015-10-08 23:32:03 +02:00
Mark Nielsen
aff1db055f MDL-51632 tool_generator: Print URL of the generated course 2015-10-01 11:03:12 -07:00
rajesh Taneja
267033a979 MDL-50940 behat: Added support for field matching with xpath 2015-09-24 13:00:15 +08:00
Damyon Wiese
28de777199 MDL-51222 Javascript: Trigger events for filters on DOM insertion
When nodes are added to the dom, they may need to be re-processed by a JS based
filter. To do this we need to trigger the legacy YUI event filter-content-updated.

To make this easier I added some wrappers to template that will insert the node, run any
JS and trigger the event.

I also changed existing yui code to call the amd function to trigger the event. This way
all jquery and yui listeners will always be notified.
2015-09-22 15:40:51 +08:00
Dan Poltawski
f3164da6cf Merge branch 'MDL-51330-master' of https://github.com/sammarshallou/moodle 2015-09-21 12:10:35 +01:00
Marina Glancy
70fb46c87f MDL-51427 user: correctly use strings for phone1 and phone2
Thanks to Olumuyiwa Taiwo for original patch

AMOS BEGIN
  CPY [phone,core],[phone1,core]
AMOS END
2015-09-16 13:37:46 +08:00
David Monllao
742548e251 Merge branch 'wip-mdl-51101' of git://github.com/rajeshtaneja/moodle 2015-09-14 16:18:01 +08:00
Andrew Nicols
ac43dc23e4 Merge branch 'MDL-50783-master' of git://github.com/damyon/moodle 2015-09-14 15:52:42 +08:00
Damyon Wiese
ba224fb42c MDL-50783 Ajax: Configure how to call a webservice through db/service.php
Now the db/service.php array can contain these extra keys to provide information
on how a webservice may be called:

    'ajax' => true (Default is false)

Replaces the xx_is_allowed_from_ajax callback.

    'loginrequired' => false (Default is true)

Means that this webservice can be called through lib/ajax/service-nosession.php
which sets NO_MOODLE_COOKIES to true (faster). This is only safe for webservices returning
static public data (e.g. get_string).
2015-09-14 15:10:21 +08:00
Mark Nelson
53914e4465 MDL-51051 core_grades: 'Categories and items' => 'Gradebook setup' 2015-09-14 08:23:32 +08:00
Rajesh Taneja
d8ada0f19b MDL-51101 behat: Removed old behat steps checking feature
This was introduced when there were no features
testing all the steps. Now we have all use-cases
so removing this feature file
2015-09-10 14:43:59 +08:00
sam marshall
b9dba4e3aa MDL-51330 Cron: In log, scheduled tasks don't show component 2015-09-07 18:40:05 +01:00
Eloy Lafuente (stronk7)
10006e8ff9 Merge branch 'MDL-48494-master-component' of git://github.com/mudrd8mz/moodle 2015-09-02 00:32:13 +02:00
Eloy Lafuente (stronk7)
7cc3cf6fc0 Merge branch 'MDL-43896-master-modulesyntax' of git://github.com/mudrd8mz/moodle 2015-09-02 00:30:33 +02:00
David Monllao
1652309d02 Merge branch 'MDL-51109-master' of git://github.com/danpoltawski/moodle 2015-09-01 18:31:26 +08:00
Dan Poltawski
a6e9c23016 MDL-51109 task: more debug info for failed scheduled tasks 2015-09-01 10:59:55 +01:00
David Mudrák
033761fe9b MDL-48494 admin: Fail validation of plugins with no component declared 2015-08-31 10:01:34 +02:00
David Mudrák
f5f5a60ac9 MDL-43896 admin: Fail validation of plugins with $module in version.php 2015-08-31 09:57:50 +02:00
David Monllao
5d98022e81 Merge branch 'MDL-51084-master' of git://github.com/marinaglancy/moodle 2015-08-31 12:54:49 +08:00
Marina Glancy
bdead9b5c7 MDL-51084 tool_customlang: return to the same page after submit 2015-08-28 16:20:03 +08:00
David Mudrák
f729af1609 MDL-51148 tool_langimport: Use the amended string in Behat test 2015-08-26 17:03:36 +02:00
Helen Foster
ce2c0f3a74 MDL-51148 lang: Merge English strings from the en_fix language pack 2015-08-26 16:46:43 +02:00
David Monllao
9502083292 MDL-49280 auth: Rewording duplicate emails setting
From allowuserstoshareemailaddresses to allowaccountssameemail, also
changing lang strings.
2015-08-20 12:56:11 +08:00
Dan Poltawski
cfeadc66b0 Merge branch 'MDL-49280-m' of https://github.com/micaherne/moodle 2015-08-17 15:03:59 +01:00
David Monllao
fd76204a8b Merge branch 'MDL-51100-master' of git://github.com/andrewnicols/moodle 2015-08-17 08:50:49 +08:00