Commit graph

1556 commits

Author SHA1 Message Date
Frederic Massart
ee2df1a8b2 MDL-40050 webservice: Remove token from events 2013-10-02 13:00:28 +08:00
Eloy Lafuente (stronk7)
268f4cb503 Merge branch 'MDL-42021-master' of git://github.com/FMCorz/moodle 2013-10-01 21:36:13 +02:00
Eloy Lafuente (stronk7)
94211c02c3 Merge branch 'MDL-40050-master' of git://github.com/FMCorz/moodle 2013-09-30 21:55:41 +02:00
Petr Škoda
6c3ad77ea5 MDL-41176 fix obvious bugs and typos in new user API 2013-09-27 10:33:48 +02:00
Frederic Massart
31e571cdf0 MDL-42021 events: Debug message when objecttable set without an objectid 2013-09-27 14:29:21 +08:00
Eloy Lafuente (stronk7)
18ccaca2e2 Merge branch 'MDL-41726-master-2nd' of git://github.com/FMCorz/moodle
Conflicts:
	lang/en/moodle.php
2013-09-24 23:13:50 +02:00
Eloy Lafuente (stronk7)
161f995849 Merge branch 'w39_MDL-41437_m26_mia' of https://github.com/skodak/moodle
Conflicts:
	admin/auth.php
	lib/db/upgrade.php
	version.php
2013-09-24 20:18:03 +02:00
Frederic Massart
d733a8ccc3 MDL-40050 webservice: Replace add_to_log() with new events 2013-09-24 15:20:18 +08:00
Petr Škoda
de230fd359 MDL-37324 fix phpunit and behat SESSION and USER setup 2013-09-24 08:59:29 +02:00
Sam Hemelryk
c99fcebded Merge branch 'MDL-40048-master' of git://github.com/FMCorz/moodle 2013-09-24 08:51:41 +12:00
Frederic Massart
481753eca6 MDL-40048 events: New abstract event for old 'view all' log 2013-09-23 10:58:28 +08:00
Petr Škoda
bde002b81a MDL-41437 rework plugin_manager caching and version info in blocks and modules
This patch includes:

* version column removed from modules table, now using standard config, this allows decimal version for modules
* version column removed from block table, now using standard config, this allows decimal version for blocks
* module version.php can safely use $plugins instead of module
* new plugin_manager bulk caching, this should help with MUC performance when logged in as admin
* all missing plugins are now in plugin overview (previously only blocks and modules)
* simplified code and improved coding style
* reworked plugin_manager unit tests - now using real plugins instead of mocks
* unit tests now fail if any plugin does not contain proper version.php file
* allow uninstall of deleted filters
2013-09-22 21:25:26 +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
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
Frederic Massart
11b0c8e0e6 MDL-41726 mod_quiz: Replace handlers with observers for group events
This also implements a filtering of the events to be handled when
a course reset has been started.
2013-09-20 12:25:38 +08:00
Ankit Agarwal
0158650f59 MDL-39959 events: Add course module events
Added event course_module_created
Added event course_module_updated
Added event course_module_deleted
2013-09-16 13:42:37 +08:00
Sam Hemelryk
cf13da65e1 Merge branch 'MDL-36316-master' of git://github.com/danpoltawski/moodle 2013-09-16 13:13:41 +12:00
Rajesh Taneja
3bcf6b3cdd MDL-31560 Messages: Added support for noreply and support users
This is used by messaging system for sending/receiving message
to/from noreply or support user. message_send api will now use
core_user class to get noreply or support user and then
send/receive message depending on user state.
2013-09-13 16:13:26 +08:00
Dan Poltawski
378b3eac83 MDL-36316 useragent: Reduce user agent sniffing
* core_useragent: Introduce is_vendor methods to improve readability
  when we are just detecting if a browser is from a vendor, rather than
  the exact version

* Remove uncessary browser version checks when we are just detecting
  vendors - this makes the intention of our sniffing clearer.

