Commit Graph

91 Commits

Author SHA1 Message Date
Marina Glancy 8852faea91 MDL-61876 modules: cm_info::set_content can accept formatted text
Allow modules to apply format_text() on user input before calling cm_info::set_content(). This is useful for
modules that add interactive content (for example, JS enhanced folder tree). Otherwise all javascript would
be removed if $CFG->forceclean is enabled.
2018-05-07 11:27:56 +08:00
Andrew Nicols ada9d0fb69 MDL-61305 modinfo: Add back missing require for course 2018-02-12 10:39:51 +08:00
sam marshall 08ec1b4e47 MDL-61305 Performance: Modinfo cache can get built in parallel
In a busy site it is possible that one user will access the site
while another is building modinfo cache. This can result in the
cache being built several times at once, potentially causing a
performance issue.
2018-02-08 14:45:55 +00:00
Jakob 6a36b8526e MDL-37765 course: Add capability to ignore availability restrictions.
Allow a role to view activities without addressing the restriction rules.
2017-03-27 08:37:27 -07:00
Damyon Wiese 663640f5b3 MDL-40759 icons: convert uses of pix_url to pix_icon
Also change filepicker to use scaled svgs instead of sets of custom pngs. The svgs are taken from font-awesome.
2017-03-17 15:52:17 +08:00
Marina Glancy 8341055eb4 MDL-4782 course: Allow activities in the "stealth" mode
Add field 'visibleoncoursepage' to the course_modules table
Add site-wide setting for turning on stealth mode availability
Add callback for "stealth" mode support in the course formats
Change display of modules/sections availability on the course page
2017-02-14 16:38:05 +08:00
Jake Dallimore 048f909b07 MDL-54751 core: introduce deletion flag for course modules
Created a flag, 'deletioninprogress' on the course_modules table to be
used when deleting course modules and course sections. Modified
modinfolib caches such that, when rebuilt, these caches hide the
relevant modules based on the value of the flag.
2016-11-07 07:41:59 +08:00
Jun Pataleta 7a07d34db8 MDL-54988 core: Final deprecation for lib/modinfolib methods
Final deprecation of the following methods:
- course_modinfo::build_section_cache()
- cm_info::get_deprecated_group_members_only()
- cm_info::is_user_access_restricted_by_group()

Plus throw coding exception for direct calls of the following:
- cm_info::get_url()
- cm_info::get_content()
- cm_info::get_extra_classes()
- cm_info::get_on_click()
- cm_info::get_custom_data()
- cm_info::get_after_link()
- cm_info::get_after_edit_icons()
- cm_info::obtain_dynamic_data()
2016-07-26 00:07:25 +08:00
Russell Smith c1518631e3 MDL-52945 modinfo: Avoid uservisible when module already used. 2016-03-03 16:03:19 +11:00
Dan Poltawski 949c27a026 MDL-27840 course: prevent warnings on half-uninstall mod 2015-12-30 14:12:54 +00:00
Marina Glancy 278b8d18a2 MDL-50892 mod: allow activity to have name '0' 2015-09-11 10:51:52 +08:00
Ankit Agarwal 4d851042eb MDL-44985 libraries: Final deprecation of conditional apis in modinfo 2014-12-10 12:20:37 +05:30
Ankit Agarwal e56e8e3a0e MDL-44985 libraries: Final deprecation of conditional classes and apis 2014-12-10 12:20:37 +05:30
Mark Nelson c62ba9b8ca MDL-47735 core: prevented iteration of 'groupmembersonly'
The course module variable 'groupmembersonly' was removed in 2.8.
2014-10-17 18:23:35 -07:00
Julien Boulen 0556eaa9b0 MDL-46984 core_course: added grouping name for activities with no link 2014-10-03 13:10:01 -07:00
Dan Poltawski 4bcf64b053 Merge branch 'MDL-47240-master' of https://github.com/sammarshallou/moodle 2014-09-23 10:57:00 +01:00
sam marshall eedf5a5a1c MDL-47240 Modinfo: Section info accesses nonexisting property groupingid
This code wasn't actually used, so we should remove it.
2014-09-18 16:38:22 +01:00
Marina Glancy daad1b4b97 MDL-46937 modinfo: Allow course format to overwrite section availability 2014-09-18 16:18:22 +08:00
sam marshall 61c3b60c03 MDL-44725 Update cm_info::create to allow 'false' param (13)
Currently cm_info::create allows the 'null' parameter, and
returns null (as a null $cm should still be null when treated
as a cm_info object).

Some unit tests relied on the value 'false' being treated
the same as null in this regard. This seems like a generally
safe assumption (given this is a function about changing
weakly typed data into a stronger type) so I modified the
function to accept anything PHP false, returning null.
2014-09-02 13:03:33 +01:00
sam marshall 061e6b2864 MDL-44725 Availability: Replace groupmembersonly - upgrade, core (1)
* Upgrades existing data so that the groupmembersonly option is
  replaced with equivalent data for the new availability API.
* Removes the database field and admin setting used for
  groupmembersonly.
* Changes core modinfo library to remove/deprecate groupmembersonly
  data and functions.
* Changes other core library files to remove groupmembersonly
  references.

Includes deprecation of several functions, listed in lib/upgrade.txt.
2014-09-02 13:03:07 +01:00
sam marshall d25c41fbc5 MDL-46706 Library: API to get cm_info more easily
Creates two new functions that make it easier to get cm_info
objects (both in modinfolib.php):

get_course_and_cm($cmid) - intended for use e.g. in modules;
efficiently loads $course and $cm (normally saves 1 query).

