Commit Graph

532 Commits

Author SHA1 Message Date
tunele
f029401b36 MDL-55083 admin: provide friendly error in case phpxml is missing 2016-07-12 23:35:15 +02:00
Eloy Lafuente (stronk7)
ae96cf6246 MDL-53019 php: bump all harcoded versions to new 5.6.5 requirement
Moodle 3.2 and up will require PHP >= 5.6.5. Hopefully some day we'll
have this centralized with MDL-39007, just it's not done yet.

Thanks to Stephen Bourget for raising this!
2016-07-05 01:50:43 +02:00
David Monllao
356e235459 MDL-48621 admin: Warning about events 1 API deprecation 2016-01-19 15:19:13 +08:00
David Mudrák
30c264211e MDL-49329 admin: Fix reported coding style warnings 2015-10-10 09:15:27 +02:00
David Mudrák
aa1d100c2d MDL-49329 admin: Fix checking for available updates
This was a regression of my recent improvement of rendering the "Check
for updates" button. There is now unified parameter ?fetchupdates=1 that
can be used on either admin/index.php or admin/plugins.php, so that we
can use a common UI widget for both locations (without the need to pass
the URL explicitly).
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
David Mudrák
c20e9ae836 MDL-49329 admin: Add ability to cancel upgrade of the plugin
If there is an available archived zip with the version of the plugin
currently installed, we can use it to cancel/abort the upgrade of the
plugin. This is internally handled as the installation of the archived
zip and goes through all the validation and confirmation.

Additionally, some other parts were improved. Most notably, renderer no
longer decides itself if some installation can be cancelled but it
always asks the controller (plugin manager).

The button for installation was moved to the left so there should be
first buttons to add things, and then buttons to cancel things (which is
common in normal forms).
2015-10-09 23:37:32 +02:00
David Mudrák
4d7528f9bc MDL-49329 admin: Require confirmation before cancelling plugin install 2015-10-09 09:50:46 +02:00
David Mudrák
2d00be61f1 MDL-49329 admin: Make plugin manager able to install from local zips too
The plugin manager's method install_remote_plugins() has been changed to
install_plugins() and it is now able to install plugins from the
provided list of locally available ZIP files, too. This is used by the
Install plugins admin tool.
2015-10-09 09:50:46 +02:00
David Mudrák
531381f914 MDL-49329 admin: Support plugins installation during upgrade
The plugins check screen (displayed during core upgrade and/or plugins
upgrade) now supports installation of remote plugins. This includes
installation of missing dependencies (both single and bulk mode) and
installation of available updates (both single and bulk mode).

All the HTTP query parameters supported by admin/index.php are now
explicitly enlisted. Previously, the \core\update\deployer used
its own additional parameters (and was source of some serious problems
in the past).

The implementation uses the plugin manager as the controller and
provides an unified interface for installing any remote plugin or
plugins (be it available update or missing dependency).

As a side effect, we now validate available updates which was not
happening before.
2015-10-09 09:50:45 +02:00
David Mudrák
9137a89a1a MDL-49329 admin: Improve the UI for installing dependencies 2015-10-08 23:32:03 +02:00
David Mudrák
2f29cf6e63 MDL-49329 admin: Add ability to cancel installation of a new plugin
The plugins check screen now provides buttons to cancel installation of
a plugin. Available only for new installations (not upgrades) and for
additional plugins (not standard), given that the web server process has
write access to the plugin folder.

This has also been reported as MDL-48535.

As a part of the patch, there is improved processing of page URLs during
the upgrade. All this dancing around $reload URL is not needed once the
$PAGE->url is properly set to guide the admin on the correct page during
the upgrade process.
2015-10-08 23:32:03 +02:00
David Mudrák
30d8bc5f66 MDL-49329 admin: Do not always load info about available updates
Before this patch, whenever core_plugin_manager::get_plugins() was
called, it always attached info about available updates. But this is
needed only in quite rare cases, such as when the admin is looking at
the Plugins overview and Plugins check screens. There is no need to load
this on other places and for non-admin users.

The patch removes the loading from the method
core_plugin_manager::get_plugins_of_type() and implements lazy loading
directly in the plugininfo classes so that it is loaded only when
\core\plugininfo\base::available_updates() is actually called.
2015-10-08 23:32:02 +02:00
David Mudrák
e9d3c21228 MDL-49329 admin: Fix \core\update\checker::enabled() logic
The method should check against $CFG->disableupdatenotifications and not
$CFG->disableupdateautodeploy. This had to be a copy&paste mistake from
the \core\update\deployer::enabled().

