224 Commits

Author SHA1 Message Date
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
Petr Škoda
81881cb9d6 MDL-41787 make sure maturity constants are defined before they are used in core_component class 2013-09-20 17:22:20 +02:00
Marina Glancy
64501eeec9 MDL-41436 Remove DB fields course.modinfo and sectioncache 2013-09-10 14:11:52 +10:00
Damyon Wiese
437b86f0ad MDL-18275 Calendar types: Add a major version + redirect for ci server fail. 2013-09-09 11:25:02 +08:00
Sam Hemelryk
c3d2fbf9cd MDL-40931 useragent: separated user agent functionality into a lib
This commit moves user agent related functionality out of several
core libraries and combines it into a more manageable class.
All core uses are converted and functions deprecated in favor
of the new class.
2013-08-26 13:59:19 +12:00
Damyon Wiese
9ead041cdb Revert "MDL-40931 useragent: separated user agent functionality into a lib"
This reverts commit af62237d0e6e27df868d50848f7098f57c103f86.
This reverts commit 87a4194fdcd322d4aee5a6207b55a8da0864da94.
This reverts commit b2c66eb60c01805f26cc791966f05be52af7b406.

Conflicts:

	version.php
2013-08-22 13:31:25 +08:00
Damyon Wiese
89959d9ad1 Merge branch 'wip-MDL-40931-m26' of git://github.com/samhemelryk/moodle 2013-08-20 16:45:33 +08:00
Dan Poltawski
6f44a73369 Merge branch 'w33_MDL-39474_m26_debugdeveloper' of https://github.com/skodak/moodle
Conflicts:
	lib/upgrade.txt
2013-08-20 11:42:03 +08:00
Sam Hemelryk
af62237d0e MDL-40931 useragent: separated user agent functionality into a lib
This commit moves user agent related functionality out of several
core libraries and combines it into a more manageable class.
All core uses are converted and functions deprecated in favor
of the new class.
2013-08-16 09:02:01 +12:00
Dan Poltawski
178d901cf9 MDL-41019 bump redirect_if_major_upgrade_required() 2013-08-14 14:24:30 +08:00
Sam Hemelryk
0c0efd71a1 Merge branch 'MDL-38191-master' of git://github.com/sammarshallou/moodle 2013-08-13 10:26:26 +12:00
Petr Škoda
96f81ea385 MDL-39474 introduce $CFG->debugdeveloper and cleanup $CFG init 2013-08-12 13:01:47 +02:00
Petr Škoda
598a82c950 MDL-41019 improve language caching
Includes:
* no more hacky reloads, everything is written only once and kept until cache reset
* lang menu list is now cached in MUC
* both string and lang menu caches are compatible with local caches on cluster nodes
* config-dist.php cleanup
2013-08-11 09:52:34 +02:00
sam marshall
975f8442c9 MDL-38191 Backup/restore: Should use large memory limit 2013-08-09 11:01:14 +01:00
Sam Hemelryk
d4519366f4 Merge branch 'MDL-40934-master' of git://github.com/FMCorz/moodle
Conflicts:
	version.php
2013-08-07 14:01:51 +12:00
Frederic Massart
4d0752069e MDL-40934 core: Bump version requiring major upgrade 2013-08-07 09:37:50 +08:00
Dan Poltawski
62ea0cb846 Merge branch 'wip-MDL-40842-m26' of git://github.com/samhemelryk/moodle 2013-07-29 13:48:19 +08:00
Sam Hemelryk
3e76c7fa68 MDL-40842 behat: improved exception + debugging detection 2013-07-29 10:51:55 +12:00
Petr Škoda
e7451fb5bd MDL-40891 work around make_writable_directory() race condition
You will still get a "PHP Warning:  mkdir(): File exists" but that should not cause any problems on production sites.
2013-07-26 20:27:36 +02:00
Frederic Massart
a60bc9a35b MDL-32746 libraries: Upgrade redirect for major version
Due to the newly introduced event user_loggedin, the upgrade
could not be reached as the event class was not found during login.
To remedy this, we need to force the upgrade before login.
2013-07-24 09:30:15 +08:00
Eloy Lafuente (stronk7)
154bc6b240 Merge branch 'w30_MDL-40642_m26_umask' of https://github.com/skodak/moodle 2013-07-23 23:42:11 +02:00
Petr Škoda
85b3806114 MDL-40545 add $CFG->localcachedir intended for local caching on cluster nodes 2013-07-20 14:10:25 +02:00
Petr Škoda
eb459f7192 MDL-40642 set more restrictive umask and use proper permission for new dirs and files 2013-07-19 09:18:44 +02:00
Damyon Wiese
924ea4845a Merge branch 'wip-MDL-40638-master' of git://github.com/abgreeve/moodle
Conflicts:
	version.php
