Commit Graph

2469 Commits

Author SHA1 Message Date
David Mudrák af96f120e9 MDL-38509 Add ability to install add-ons from the remote repository
There is a new hook in the index.php file. If valid HTTP parameter
installaddonrequest is detected, the installer asks the administrator to
confirm the request.

If confirmed, the installer calls download.moodle.org/api/1.2/pluginfo.php
service to get information about the given plugin version. The essential
data are the URL of the ZIP to download and the MD5 hash of the ZIP.
These data must be fetched via HTTPS to protect against MiM attack.

If the ZIP is downloaded and the MD5 content hash is correct, the user
is redirected to the previously implemented ZIP validation page, as if
the ZIP was uploaded manually.

The valid format of the installaddonrequest is documented via the
test_decode_remote_request() unit test method.
2013-03-29 00:16:06 +01:00
David Mudrák 399ddcc73e MDL-38509 Move the tool node in the navigation
The "Install add-ons" should appear just below Site administration >
Plugins, before the "Activity modules".
2013-03-28 11:54:07 +01:00
David Mudrák b7f6442670 MDL-38509 Fix the communication protocol with Moodle plugins directory
Implements the behaviour currently specified at
http://docs.moodle.org/dev/On-click_add-on_installation
2013-03-28 11:54:06 +01:00
David Mudrák 59a2cc8d38 MDL-38509 Add the script that finally deploys the validated ZIP contents 2013-03-28 11:54:06 +01:00
David Mudrák a143984a36 MDL-38509 Add strings for the new admin tool 2013-03-28 11:54:06 +01:00
David Mudrák cbd125e85d MDL-38509 Implement the ZIP package validation page
The script validate.php expects a ZIP file stored in a temporary
location. It extracts the ZIP (optionally renaming the root directory)
and executes the validator. Then it renders the validator log messages
and continue buttons.
2013-03-28 11:54:06 +01:00
David Mudrák 07083b230b MDL-38509 Add new tool_installaddon_installer::extract_installfromzip_file() method 2013-03-28 11:54:06 +01:00
David Mudrák 585b64a607 MDL-38509 Save uploaded ZIP into a temporary location and redirect to validator 2013-03-28 11:54:06 +01:00
David Mudrák 30bec5ba8d MDL-38509 Add new tool_installaddon_installer::get_plugintype_root() method 2013-03-28 11:54:06 +01:00
David Mudrák a4fcf56f0a MDL-38509 Implement the plugin ZIP package validator
The validator code contains (modified) fragments of the
local_plugins_archive_validator class copyrighted by Marina Glancy that
is part of the local_plugins plugin. It operates over an extracted
copy of the ZIP file.
2013-03-28 11:54:06 +01:00
David Mudrák ddab904ba8 MDL-38509 Check for writable plugin type location in install from ZIP form
Standard mform validation is implemented as well as progressively
enhanced AJAX version.
2013-03-28 11:54:05 +01:00
David Mudrák 0056f2a37b MDL-38509 Initial version of the new admin tool to install add-ons 2013-03-28 11:54:05 +01:00
David Monllao 28435f1a64 MDL-38689 behat: Allowing more than one selector type argument
Regex's placeholders can not be repeated, if
there are definitions that have more than one
selector type of the same kind it would not
be displayed like that in the steps definitions
list UI
2013-03-28 14:41:41 +08:00
Eloy Lafuente (stronk7) 2477bb29cc Merge branch 'MDL-38531_master' of git://github.com/dmonllao/moodle 2013-03-27 00:46:05 +01:00
David Monllao 355a2c2c25 MDL-38524 behat: Add fake jsrev and themerev
The behat admin tool does not use moodle database
as it runs before anything else, it should set
CFG->jsrev and CFG->themerev as they are required.
2013-03-21 16:34:55 +08:00
David Monllao 371b7fc397 MDL-38414_master behat: Changing expand fieldsets test to forum form 2013-03-21 10:42:24 +08:00
David Monllao 25919739fd MDL-38364 phpunit: PHPUnit autoload uses capital A 2013-03-20 16:02:40 +08:00
Eloy Lafuente (stronk7) 6a32219c84 Merge branch 'w12_MDL-38364_m25_phpunitloading' of git://github.com/skodak/moodle 2013-03-20 00:17:35 +01:00
David Monllao 1e63755fb5 MDL-38531 behat: Replacing composer install for composer update 2013-03-19 16:45:58 +08:00
Petr Škoda 94388d18ca MDL-38364 rework PHPUnit autoloading
This is related to BC incompatibility introduced in https://github.com/sebastianbergmann/phpunit/issues/848
2013-03-17 19:54:55 +01:00
David Mudrák 56aee7c2f6 MDL-38497 Fix invalid $ADMIN->add() calls
As the admin_category::add() method now checks for the third parameter,
couple of typos were detected in the code. Additional parameters passed
to the add() method were probably a mistake, a relict or a typo.