* Remove sniffing for browsers which we do not support, grades/ajax/tinymce
  all support modern browsers so there is no need to sniff for them.
2013-09-13 14:25:37 +08:00
Sam Hemelryk
214816fb19 Merge branch 'MDL-40742-master' of git://github.com/ankitagarwal/moodle 2013-09-11 10:13:29 +12:00
Eloy Lafuente (stronk7)
a13f06aec0 Merge branch 'MDL-41619_master' of https://github.com/markn86/moodle 2013-09-10 23:45:20 +02:00
Sam Hemelryk
cde5c4a58e Merge branch 'MDL-41632-master' of git://github.com/FMCorz/moodle 2013-09-11 09:12:32 +12:00
Sam Hemelryk
994009ddfe Merge branch 'MDL-41599-master' of git://github.com/ankitagarwal/moodle 2013-09-11 08:54:26 +12:00
Dan Poltawski
4bdabf5968 Merge branch 'MDL-41565-master' of git://github.com/FMCorz/moodle 2013-09-10 15:21:49 +08:00
Damyon Wiese
1320c3177b Merge branch 'MDL-18375_master' of git://github.com/markn86/moodle 2013-09-09 10:41:12 +08:00
Sam Hemelryk
0b7a2b7bec Merge branch 'MDL-41460-master' of https://github.com/FMCorz/moodle 2013-09-09 08:58:44 +12:00
Frederic Massart
5975d573ab MDL-41632 core_component: All version hash did not consider plugin type 2013-09-06 12:03:51 +08:00
Ankit Agarwal
32dea43930 MDL-40742 blogs: Replace blog_entry_updated with events2
AMOS BEGIN
 MOV [entryupdated,core_blog],[evententryupdated,core_blog]
AMOS END
2013-09-06 11:43:01 +08:00
Mark Nelson
5999e40f01 MDL-41619 events: ensure direct access to event class files is prohibited 2013-09-05 18:43:58 +08:00
Mark Nelson
2f00e1b245 MDL-18375 calendar: huge refactor of the initial patch
1) Moved the calendar types location to a sub-folder in the calendar directory.
2) Removed/moved language strings.
3) Removed calendar types that should be downloaded as plugins.
4) Removed a Non-English language pack for the Gregorian calendar type that
should be downloaded separately.
5) Removed custom files responsible for checking for updates and uninstalling
calendar types, which should be done by core.
6) Removed JS from the calendar_month block as there is no non-JS alternative
provided and the JS written does not make use of the YUI library to ensure
multiple browser support.
7) Removed code from the base class responsible for creating timestamps that
are saved in the DB.
8) Added PHPDocs.

Note: In the original patch we are editing core functions responsible for saving
time in the database in the calendar base class. This is very dangerous, we do
not want to touch these functions as it could cause a complete fubar of the
database. There are places we are forcing the use of the gregorian calendar as
we are passing dates generated by the PHP date function, where as sometimes
we pass dates from usergetdate (which was being overwritten to return the
date specific to the calendar). We can not expect third party modules to
change the calendar type depending on the format they pass to these functions.
2013-09-05 18:30:05 +08:00
Ankit Agarwal
77037e27a5 MDL-41599 events: Set relateduserid instead of userid in blog events 2013-09-05 17:10:34 +08:00
Frederic Massart
3274c5db89 MDL-41460 core_component: Validate cache against version.php 2013-09-05 14:45:09 +08:00
Eloy Lafuente (stronk7)
f875599462 Merge branch 'w36_MDL-41267_m26_toolsubplugins' of https://github.com/skodak/moodle
Conflicts:
	lib/upgrade.txt