2013-07-16 15:14:49 +08:00
Adrian Greeve
7809d1557c MDL-40638 - Administration: Update of version number to avoid alternate name fields breaking before upgrade.
With the alteration of the user table to include the new alternate name fields anyone
upgrading from one version to another will receive errors until they run the upgrade.
Forcing a redirect if major version upgrade will bypass this issue.
2013-07-15 15:49:26 +08:00
Mark Nelson
6c89d4e1c0 MDL-40431 libraries: deprecated get_context_url() 2013-07-11 13:23:45 +08:00
Sam Hemelryk
ccae3a612d Merge branch 'w28_MDL-40537_m26_majorupgrade' of https://github.com/skodak/moodle 2013-07-10 10:43:28 +12:00
Rajesh Taneja
7f5b51c4e6 MDL-40404 Libraries: Deprecated get_parent_contextid() 2013-07-09 14:33:21 +08:00
Petr Škoda
c118e4c112 MDL-40537 mark new major upgrade version
This is required for cache invalidation of classloader class map.
2013-07-07 14:34:31 +02:00
Damyon Wiese
1d0c0c4a23 MDL-38592: Add major version redirect for settings used frontpage. 2013-04-18 16:42:33 +08:00
Marina Glancy
4202471a36 MDL-38541 Make sure course cache is cleared properly during upgrade
- Core upgrade MUST NOT call rebuild_course_cache() at all - update DB directly instead
- Plugins MUST call rebuild_course_cache(.., TRUE) for clearing the course cache and can not update DB directly
- Plugins MUST NOT call rebuild_course_cache() unless for clearing the cache
- Created function upgrade_ensure_not_running() to be included in other functions that can not be used during upgrade
2013-04-09 11:31:18 +10:00
Petr Škoda
f22f1cafd2 MDL-38627 force byteserving abort on error
It is weird, but Chrome PDF viewer keeps retrying byteserving requests for anything but 407. This commit also normalises response headers on all error pages.
2013-03-25 16:06:02 +01:00
Mark Nielsen
8d220cb552 MDL-36901: Remove system paths from exceptions
Replaces any server paths, like dataroot, with a token
in exception messages and debug info.
2013-03-04 00:17:01 +01:00
Dan Poltawski
e7054f06e3 MDL-37455 - redirect for mod_folder course breaking changes 2013-02-26 10:06:29 +08:00
Eloy Lafuente (stronk7)
ef1a4d20d4 Merge branch 'MDL-37919-phpunit-exception' of git://github.com/mudrd8mz/moodle 2013-02-12 01:07:43 +01:00
Damyon Wiese
1e7db9fee8 Merge branch 'master_MDL-35332' of git://github.com/totara/moodle
Conflicts:
	lib/tests/moodlelib_test.php
	version.php
2013-02-11 14:51:11 +08:00
Simon Coggins
ec2d8ceb88 MDL-35332 lib: Improve security of hashed passwords 2013-02-09 06:47:57 +13:00
David Mudrák
8d37c9b2d9 MDL-37919 Let PHPUnit display the content of $a even if the error string is not found 2013-02-08 01:25:31 +01:00
Petr Škoda
48e114a517 MDL-37596 optionally enable CLI maintenance later 2013-01-28 14:23:21 +01:00
Sam Hemelryk
007bfe8b4d MDL-25290 conversion: Converted config to use MUC 2013-01-07 19:22:40 +13:00
Sam Hemelryk
31d5b2dd69 MDL-29805 redirect: added check REQUIRE_CORRECT_ACCESS is true 2012-12-12 09:46:45 +13:00
Jerome Mouneyrac
e9e567f33c MDL-29805 add REQUIRE_CORRECT_ACCESS define + return error code when AJAX_SCRIPT fails 2012-12-04 11:47:19 +08:00
Sam Hemelryk
7383a7e2a0 MDL-36466 cache: improved handling of exceptions during initialisation. 2012-11-26 08:11:59 +13:00
Dan Poltawski
f45ecda7f9 Merge branch 'w47_MDL-36229_m24_crawl' of git://github.com/skodak/moodle 2012-11-20 12:48:22 +08:00
Petr Škoda
0b37fe466a MDL-36682 remove old unused shared memory caching support 2012-11-18 14:46:31 +01:00
Petr Škoda
f28af1dd13 MDL-36229 whitelist more search engines and add tests 2012-11-17 10:37:51 +01:00
Petr Škoda
398862b92b MDL-36487 send IE standards compatibility http headers 2012-11-09 17:27:29 +01:00
Dan Poltawski
825876620b MDL-35768 - increment redirect_if_major_upgrade_required 2012-11-05 14:25:24 +08:00
Ankit Agarwal
d197ea4300 MDL-34549 libraries: Replace get_context_instance_by_id() by context::instance_by_id() 2012-08-24 11:30:10 +08:00
Dan Poltawski
e255439446 MDL-34035 - fix typo in comment
Thanks Sam!
2012-07-04 10:37:47 +08:00