Note that the typo in admin/tool/unsuproles/settings.php had actually
significant impact on the functionality as the array with required
capabilities was not actually passed to the admin_externalpage
constructor as intended.
2013-03-15 01:00:29 +01:00
Damyon Wiese 61cd50618a Merge branch 'MDL-38184_master' of git://github.com/dmonllao/moodle 2013-03-12 16:35:19 +08:00
Eloy Lafuente (stronk7) 8aa0a1423b Merge branch 'MDL-38307_master' of git://github.com/dmonllao/moodle 2013-03-12 00:50:50 +01:00
David Monllao 37652a9cb9 MDL-38352 behat: Updating tests
According to non-escaped double quotes
in TableNodes. Also refactoring previous
test affected by the issue.
2013-03-11 12:52:13 +08:00
David Monllao bceb65ee2d MDL-38307 behat: Remove notices 2013-03-08 12:29:59 +08:00
David Monllao bd21f796cb MDL-38184 behat: Tests for filepicker steps 2013-03-08 11:57:54 +08:00
David Monllao 5ecb87a9a2 MDL-38352 behat: Updating tests
According to latest language strings
changes
2013-03-07 13:56:49 +08:00
Eloy Lafuente (stronk7) 641577eb32 Merge branch 'MDL-38352-en_fix' of git://github.com/mudrd8mz/moodle 2013-03-06 17:26:37 +01:00
Helen Foster ca084ef149 MDL-38352 Merge English strings from the en_fix language pack 2013-03-06 16:44:39 +01:00
Eloy Lafuente (stronk7) 88906d068d Merge branch 'MDL-37958_master' of git://github.com/dmonllao/moodle 2013-03-05 19:28:14 +01:00
David Monllao 6fe3986dec MDL-38007 behat: Refining error texts
Also removing a couple of silly notices
2013-03-05 16:52:48 +08:00
Damyon Wiese d0eac6f639 Merge branch 'MDL-38178_master' of git://github.com/dmonllao/moodle 2013-03-05 15:10:52 +08:00
Aparup Banerjee c0da001c49 Merge branch 'MDL-38025_master' of git://github.com/dmonllao/moodle 2013-03-05 14:43:46 +08:00
David Monllao 2b6287b744 MDL-38178 behat: New tests for fieldsets expansion 2013-03-05 14:41:54 +08:00
Aparup Banerjee 212e5ee909 Merge branch 'MDL-38007_master' of git://github.com/dmonllao/moodle 2013-03-05 14:37:05 +08:00
David Monllao d636a3e6cd MDL-38026 behat: New tests 2013-03-01 17:34:39 +08:00
David Monllao 46ac40cd0b MDL-38025 behat: Compliant with moodlechecker and codechecker 2013-03-01 16:07:04 +08:00
David Monllao 80e4150615 MDL-38025 behat: Updating tests according to modified steps 2013-03-01 16:06:23 +08:00
David Monllao 4092397794 MDL-38025 behat: Adding generic manipulation methods
Also required modifications in the affected
steps definitions
2013-03-01 16:06:15 +08:00
David Monllao 5f470b28bf MDL-38025 behat: Replacing selector-based steps by human-friendly options 2013-03-01 15:24:37 +08:00
David Monllao ac41f878da MDL-38007 behat: Adding new script using util.php 2013-03-01 10:50:22 +08:00
David Monllao fa7e4e2b6a MDL-38007 behat: Changing check_behat_setup interface 2013-03-01 10:44:31 +08:00
David Monllao b9d551e17d MDL-37958 behat: Tests for permissions management 2013-03-01 09:52:10 +08:00
Andrew Robert Nicols 08b196e265 MDL-36171 Administration Skip replace in the log table 2013-02-28 19:44:42 +00:00
Dan Poltawski 7e94bdcca1 Merge branch 'MDL-38009_master' of git://github.com/dmonllao/moodle 2013-02-19 11:34:07 +08:00
David Monllao ee7447a9f4 MDL-37858 behat: Testing the step arguments replacements 2013-02-15 13:38:14 +08:00
David Monllao a3b4d42b45 MDL-38009 behat: Reset cachedir and tempdir 2013-02-14 16:28:05 +08:00
Damyon Wiese 6e59159387 Merge branch 'MDL-37750_master-add-seconds' of git://github.com/dmonllao/moodle 2013-02-13 15:04:51 +08:00
David Monllao cd65dc3220 MDL-37750 behat: More time for AJAX-related actions
When we want to assert against data coming
from an AJAX request with 1 second we don't
have enough time to ensure the elements are
loaded
2013-02-13 13:19:56 +08:00
Damyon Wiese 147f592742 Merge branch 'MDL-37873_master' of git://github.com/dmonllao/moodle
Conflicts:
	course/tests/behat/add_activities.feature
2013-02-12 14:48:40 +08:00