2013-09-04 01:08:37 +02:00
Frederic Massart
28f1ff8def MDL-41565 event: Correct inclusion path of observers includefile 2013-09-03 15:54:20 +08:00
Dan Poltawski
5c1ba238d2 Merge branch 'MDL-41440_master' of https://github.com/markn86/moodle 2013-09-03 14:10:02 +08:00
Rajesh Taneja
bb78e249cd MDL-39961 Events: Replace Legacy events - User
This change includes:
* Added user_updated event, replacing old event
* Added user_created event, replacing old event
* Added user_deleted event, replacing old event
* Added user_loggedout event, replacing old event
* Added user_enrolment_created event, replacing old event
* Added user_enrolment_deleted event, replacing old event
* Added user_enrolment_updated event, replacing old event
2013-09-02 16:10:05 +08:00
Petr Škoda
ac2b2713ba MDL-41267 add support for subplugins in admin tools 2013-08-31 11:40:44 +02:00
Mark Nelson
f192414ed8 MDL-41440 event: fixed incorrect treatment of get_string as a class 2013-08-27 17:03:07 +08:00
Damyon Wiese
ad4f3b6ce5 Merge branch 'wip-mdl-41415' of git://github.com/rajeshtaneja/moodle 2013-08-27 16:06:32 +08:00
Damyon Wiese
cbd91e23e9 Merge branch 'wip-MDL-40931-m26' of git://github.com/samhemelryk/moodle
Conflicts:
	version.php
2013-08-27 15:29:49 +08:00
Ankit Agarwal
ac43f96306 MDL-40052 events: Code style fixes 2013-08-27 15:26:38 +08:00
Ankit Agarwal
589748316d MDL-40052 events: Add a base class for content view 2013-08-27 15:22:28 +08:00
Damyon Wiese
92058753ac Merge branch 'MDL-40877-master' of git://github.com/FMCorz/moodle 2013-08-27 12:46:23 +08:00
Rajesh Taneja
ddf05b5e9d MDL-41415 Events: get_string should not use new 2013-08-27 11:36:26 +08:00
Rajesh Taneja
41566267c5 MDL-41415 Events: get_legacy_logdata is protected 2013-08-27 11:36:11 +08:00
Frederic Massart
861b0510e5 MDL-39959: Replace Legacy events - Groups
This combines the following changes:

* Event for group member added
* Event for group member removed
* Event for group created
* Event for grouping created
* Event for group updated
* Event for grouping updated
* Event for group deleted
* Event for grouping deleted
* Adding tests for deleting functions
* Bulk remove of members uses low-level API

    The reason for this is that a bulk event has no value from a logging
    perspective as it is not granular. So now, the API is a bit slower,
    but the information the events contain makes sense, beside this is
    not (and should not be) used very often.

    The reason why the events_trigger_legacy() is kept is because we
    cannot create a new event for this, as we don't encourage developers
    to created bulk events, for the reasons mentioned above.

    I removed the call that gets the user record from the function
    groups_remove_member() as it was not required and only appeared
    to check if the user existed. It appears to be safe not to do
    this check as nothing would fail down the line.

* Bulk unassign of groupings uses low-level API

    As the previous commit, we keep the legacy event for now as it would
    be wrong to create a new event to replace it.

    Also, the code has been changed to call the low-level API to unassign
    groups from groupins, even though at the moment there are no
    events for that function.

* Bulk deletion of groups uses low-level API

    Again, we keep the legacy event because replacing it would force
    us to create a new event that does not make sense. See MDL-41312.

* Bulk deleting of groupings uses low-level API
* Asserting legacy event name in unit tests
* Minor SQL query and code improvements
2013-08-26 15:03:17 +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 af62237d0e.
This reverts commit 87a4194fdc.
This reverts commit b2c66eb60c.

Conflicts:

	version.php
2013-08-22 13:31:25 +08:00
Frederic Massart
38d6fbfa87 MDL-41040 event: Level property uses defined event constants 2013-08-21 10:04:02 +08:00
Marina Glancy
e542bc26d9 Merge branch 'wip-mdl-40042' of git://github.com/rajeshtaneja/moodle 2013-08-21 10:02:41 +10:00