cm_info::from_mixed($cm) - for use in back-end API where we
are not sure whether a $cm is a real cm_info or a stdClass.
2014-08-15 18:24:11 +01:00
Marina Glancy acbf4579d5 MDL-46147 modinfo: performance improvement for course page (check filterall) 2014-07-01 15:28:54 +08:00
Damyon Wiese 0d9805dc14 MDL-46147 modinfo: performance improvement for course page
This is a big win in a specific situation, ie filters enabled for content+headings,
and no activity descriptions visible on the course page.
2014-07-01 15:26:06 +08:00
Ankit Agarwal 5793538a59 MDL-45409 conditional_activity: Do not iterate over deprecated properties 2014-05-05 16:26:35 +08:00
Marina Glancy 58d113934d MDL-45038 modinfo: added property section_info::modinfo 2014-04-10 20:26:25 +08:00
sam marshall 8d1f33e122 MDL-44070 Conditional availability enhancements (6): core changes
Changes core code to use new API instead of the old one when
checking user access to activities and sections.

Includes changes to other libraries that are necessary after
adding the availability system and removing old conditional tables
etc.
2014-04-07 20:11:48 +01:00
Marina Glancy 92e2e85523 MDL-44720 modinfo: make it easier to use cm_info instead of get_coursemodule_from_id
by adding function cm_info::get_course_module_record()
2014-03-27 11:24:00 +08:00
Dan Poltawski 07e78d935f MDL-41690 cm_info: deprecate various properties 2014-01-06 10:45:59 +08:00
Sam Hemelryk a59a423926 Merge branch 'MDL-42084-master' of git://github.com/sammarshallou/moodle 2013-12-03 11:12:34 +13:00
Marina Glancy 724b00b2b6 MDL-43024 course: fixed bug for accessing section options 2013-11-22 12:41:35 +11:00
sam marshall 3ef7279f26 MDL-42084 Core: Change set_time_limit to core_php_time_limit::raise everywhere
Exceptions (places where set_time_limit is still left) are:

Third-party libraries:
  ADODB
  PHPMailer

Moodle core:
  PHPUnit - not relevant (CLI mode)
2013-11-06 16:40:01 +00:00
Frederic Massart de170aacda MDL-41436 modinfo: Concatenate SQL fields instead of passing array 2013-09-11 10:02:41 +08:00
Marina Glancy 4cc819adf0 MDL-41436 Allow user=-1 in get_fast_modinfo()
Remove ref to nonexisting course.modinfo in MNET auth, use get_fast_modinfo() for user=-1 instead
2013-09-10 14:11:51 +10:00
Marina Glancy 299cfee5f2 MDL-41436 Move course content cache to MUC
added cache definition and DB field course.cacherev for cache validation
2013-09-10 14:11:45 +10:00
Marina Glancy 44ddd2a115 MDL-41219 course: Make properties of course_modinfo read-only
added phpdocs and unittests
2013-09-10 14:11:37 +10:00
Marina Glancy 6d04c4f2a2 MDL-41192 course: Added property-read cm_info::effectivegroupmode 2013-09-10 14:11:36 +10:00
Marina Glancy d872881f2a MDL-41192 course: Properties of cm_info are read-only and calculated on request
Also added phpdocs
2013-09-10 14:11:31 +10:00
Marina Glancy 4e4309064d MDL-41218 Object section_info calculates expensive data on demand only
Added phpdocs and unittests, removed unnecessary fields such as course and userid because they can be retrieved from modinfo
2013-09-10 14:11:24 +10:00
Marina Glancy 3e439915d3 MDL-41179 is_user_access_restricted_by_capability() must look at specified user and not current 2013-08-30 14:29:57 +10:00
Dan Poltawski 67c6ab1646 Merge branch 'wip-MDL-41222-master' of git://github.com/marinaglancy/moodle 2013-08-27 11:03:35 +08:00
Damyon Wiese 74df2951d1 Revert "MDL-39876 Change get_record('course') calls to get_course"
This reverts commit ab7632b74c.
2013-08-21 13:42:30 +08:00
Dan Poltawski d99a300563 Merge branch 'wip-MDL-36690-master' of git://github.com/marinaglancy/moodle 2013-08-21 11:35:27 +08:00
Sam Hemelryk 487caf6b65 Revert "MDL-39876 update_course_record function to update global COURSE"
This reverts commit c290ac5510.

Conflicts:
	course/lib.php
2013-08-21 15:21:06 +12:00
Marina Glancy 4fcdb0123c MDL-36690 Do not cache objects inside course.modinfo as they may fail to serialize
convert moodle_url (all other fields are numbers or strings) to string before caching and then back to moodle_url when restoring.
Otherwise serialized modinfo can contain \0 byte which cause problems in Postgres DB
2013-08-21 12:30:38 +10:00
Sam Hemelryk 6eee89bc8f Merge branch 'MDL-39876-master' of git://github.com/sammarshallou/moodle
Conflicts:
	course/lib.php
2013-08-21 12:08:46 +12:00
Marina Glancy 5a3204d05b MDL-41222 Remove unnecessary course cache rebuild 2013-08-20 10:27:15 +10:00
Marina Glancy 676fa06af3 MDL-36789 Quick course cache integrity check for deleted modules 2013-08-15 21:48:24 +10:00
sam marshall c290ac5510 MDL-39876 update_course_record function to update global COURSE 2013-08-15 11:31:21 +01:00
sam marshall ab7632b74c MDL-39876 Change get_record('course') calls to get_course 2013-08-15 11:31:20 +01:00
Petr Škoda 2f1e464a88 MDL-40438 migrate all collatorlib:: and textlib:: uses 2013-08-06 21:04:35 +02:00