While looking at it, I also fixed couple of places where this method
should and could be used.
2015-10-08 23:32:02 +02:00
David Mudrák
98b32c9e7e MDL-51261 admin: Support upgrade key requirement on the site upgrade
The upgrade key can be defined in the main config.php as
$CFG->upgradekey.  If it is defined there, then its value must be
provided every time the site is being upgraded, regardless the
administrator is logged in or not.
2015-09-24 21:02:33 +02:00
Marina Glancy
336a843391 MDL-50973 admin: do not throw exception on /admin/ 2015-08-01 17:37:24 +08:00
Frederic Massart
ca6f3a8b5f MDL-49911 admin: Prevent notices when updatenotifications is disabled 2015-04-28 10:13:36 +01:00
Petr Skoda
d6e7a63d9a MDL-49684 timezones: rewrite timezone support
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
2015-04-06 13:53:51 +12:00
Andrew Davis
858e92fefe MDL-49164 admin: removed unused registration config setting 2015-03-04 08:50:39 +08:00
Dan Poltawski
d5fcf4b42c MDL-47182 admin: warn about delayed scheduled tasks
Rather than using module cron, use scheduled tasks to work out
if cron has been running recently.

This is not perfect, the admin could disble all tasks, or reschedule
them - but its not complex to compute.
2014-09-16 17:49:23 +01:00
Sam Hemelryk
915140c9b5 MDL-45724 cache: added cache API warnings to the admin notifications page 2014-07-21 09:48:33 +12:00
Sam Hemelryk
12890c57f2 MDL-44974 admin: repositioned call to initialise renderer 2014-05-19 08:41:29 +12:00
Petr Škoda
1a361486a9 MDL-44882 always set maintenance mode on non-cached admin pages
This should resolve all issues with themes during upgrades.
2014-04-06 20:37:55 +08:00
Jetha Chan
3c9535dd94 MDL-44582 installer: added check for php json extension 2014-03-19 21:22:24 +01:00
Eloy Lafuente (stronk7)
e6a6eb7838 Merge branch 'w01_MDL-42797_m27_admin' of https://github.com/skodak/moodle 2014-01-08 02:09:55 +01:00
Petr Škoda
3e5226ab6e MDL-43528 remove all traces of magic quotes hacking from moodle core 2014-01-02 10:15:06 +08:00
Petr Škoda
fc1d0e822d MDL-42797 require real user login on admin page 2014-01-01 15:19:02 +08:00
Petr Škoda
dbe0203ba8 MDL-42931 fix hardcoded PHP version tests for 2.7 2013-12-13 14:04:24 +08:00
Petr Škoda
fc28111316 MDL-42973 fix multiple addon update issues 2013-12-06 09:36:38 +08:00
Petr Škoda
e87214bda7 MDL-42078 multiple uninstall improvements and cleanup
Includes:
* update checker refactored to \core\update\ namespace
* plugininfo classes refactored to \core\plugininfo\ namespace
* plugin_manager renamed to core_plugin_manager
* redirect back to original page after plugin uninstall
* fixed assign subplugin uninstall
* move assign subplugins under the assignment in admin tree
* fixed plugininfo for all question related plugin types
* auth uninstall support
* added missing block dependencies
* added theme uninstall
* subplugin types are following the plugin on plugin overview page
* several performance improvements in plugin manager
* new warnigns when plugininfo are outdated or missing
* multiple fixes and other improvements
2013-10-07 13:10:36 +02:00
Eloy Lafuente (stronk7)
a18daae62b Merge branch 'MDL-41342_master' of git://github.com/dmonllao/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2013-09-25 02:11:51 +02:00
Petr Škoda
d79d5ac276 MDL-31501 rework user session architecture
List of changes:
 * New OOP API using PHP namespace \core\session\.
 * All handlers now update the sessions table consistently.
 * Experimental DB session support in Oracle.
 * Full support for session file handler (filesystem locking required).
 * New option for alternative session directory.
 * Official memcached session handler support.
 * Workaround for memcached version with non-functional gc.
 * Improved security - forced session id regeneration.
 * Improved compatibility with recent PHP releases.
 * Fixed borked CSS during install in debug mode.
 * Switched to file based sessions in new installs.
 * DB session setting disappears if DB does not support sessions.
 * DB session setting disappears if session handler specified in config.php.
 * Fast purging of sessions used in request only.
 * No legacy distinction -  file, database and memcached support the same functionality.
 * Session handler name included in performance info.
 * Fixed user_loggedin and user_loggedout event triggering.
 * Other minor bugfixing and improvements.
 * Fixed database session segfault if MUC disposed before $DB.

