101 Commits

Author SHA1 Message Date
Ferran Recio
21d93554d4 MDL-71863 courseformat: create courseformat subsystem 2021-06-28 13:50:18 +02:00
Sara Arjona
6347b916bc MDL-71165 course: core_course_update_course external method 2021-06-14 14:36:20 +08:00
Huong Nguyen
3e2570611f MDL-71486 course: Notice when in site home/course page 2021-04-29 14:42:49 +07:00
Shamim Rezaie
4ddc9fe0f4 MDL-71410 core: Prevent recursively calling getters 2021-04-27 14:32:26 +10:00
Shamim Rezaie
14e37590bb MDL-71410 core: Introduce override_customdata()
The get_custom_data() method now calls obtain_dynamic_data() because
$this->customdata can be dynamic now.
2021-04-26 05:28:36 +10:00
Víctor Déniz
4d0292b3b5 Merge branch 'MDL-70537-master' of https://github.com/sammarshallou/moodle 2021-03-26 20:14:19 +00:00
sam marshall
c89ea6733c MDL-70537 Availability: Avoid recursive calls to $cm->name
These recursive calls didn't work in PHP 7.3 and below, but in PHP
7.4 they also cause a fatal error which means if you have invalid
availability data, the whole page might die.
2021-03-18 15:54:17 +00:00
Ferran Recio
1c839f9072 MDL-65974 course: move format_base to core_course\course_format 2021-03-11 17:36:34 +01:00
Mark Johnson
d91aa1e760 MDL-65327 performance: Lazy-load module name strings 2019-09-20 08:59:34 +01:00
Shamim Rezaie
ea191cf1b4 MDL-41507 core_group: Consistent default value for FEATURE_GROUPS 2018-12-12 14:03:45 +11:00
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