Limitations:
 * Session access time is now updated right after session start.
 * Support for $CFG->sessionlockloggedinonly was removed.
 * First request does not update userid in sessions table.
 * The timeouts may break badly if server hosting forces PHP.ini session settings.
 * The session GC is a lot slower, we do not rely on external session timeouts.
 * There cannot be any hooks triggered at the session write time.
 * File and memcached handlers do not support session lock acquire timeouts.
 * Some low level PHP session functions can not be used directly in Moodle code.
2013-09-21 13:11:56 +02:00
David Monllao
6e09cf98fa MDL-41342 admin: Adding warning when upgrading a test site 2013-09-19 14:57:53 +08:00
Frederic Massart
3274c5db89 MDL-41460 core_component: Validate cache against version.php 2013-09-05 14:45:09 +08:00
Petr Škoda
835f58eb7e MDL-41245 fix new addon redirect regression 2013-08-26 07:31:40 +02:00
Petr Škoda
82b1cf00b0 MDL-41245 fix multiple install, upgrade and uninstallation issues
Includes rework of cache parameter detection on admin/index.php.

Another problem is that uninstall does not leave system in consistent state,
we need to force users to go through upgrade after any type of uninstall.

This fixes also add-on installation redirect and other issues.
2013-08-24 16:08:11 +02:00
Petr Škoda
bf8c71b7fd MDL-40571 work around block editing hacks on admin page 2013-07-12 14:58:57 +02:00
Petr Škoda
c05a50992e MDL-40415 add explicit OPcache support 2013-07-04 19:32:26 +02:00
Sam Hemelryk
b0dd08dd63 MDL-39430 cache: gets purged by force during upgrade and install 2013-05-09 10:42:21 +12:00
Petr Škoda
e2e35e71f9 MDL-39343 disable all caching in install and upgrades
This should resolve all problem on developer machines when switching branches or when restoring previous Moodle databases. It also prevents any potential problems during upgrades such as concurrent DB modification and resolves chicken egg problems in future caching upgrades.
2013-04-30 10:27:34 +02:00
Eloy Lafuente (stronk7)
0fd23b76de MDL-39006 environment: raise all uses of 5.3.2 to 5.3.3 2013-04-07 18:32:15 +02:00
David Mudrák
0a6a344d29 MDL-38509 Add hook for the installaddonrequest into admin/index.php
If the user selects a plugin in Moodle plugins directory to be installed
into their site, Moodle plugins directory will redirect them into their
site's admin/index.php script, providing the installaddonrequest
parameter.

This patch makes sure that only if the user is logged-in as the admin
and the site is fully installed and up-to-date, the add-on installation
request will be dispatched to the tool_installaddon for actual
processing.

We need to store the installaddonrequest value in the $PAGE's URL so
that is is stored in $SESSION->wantsurl in case the user needs to log in
at their site. Thanks to this, the request is dispatched after the user
logs in.
2013-03-29 01:00:16 +01:00
Rajesh Taneja
c22a579bed MDL-38382: Update will show minor number with leading zeros (if any) 2013-03-08 10:14:02 +08:00
Sam Hemelryk
94ef67cf5f MDL-36466 cache: tidy up after review 2012-11-26 08:12:00 +13:00
Sam Hemelryk
3308259062 MDL-36466 cache: disabled caching during installation and upgrade 2012-11-26 08:12:00 +13:00
Petr Škoda
4f73591af3 MDL-36780 add SESSION cleanup to web installer
This might help prevent some SESSION problems at the end
of installation.
2012-11-22 11:29:57 +01:00
David Mudrák
292dbeac9b MDL-35238 Support deployment from yet another plugins check page too 2012-11-08 22:33:07 +01:00
David Mudrák
bcc8397a77 MDL-35238 Handle the update installation request - display the confirmation page 2012-11-08 22:33:06 +01:00
David Mudrák
966bd7852e MDL-34099 Report available updates for plugins at admin/index.php
The Notifications (admin/index.php) page has now information about
available updates for core and eventually plugins, too. Note that the
structure of the available updates array changed. This breaks backward
compatibility for eventual 3rd renderers out there (not expected
though).
2012-11-08 22:33:05 +01:00
Dan Poltawski
0cbeea2b96 Merge branch 'MDL-34455-master-integration' of git://github.com/FMCorz/moodle 2012-07-24 16:01:00 +08:00