From 47dfa7d0c69d333998067085654778d14080f4db Mon Sep 17 00:00:00 2001 From: Stefan Topfstedt Date: Tue, 9 Jan 2024 17:21:56 -0800 Subject: [PATCH] fix phpdoc linter errors. Moodle is Very Opinionated (TM) as to what and how code should be documented. Let's align with that. While at it, I fixed up some class member references that `phpcbf` "forgot" to update when it did its thing a few commits ago. Also, I dropped the year from the copyright annotation everwhere - it's always going to be the Regent's code, no matter what year it is. This required the re-minification of some JS assets. --- amd/build/banneralerts.min.js | 2 +- amd/build/banneralerts.min.js.map | 2 +- amd/build/courseindexcontrols.min.js | 2 +- amd/build/courseindexcontrols.min.js.map | 2 +- amd/build/datepicker.min.js | 2 +- amd/build/datepicker.min.js.map | 2 +- amd/build/usereditform.min.js | 2 +- amd/build/usereditform.min.js.map | 2 +- amd/src/banneralerts.js | 2 +- amd/src/courseindexcontrols.js | 2 +- amd/src/datepicker.js | 2 +- amd/src/usereditform.js | 2 +- banneralerts.php | 2 +- classes/admin_setting_daterange.php | 36 +++++++--- classes/admin_setting_datetimerange.php | 92 ++++++++++++++++-------- classes/admin_setting_timerange.php | 64 +++++++++++------ classes/constants.php | 35 ++++++++- classes/output/banneralerts.php | 6 +- classes/output/core_renderer.php | 2 +- classes/output/helpmenu.php | 2 +- classes/output/primary.php | 3 +- classes/privacy/provider.php | 5 +- classes/utils/config.php | 2 +- classes/utils/coursecategory.php | 8 +-- config.php | 4 +- lang/en/theme_ucsf.php | 4 +- layout/drawers.php | 2 +- layout/includes/banneralerts.php | 2 +- layout/includes/courserelatedhints.php | 2 +- layout/includes/javascript.php | 2 +- lib.php | 4 +- locallib.php | 8 +++ settings.php | 4 +- version.php | 5 +- 34 files changed, 219 insertions(+), 99 deletions(-) diff --git a/amd/build/banneralerts.min.js b/amd/build/banneralerts.min.js index f34b8c2b..6c6b93dd 100644 --- a/amd/build/banneralerts.min.js +++ b/amd/build/banneralerts.min.js @@ -4,7 +4,7 @@ define("theme_ucsf/banneralerts",["exports","jquery"],(function(_exports,_jquery * that fires when the alert is dismissed by the user. * * @module theme_ucsf/banneralerts - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_jquery=(obj=_jquery)&&obj.__esModule?obj:{default:obj};_exports.init=()=>{(0,_jquery.default)(".ucsf-banneralerts-alert").on("closed.bs.alert",(function(event){const $elem=(0,_jquery.default)(event.target),url=$elem.data("ucsf-banneralert-dismiss-callback-url"),id=$elem.data("ucsf-banneralerts-alert-id");_jquery.default.get(url,{id:id})}))}})); diff --git a/amd/build/banneralerts.min.js.map b/amd/build/banneralerts.min.js.map index 1b588d9f..0f8dd634 100644 --- a/amd/build/banneralerts.min.js.map +++ b/amd/build/banneralerts.min.js.map @@ -1 +1 @@ -{"version":3,"file":"banneralerts.min.js","sources":["../src/banneralerts.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Finds and attaches an event handler to our banner alerts\n * that fires when the alert is dismissed by the user.\n *\n * @module theme_ucsf/banneralerts\n * @copyright 2023 The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\n\nexport const init = () => {\n // @link https://getbootstrap.com/docs/4.0/components/alerts/#events\n jQuery('.ucsf-banneralerts-alert').on('closed.bs.alert', function(event) {\n const $elem = jQuery(event.target);\n const url = $elem.data('ucsf-banneralert-dismiss-callback-url');\n const id = $elem.data('ucsf-banneralerts-alert-id');\n jQuery.get(url, {id});\n });\n};"],"names":["on","event","$elem","target","url","data","id","get"],"mappings":";;;;;;;;wJAyBoB,yBAET,4BAA4BA,GAAG,mBAAmB,SAASC,aACxDC,OAAQ,mBAAOD,MAAME,QACrBC,IAAMF,MAAMG,KAAK,yCACjBC,GAAKJ,MAAMG,KAAK,8CACfE,IAAIH,IAAK,CAACE,GAAAA"} \ No newline at end of file +{"version":3,"file":"banneralerts.min.js","sources":["../src/banneralerts.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Finds and attaches an event handler to our banner alerts\n * that fires when the alert is dismissed by the user.\n *\n * @module theme_ucsf/banneralerts\n * @copyright The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\n\nexport const init = () => {\n // @link https://getbootstrap.com/docs/4.0/components/alerts/#events\n jQuery('.ucsf-banneralerts-alert').on('closed.bs.alert', function(event) {\n const $elem = jQuery(event.target);\n const url = $elem.data('ucsf-banneralert-dismiss-callback-url');\n const id = $elem.data('ucsf-banneralerts-alert-id');\n jQuery.get(url, {id});\n });\n};"],"names":["on","event","$elem","target","url","data","id","get"],"mappings":";;;;;;;;wJAyBoB,yBAET,4BAA4BA,GAAG,mBAAmB,SAASC,aACxDC,OAAQ,mBAAOD,MAAME,QACrBC,IAAMF,MAAMG,KAAK,yCACjBC,GAAKJ,MAAMG,KAAK,8CACfE,IAAIH,IAAK,CAACE,GAAAA"} \ No newline at end of file diff --git a/amd/build/courseindexcontrols.min.js b/amd/build/courseindexcontrols.min.js index 36345785..2ed6aa0a 100644 --- a/amd/build/courseindexcontrols.min.js +++ b/amd/build/courseindexcontrols.min.js @@ -3,7 +3,7 @@ define("theme_ucsf/courseindexcontrols",["exports","core/reactive","core_coursef * Adds "expand-all/collapse-all sections" controls to the course index drawer. * * @module theme_ucsf/courseindexcontrols - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class Component extends _reactive.BaseComponent{create(){this.name="courseindexcontrols",this.selectors={SECTION:"[data-for='section']",EXPANDALL:"[data-action='expandallcourseindexsections']",COLLAPSEALL:"[data-action='collapseallcourseindexsections']"}}static init(target,selectors){return new Component({element:document.getElementById(target),reactive:(0,_courseeditor.getCurrentCourseEditor)(),selectors:selectors})}stateReady(){const expandAllBtn=this.getElement(this.selectors.EXPANDALL);expandAllBtn&&this.addEventListener(expandAllBtn,"click",this._expandAllSections);const collapseAllBtn=this.getElement(this.selectors.COLLAPSEALL);collapseAllBtn&&this.addEventListener(collapseAllBtn,"click",this._collapseAllSections)}_collapseAllSections(){this._toggleAllSections(!0)}_expandAllSections(){this._toggleAllSections(!1)}_toggleAllSections(expandOrCollapse){const sectionIds=[...this.getElements(this.selectors.SECTION)].map((section=>section.getAttribute("data-id")));sectionIds.length&&this.reactive.dispatch("sectionIndexCollapsed",sectionIds,expandOrCollapse)}}return _exports.default=Component,_exports.default})); diff --git a/amd/build/courseindexcontrols.min.js.map b/amd/build/courseindexcontrols.min.js.map index 657d2dcf..4eba091c 100644 --- a/amd/build/courseindexcontrols.min.js.map +++ b/amd/build/courseindexcontrols.min.js.map @@ -1 +1 @@ -{"version":3,"file":"courseindexcontrols.min.js","sources":["../src/courseindexcontrols.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/**\n * Adds \"expand-all/collapse-all sections\" controls to the course index drawer.\n *\n * @module theme_ucsf/courseindexcontrols\n * @copyright 2023 The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport {BaseComponent} from 'core/reactive';\nimport {getCurrentCourseEditor} from 'core_courseformat/courseeditor';\n\nexport default class Component extends BaseComponent {\n /**\n * Constructor hook.\n */\n create() {\n // Optional component name for debugging.\n this.name = 'courseindexcontrols';\n // Default query selectors.\n this.selectors = {\n SECTION: `[data-for='section']`,\n EXPANDALL: `[data-action='expandallcourseindexsections']`,\n COLLAPSEALL: `[data-action='collapseallcourseindexsections']`,\n };\n }\n\n /**\n * Static method to create a component instance form the mustache template.\n *\n * @param {element|string} target the DOM main element or its ID\n * @param {object} selectors optional css selector overrides\n * @return {Component}\n */\n static init(target, selectors) {\n return new Component({\n element: document.getElementById(target),\n reactive: getCurrentCourseEditor(),\n selectors,\n });\n }\n\n /**\n * Initial state ready method.\n */\n stateReady() {\n // Attach the on-click event handlers to the expand-all and collapse-all buttons, if present.\n const expandAllBtn = this.getElement(this.selectors.EXPANDALL);\n if (expandAllBtn) {\n this.addEventListener(expandAllBtn, 'click', this._expandAllSections);\n\n }\n const collapseAllBtn = this.getElement(this.selectors.COLLAPSEALL);\n if (collapseAllBtn) {\n this.addEventListener(collapseAllBtn, 'click', this._collapseAllSections);\n }\n }\n\n /**\n * On-click event handler for the collapse-all button.\n * @private\n */\n _collapseAllSections() {\n this._toggleAllSections(true);\n }\n\n /**\n * On-click event handler for the expand-all button.\n * @private\n */\n _expandAllSections() {\n this._toggleAllSections(false);\n }\n\n /**\n * Collapses or expands all sections in the course index.\n * @param {bool} expandOrCollapse set to TRUE to collapse all, and FALSE to expand all.\n * @private\n */\n _toggleAllSections(expandOrCollapse) {\n const sections = this.getElements(this.selectors.SECTION);\n const sectionIds = [...sections].map((section) => section.getAttribute('data-id'));\n if (sectionIds.length) {\n this.reactive.dispatch(\n 'sectionIndexCollapsed',\n sectionIds,\n expandOrCollapse\n );\n }\n }\n}\n"],"names":["Component","BaseComponent","create","name","selectors","SECTION","EXPANDALL","COLLAPSEALL","target","element","document","getElementById","reactive","stateReady","expandAllBtn","this","getElement","addEventListener","_expandAllSections","collapseAllBtn","_collapseAllSections","_toggleAllSections","expandOrCollapse","sectionIds","getElements","map","section","getAttribute","length","dispatch"],"mappings":";;;;;;;;MA0BqBA,kBAAkBC,wBAIrCC,cAEOC,KAAO,2BAEPC,UAAY,CACfC,+BACAC,yDACAC,0EAWQC,OAAQJ,kBACX,IAAIJ,UAAU,CACnBS,QAASC,SAASC,eAAeH,QACjCI,UAAU,0CACVR,UAAAA,YAOJS,mBAEQC,aAAeC,KAAKC,WAAWD,KAAKX,UAAUE,WAChDQ,mBACGG,iBAAiBH,aAAc,QAASC,KAAKG,0BAG9CC,eAAiBJ,KAAKC,WAAWD,KAAKX,UAAUG,aAClDY,qBACGF,iBAAiBE,eAAgB,QAASJ,KAAKK,sBAQxDA,4BACOC,oBAAmB,GAO1BH,0BACOG,oBAAmB,GAQ1BA,mBAAmBC,wBAEXC,WAAa,IADFR,KAAKS,YAAYT,KAAKX,UAAUC,UAChBoB,KAAKC,SAAYA,QAAQC,aAAa,aACnEJ,WAAWK,aACRhB,SAASiB,SACZ,wBACAN,WACAD"} \ No newline at end of file +{"version":3,"file":"courseindexcontrols.min.js","sources":["../src/courseindexcontrols.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/**\n * Adds \"expand-all/collapse-all sections\" controls to the course index drawer.\n *\n * @module theme_ucsf/courseindexcontrols\n * @copyright The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport {BaseComponent} from 'core/reactive';\nimport {getCurrentCourseEditor} from 'core_courseformat/courseeditor';\n\nexport default class Component extends BaseComponent {\n /**\n * Constructor hook.\n */\n create() {\n // Optional component name for debugging.\n this.name = 'courseindexcontrols';\n // Default query selectors.\n this.selectors = {\n SECTION: `[data-for='section']`,\n EXPANDALL: `[data-action='expandallcourseindexsections']`,\n COLLAPSEALL: `[data-action='collapseallcourseindexsections']`,\n };\n }\n\n /**\n * Static method to create a component instance form the mustache template.\n *\n * @param {element|string} target the DOM main element or its ID\n * @param {object} selectors optional css selector overrides\n * @return {Component}\n */\n static init(target, selectors) {\n return new Component({\n element: document.getElementById(target),\n reactive: getCurrentCourseEditor(),\n selectors,\n });\n }\n\n /**\n * Initial state ready method.\n */\n stateReady() {\n // Attach the on-click event handlers to the expand-all and collapse-all buttons, if present.\n const expandAllBtn = this.getElement(this.selectors.EXPANDALL);\n if (expandAllBtn) {\n this.addEventListener(expandAllBtn, 'click', this._expandAllSections);\n\n }\n const collapseAllBtn = this.getElement(this.selectors.COLLAPSEALL);\n if (collapseAllBtn) {\n this.addEventListener(collapseAllBtn, 'click', this._collapseAllSections);\n }\n }\n\n /**\n * On-click event handler for the collapse-all button.\n * @private\n */\n _collapseAllSections() {\n this._toggleAllSections(true);\n }\n\n /**\n * On-click event handler for the expand-all button.\n * @private\n */\n _expandAllSections() {\n this._toggleAllSections(false);\n }\n\n /**\n * Collapses or expands all sections in the course index.\n * @param {bool} expandOrCollapse set to TRUE to collapse all, and FALSE to expand all.\n * @private\n */\n _toggleAllSections(expandOrCollapse) {\n const sections = this.getElements(this.selectors.SECTION);\n const sectionIds = [...sections].map((section) => section.getAttribute('data-id'));\n if (sectionIds.length) {\n this.reactive.dispatch(\n 'sectionIndexCollapsed',\n sectionIds,\n expandOrCollapse\n );\n }\n }\n}\n"],"names":["Component","BaseComponent","create","name","selectors","SECTION","EXPANDALL","COLLAPSEALL","target","element","document","getElementById","reactive","stateReady","expandAllBtn","this","getElement","addEventListener","_expandAllSections","collapseAllBtn","_collapseAllSections","_toggleAllSections","expandOrCollapse","sectionIds","getElements","map","section","getAttribute","length","dispatch"],"mappings":";;;;;;;;MA0BqBA,kBAAkBC,wBAIrCC,cAEOC,KAAO,2BAEPC,UAAY,CACfC,+BACAC,yDACAC,0EAWQC,OAAQJ,kBACX,IAAIJ,UAAU,CACnBS,QAASC,SAASC,eAAeH,QACjCI,UAAU,0CACVR,UAAAA,YAOJS,mBAEQC,aAAeC,KAAKC,WAAWD,KAAKX,UAAUE,WAChDQ,mBACGG,iBAAiBH,aAAc,QAASC,KAAKG,0BAG9CC,eAAiBJ,KAAKC,WAAWD,KAAKX,UAAUG,aAClDY,qBACGF,iBAAiBE,eAAgB,QAASJ,KAAKK,sBAQxDA,4BACOC,oBAAmB,GAO1BH,0BACOG,oBAAmB,GAQ1BA,mBAAmBC,wBAEXC,WAAa,IADFR,KAAKS,YAAYT,KAAKX,UAAUC,UAChBoB,KAAKC,SAAYA,QAAQC,aAAa,aACnEJ,WAAWK,aACRhB,SAASiB,SACZ,wBACAN,WACAD"} \ No newline at end of file diff --git a/amd/build/datepicker.min.js b/amd/build/datepicker.min.js index 1c73ef6f..f3d2902b 100644 --- a/amd/build/datepicker.min.js +++ b/amd/build/datepicker.min.js @@ -3,7 +3,7 @@ define("theme_ucsf/datepicker",["exports","jquery","theme_ucsf/pikaday"],(functi * Attaches a date picker to form input fields. * * @module theme_ucsf/datepicker - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_jquery=_interopRequireDefault(_jquery),_pikaday=_interopRequireDefault(_pikaday);_exports.init=()=>{(0,_jquery.default)(".ucsf-datepicker").each((function(i,elem){new _pikaday.default({field:elem,toString:function(date){const year=date.getFullYear();let month=(1+date.getMonth()).toString();month=month.length>1?month:"0"+month;let day=date.getDate().toString();return day=day.length>1?day:"0"+day,month+"/"+day+"/"+year}})}))}})); diff --git a/amd/build/datepicker.min.js.map b/amd/build/datepicker.min.js.map index 23c281e9..09099a0f 100644 --- a/amd/build/datepicker.min.js.map +++ b/amd/build/datepicker.min.js.map @@ -1 +1 @@ -{"version":3,"file":"datepicker.min.js","sources":["../src/datepicker.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Attaches a date picker to form input fields.\n *\n * @module theme_ucsf/datepicker\n * @copyright 2023 The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\nimport Pikaday from 'theme_ucsf/pikaday';\n\nexport const init = () => {\n jQuery('.ucsf-datepicker').each(function(i, elem) {\n new Pikaday({\n field: elem,\n toString: function(date) {\n // @link https://stackoverflow.com/a/15764763\n const year = date.getFullYear();\n let month = (1 + date.getMonth()).toString();\n month = month.length > 1 ? month : '0' + month;\n let day = date.getDate().toString();\n day = day.length > 1 ? day : '0' + day;\n return month + '/' + day + '/' + year;\n }\n });\n });\n};\n"],"names":["each","i","elem","Pikaday","field","toString","date","year","getFullYear","month","getMonth","length","day","getDate"],"mappings":";;;;;;;kLAyBoB,yBACT,oBAAoBA,MAAK,SAASC,EAAGC,UACpCC,iBAAQ,CACRC,MAAOF,KACPG,SAAU,SAASC,YAETC,KAAOD,KAAKE,kBACdC,OAAS,EAAIH,KAAKI,YAAYL,WAClCI,MAAQA,MAAME,OAAS,EAAIF,MAAQ,IAAMA,UACrCG,IAAMN,KAAKO,UAAUR,kBACzBO,IAAMA,IAAID,OAAS,EAAIC,IAAM,IAAMA,IAC5BH,MAAQ,IAAMG,IAAM,IAAML"} \ No newline at end of file +{"version":3,"file":"datepicker.min.js","sources":["../src/datepicker.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Attaches a date picker to form input fields.\n *\n * @module theme_ucsf/datepicker\n * @copyright The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\nimport Pikaday from 'theme_ucsf/pikaday';\n\nexport const init = () => {\n jQuery('.ucsf-datepicker').each(function(i, elem) {\n new Pikaday({\n field: elem,\n toString: function(date) {\n // @link https://stackoverflow.com/a/15764763\n const year = date.getFullYear();\n let month = (1 + date.getMonth()).toString();\n month = month.length > 1 ? month : '0' + month;\n let day = date.getDate().toString();\n day = day.length > 1 ? day : '0' + day;\n return month + '/' + day + '/' + year;\n }\n });\n });\n};\n"],"names":["each","i","elem","Pikaday","field","toString","date","year","getFullYear","month","getMonth","length","day","getDate"],"mappings":";;;;;;;kLAyBoB,yBACT,oBAAoBA,MAAK,SAASC,EAAGC,UACpCC,iBAAQ,CACRC,MAAOF,KACPG,SAAU,SAASC,YAETC,KAAOD,KAAKE,kBACdC,OAAS,EAAIH,KAAKI,YAAYL,WAClCI,MAAQA,MAAME,OAAS,EAAIF,MAAQ,IAAMA,UACrCG,IAAMN,KAAKO,UAAUR,kBACzBO,IAAMA,IAAID,OAAS,EAAIC,IAAM,IAAMA,IAC5BH,MAAQ,IAAMG,IAAM,IAAML"} \ No newline at end of file diff --git a/amd/build/usereditform.min.js b/amd/build/usereditform.min.js index bd2ee227..41c78c05 100644 --- a/amd/build/usereditform.min.js +++ b/amd/build/usereditform.min.js @@ -5,7 +5,7 @@ define("theme_ucsf/usereditform",["exports","jquery"],(function(_exports,_jquery * they can properly update their name information. * * @module theme_ucsf/usereditform - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_jquery=(obj=_jquery)&&obj.__esModule?obj:{default:obj};_exports.init=()=>{let $elem=(0,_jquery.default)("#page-user-editadvanced #fitem_id_firstname");$elem.length||($elem=(0,_jquery.default)("#page-user-edit #fitem_id_firstname")),$elem.length&&$elem.prepend('
')}})); diff --git a/amd/build/usereditform.min.js.map b/amd/build/usereditform.min.js.map index a53806d3..44beaf7d 100644 --- a/amd/build/usereditform.min.js.map +++ b/amd/build/usereditform.min.js.map @@ -1 +1 @@ -{"version":3,"file":"usereditform.min.js","sources":["../src/usereditform.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Kludges a link and some helpful text into the two user profile edit forms\n * that provide the user with some relevant information as to how/where\n * they can properly update their name information.\n *\n * @module theme_ucsf/usereditform\n * @copyright 2023 The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\n\nexport const init = () => {\n let $elem = jQuery('#page-user-editadvanced #fitem_id_firstname'); // Admin user profile form\n\n if (!$elem.length) {\n $elem = jQuery('#page-user-edit #fitem_id_firstname'); // User profile form\n }\n if ($elem.length) {\n $elem.prepend('
');\n }\n};"],"names":["$elem","length","prepend"],"mappings":";;;;;;;;;wJA0BoB,SACZA,OAAQ,mBAAO,+CAEdA,MAAMC,SACPD,OAAQ,mBAAO,wCAEfA,MAAMC,QACND,MAAME,QAAQ"} \ No newline at end of file +{"version":3,"file":"usereditform.min.js","sources":["../src/usereditform.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n//\n\n/**\n * Kludges a link and some helpful text into the two user profile edit forms\n * that provide the user with some relevant information as to how/where\n * they can properly update their name information.\n *\n * @module theme_ucsf/usereditform\n * @copyright The Regents of the University of California\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport jQuery from 'jquery';\n\nexport const init = () => {\n let $elem = jQuery('#page-user-editadvanced #fitem_id_firstname'); // Admin user profile form\n\n if (!$elem.length) {\n $elem = jQuery('#page-user-edit #fitem_id_firstname'); // User profile form\n }\n if ($elem.length) {\n $elem.prepend('
');\n }\n};"],"names":["$elem","length","prepend"],"mappings":";;;;;;;;;wJA0BoB,SACZA,OAAQ,mBAAO,+CAEdA,MAAMC,SACPD,OAAQ,mBAAO,wCAEfA,MAAMC,QACND,MAAME,QAAQ"} \ No newline at end of file diff --git a/amd/src/banneralerts.js b/amd/src/banneralerts.js index ab663731..351ea9ca 100644 --- a/amd/src/banneralerts.js +++ b/amd/src/banneralerts.js @@ -18,7 +18,7 @@ * that fires when the alert is dismissed by the user. * * @module theme_ucsf/banneralerts - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ import jQuery from 'jquery'; diff --git a/amd/src/courseindexcontrols.js b/amd/src/courseindexcontrols.js index fb6465bb..d7431b74 100644 --- a/amd/src/courseindexcontrols.js +++ b/amd/src/courseindexcontrols.js @@ -17,7 +17,7 @@ * Adds "expand-all/collapse-all sections" controls to the course index drawer. * * @module theme_ucsf/courseindexcontrols - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/amd/src/datepicker.js b/amd/src/datepicker.js index f48f5c81..67a7c5ef 100644 --- a/amd/src/datepicker.js +++ b/amd/src/datepicker.js @@ -17,7 +17,7 @@ * Attaches a date picker to form input fields. * * @module theme_ucsf/datepicker - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ import jQuery from 'jquery'; diff --git a/amd/src/usereditform.js b/amd/src/usereditform.js index 258cb766..f5190aca 100644 --- a/amd/src/usereditform.js +++ b/amd/src/usereditform.js @@ -19,7 +19,7 @@ * they can properly update their name information. * * @module theme_ucsf/usereditform - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ import jQuery from 'jquery'; diff --git a/banneralerts.php b/banneralerts.php index 585a368c..c883b5f0 100644 --- a/banneralerts.php +++ b/banneralerts.php @@ -18,7 +18,7 @@ * Callback script to flag banner alerts as "seen" in the user session. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/admin_setting_daterange.php b/classes/admin_setting_daterange.php index 0199c4b9..2ff48e12 100644 --- a/classes/admin_setting_daterange.php +++ b/classes/admin_setting_daterange.php @@ -23,22 +23,32 @@ /** * Admin settings form component for selecting a date range. (year, month, and day). * + * @package theme_ucsf * @author Sasa Prsir * @author Stefan Topfstedt - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class admin_setting_daterange extends admin_setting { + + /** @var string Start date form field name. */ const START_DATE = 'start_date'; + + /** @var string End date form field name. */ const END_DATE = 'end_date'; + /** @var string Start date config setting name. */ public string $startdatesettingname; + + /** @var string End date config setting name. */ public string $enddatesettingname; /** + * Class constructor. + * * @param string $name - * @param string $start_date_setting_name - * @param string $end_date_setting_name + * @param string $startdatesettingname + * @param string $enddatesettingname * @param string $visiblename * @param string $description */ @@ -49,12 +59,14 @@ public function __construct( string $visiblename, string $description ) { - $this->start_date_setting_name = $startdatesettingname; - $this->end_date_setting_name = $enddatesettingname; + $this->startdatesettingname = $startdatesettingname; + $this->enddatesettingname = $enddatesettingname; parent::__construct($name, $visiblename, $description, ''); } /** + * {@inheritdoc} + * * @return array|null $data * $data = [ * 'start_date'=> (string) the start date @@ -62,8 +74,8 @@ public function __construct( * ] */ public function get_setting(): ?array { - $startdate = $this->config_read($this->start_date_setting_name); - $enddate = $this->config_read($this->end_date_setting_name); + $startdate = $this->config_read($this->startdatesettingname); + $enddate = $this->config_read($this->enddatesettingname); if (is_null($startdate) || is_null($enddate)) { return null; } @@ -74,6 +86,8 @@ public function get_setting(): ?array { } /** + * {@inheritdoc} + * * @param array $data * $data = [ * 'start_date'=> (string) the start date @@ -87,8 +101,8 @@ public function write_setting($data): string { $enddate = ('' !== trim($data[self::END_DATE])) ? trim($data[self::END_DATE]) : ''; $validate = $this->validate($startdate, $enddate); if ('' === $validate) { - $result = $this->config_write($this->start_date_setting_name, $startdate) - && $this->config_write($this->end_date_setting_name, $enddate); + $result = $this->config_write($this->startdatesettingname, $startdate) + && $this->config_write($this->enddatesettingname, $enddate); return $result ? '' : get_string('errorsetting', 'admin'); } return $validate; @@ -97,8 +111,8 @@ public function write_setting($data): string { /** * Validate data before storage. * - * @param string $start_date - * @param string $end_date + * @param string $startdate + * @param string $enddate * @return string empty string if ok, string error message otherwise * @throws coding_exception */ diff --git a/classes/admin_setting_datetimerange.php b/classes/admin_setting_datetimerange.php index 68b2638e..c9d9d7f6 100644 --- a/classes/admin_setting_datetimerange.php +++ b/classes/admin_setting_datetimerange.php @@ -23,34 +23,60 @@ /** * Admin settings form component for selecting a date-time range (year, month, day, hours, and minutes). * + * @package theme_ucsf * @author Sasa Prsir * @author Stefan Topfstedt - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class admin_setting_datetimerange extends admin_setting { + + /** @var string (Partial) start date form field name. */ const START_DATE = 'start_date'; + + /** @var string (Partial) start hour form field name. */ const START_HOUR = 'start_hour'; + + /** @var string (Partial) start minute form field name. */ const START_MINUTE = 'start_minute'; + + /** @var string (Partial) end date form field name. */ const END_DATE = 'end_date'; + + /** @var string (Partial) end hour form field name. */ const END_HOUR = 'end_hour'; + + /** @var string (Partial) end minute form field name. */ const END_MINUTE = 'end_minute'; + /** @var string Start date config setting name. */ public string $startdatesettingname; + + /** @var string Start minute config setting name. */ public string $startminutesettingname; + + /** @var string Start hour config setting name. */ public string $starthoursettingname; + + /** @var string End hour config setting name. */ public string $enddatesettingname; + + /** @var string End minute config setting name. */ public string $endminutesettingname; + + /** @var string End hour config setting name. */ public string $endhoursettingname; /** + * Class constructor. + * * @param string $name - * @param string $start_date_setting_name - * @param string $start_hour_setting_name - * @param string $start_minute_setting_name - * @param string $end_date_setting_name - * @param string $end_hour_setting_name - * @param string $end_minute_setting_name + * @param string $startdatesettingname + * @param string $starthoursettingname + * @param string $startminutesettingname + * @param string $enddatesettingname + * @param string $endhoursettingname + * @param string $endminutesettingname * @param string $visiblename * @param string $description */ @@ -65,16 +91,18 @@ public function __construct( string $visiblename, string $description ) { - $this->start_date_setting_name = $startdatesettingname; - $this->start_hour_setting_name = $starthoursettingname; - $this->start_minute_setting_name = $startminutesettingname; - $this->end_date_setting_name = $enddatesettingname; - $this->end_hour_setting_name = $endhoursettingname; - $this->end_minute_setting_name = $endminutesettingname; + $this->startdatesettingname = $startdatesettingname; + $this->starthoursettingname = $starthoursettingname; + $this->startminutesettingname = $startminutesettingname; + $this->enddatesettingname = $enddatesettingname; + $this->endhoursettingname = $endhoursettingname; + $this->endminutesettingname = $endminutesettingname; parent::__construct($name, $visiblename, $description, ''); } /** + * {@inheritdoc} + * * @return array|null $data * $data = [ * 'start_date' => (string) the start date @@ -86,12 +114,12 @@ public function __construct( * ] */ public function get_setting(): ?array { - $startdate = $this->config_read($this->start_date_setting_name); - $starthour = $this->config_read($this->start_hour_setting_name); - $startminute = $this->config_read($this->start_minute_setting_name); - $enddate = $this->config_read($this->end_date_setting_name); - $endhour = $this->config_read($this->end_hour_setting_name); - $endminute = $this->config_read($this->end_minute_setting_name); + $startdate = $this->config_read($this->startdatesettingname); + $starthour = $this->config_read($this->starthoursettingname); + $startminute = $this->config_read($this->startminutesettingname); + $enddate = $this->config_read($this->enddatesettingname); + $endhour = $this->config_read($this->endhoursettingname); + $endminute = $this->config_read($this->endminutesettingname); if (is_null($startdate) || is_null($starthour) || is_null($startminute) @@ -112,6 +140,8 @@ public function get_setting(): ?array { } /** + * {@inheritdoc} + * * @param array $data * $data = [ * 'start_date' => (string) the start date @@ -134,12 +164,12 @@ public function write_setting($data): string { $endminute = ('' !== $data[self::END_MINUTE]) ? $data[self::END_MINUTE] : ''; $validate = $this->validate($startdate, $starthour, $startminute, $enddate, $endhour, $endminute); if ('' === $validate) { - $result = $this->config_write($this->start_date_setting_name, $startdate) - && $this->config_write($this->start_hour_setting_name, $starthour) - && $this->config_write($this->start_minute_setting_name, $startminute) - && $this->config_write($this->end_date_setting_name, $enddate) - && $this->config_write($this->end_hour_setting_name, $endhour) - && $this->config_write($this->end_minute_setting_name, $endminute); + $result = $this->config_write($this->startdatesettingname, $startdate) + && $this->config_write($this->starthoursettingname, $starthour) + && $this->config_write($this->startminutesettingname, $startminute) + && $this->config_write($this->enddatesettingname, $enddate) + && $this->config_write($this->endhoursettingname, $endhour) + && $this->config_write($this->endminutesettingname, $endminute); return ($result ? '' : get_string('errorsetting', 'admin')); } return $validate; @@ -148,12 +178,12 @@ public function write_setting($data): string { /** * Validate data before storage. * - * @param string $start_date - * @param string $start_hour - * @param string $start_minute - * @param string $end_date - * @param string $end_hour - * @param string $end_minute + * @param string $startdate + * @param string $starthour + * @param string $startminute + * @param string $enddate + * @param string $endhour + * @param string $endminute * @return string empty string if ok, string error message otherwise * @throws coding_exception */ diff --git a/classes/admin_setting_timerange.php b/classes/admin_setting_timerange.php index 6bee55f4..095b0007 100644 --- a/classes/admin_setting_timerange.php +++ b/classes/admin_setting_timerange.php @@ -23,28 +23,46 @@ /** * Admin settings form component for selecting a time range (hours and minutes). * + * @package theme_ucsf * @author Dusan Sparavalo * @author Stefan Topfstedt - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class admin_setting_timerange extends admin_setting { + + /** @var string (Partial) start hour form field name. */ const START_HOUR = 'start_hour'; + + /** @var string (Partial) start minute form field name. */ const START_MINUTE = 'start_minute'; + + /** @var string (Partial) end hour form field name. */ const END_HOUR = 'end_hour'; + + /** @var string (Partial) end minute form field name. */ const END_MINUTE = 'end_minute'; + /** @var string Start minute config setting name. */ public string $startminutesettingname; + + /** @var string Start hour config setting name. */ public string $starthoursettingname; + + /** @var string End minute config setting name. */ public string $endminutesettingname; + + /** @var string End hour config setting name. */ public string $endhoursettingname; /** + * Class constructor. + * * @param string $name - * @param string $start_hour_setting_name - * @param string $start_minute_setting_name - * @param string $end_hour_setting_name - * @param string $end_minute_setting_name + * @param string $starthoursettingname + * @param string $startminutesettingname + * @param string $endhoursettingname + * @param string $endminutesettingname * @param string $visiblename * @param string $description */ @@ -57,14 +75,16 @@ public function __construct( string $visiblename, string $description ) { - $this->start_hour_setting_name = $starthoursettingname; - $this->start_minute_setting_name = $startminutesettingname; - $this->end_hour_setting_name = $endhoursettingname; - $this->end_minute_setting_name = $endminutesettingname; + $this->starthoursettingname = $starthoursettingname; + $this->startminutesettingname = $startminutesettingname; + $this->endhoursettingname = $endhoursettingname; + $this->endminutesettingname = $endminutesettingname; parent::__construct($name, $visiblename, $description, ''); } /** + * {@inheritdoc} + * * @return array|null $data * $data = [ * 'start_hour'=> (string) the start hour @@ -74,10 +94,10 @@ public function __construct( * ] */ public function get_setting(): ?array { - $starthour = $this->config_read($this->start_hour_setting_name); - $startminute = $this->config_read($this->start_minute_setting_name); - $endhour = $this->config_read($this->end_hour_setting_name); - $endminute = $this->config_read($this->end_minute_setting_name); + $starthour = $this->config_read($this->starthoursettingname); + $startminute = $this->config_read($this->startminutesettingname); + $endhour = $this->config_read($this->endhoursettingname); + $endminute = $this->config_read($this->endminutesettingname); if (is_null($starthour) || is_null($startminute) || is_null($endhour) || is_null($endminute)) { return null; } @@ -90,6 +110,8 @@ public function get_setting(): ?array { } /** + * {@inheritdoc} + * * @param array $data * $data = [ * 'start_hour'=> (string) the start hour @@ -108,10 +130,10 @@ public function write_setting($data): string { $endminute = ('' !== trim($data[self::END_MINUTE])) ? trim($data[self::END_MINUTE]) : ''; $validate = $this->validate($starthour, $startminute, $endhour, $endminute); if ('' === $validate) { - $result = $this->config_write($this->start_hour_setting_name, $starthour) - && $this->config_write($this->start_minute_setting_name, $startminute) - && $this->config_write($this->end_hour_setting_name, $endhour) - && $this->config_write($this->end_minute_setting_name, $endminute); + $result = $this->config_write($this->starthoursettingname, $starthour) + && $this->config_write($this->startminutesettingname, $startminute) + && $this->config_write($this->endhoursettingname, $endhour) + && $this->config_write($this->endminutesettingname, $endminute); return ($result ? '' : get_string('errorsetting', 'admin')); } return $validate; @@ -120,10 +142,10 @@ public function write_setting($data): string { /** * Validate data before storage. * - * @param string $start_hour - * @param string $start_minute - * @param string $end_hour - * @param string $end_minute + * @param string $starthour + * @param string $startminute + * @param string $endhour + * @param string $endminute * @return string empty string if ok, string error message otherwise * @throws coding_exception */ diff --git a/classes/constants.php b/classes/constants.php index 0dc39438..e81a192a 100644 --- a/classes/constants.php +++ b/classes/constants.php @@ -20,29 +20,62 @@ * Constants interface for this theme. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ interface constants { + /** @var int The maximum number of help menu items. */ const HELPMENU_ITEMS_COUNT = 10; + /** @var int The maximum number of banner alerts. */ const BANNERALERT_ITEMS_COUNT = 10; + + /** @var string Banner alert type - the alert is not bound to any date range restrictions. */ const BANNERALERT_TYPE_UNBOUND = '1'; + /** @var string Banner alert type - the alert is not restricted by a start- and end-date. */ const BANNERALERT_TYPE_DATEBOUND = '2'; + + /** @var string Banner alert type - the alert recurs daily within a given start- and end-time. */ const BANNERALERT_TYPE_RECURRENCE_DAILY = '3'; + + /** @var string Banner alert type - the alert recurs weekly on a given weekday, within given date and time range. */ const BANNERALERT_TYPE_RECURRENCE_WEEKLY = '4'; + + /** @var string Banner alert level - the alert is informational. */ const BANNERALERT_LEVEL_INFORMATION = 'info'; + + /** @var string Banner alert level - the alert is a warning. */ const BANNERALERT_LEVEL_WARNING = 'error'; + + /** @var string Banner alert level - the alert is an announcement. */ const BANNERALERT_LEVEL_ANNOUNCEMENT = 'success'; + + /** @var string Banner alert target - the alert appears on the Dashboard page only. */ const BANNERALERT_TARGET_DASHBOARD = 'dashboard'; + /** @var string Banner alert target - the alert appears on every page of the site. */ const BANNERALERT_TARGET_SITEWIDE = '0'; + + /** @var string The key to look up banner alerts in the user session. */ const BANNERALERT_SESSION_KEY = 'alerts'; + /** @var int Banner alert index key for events appearing on Sunday. */ const BANNERALERT_WEEKDAYS_SUNDAY = 0; + + /** @var int Banner alert index key for events appearing on Monday. */ const BANNERALERT_WEEKDAYS_MONDAY = 1; + + /** @var int Banner alert index key for events appearing on Tuesday. */ const BANNERALERT_WEEKDAYS_TUESDAY = 2; + + /** @var int Banner alert index key for events appearing on Wednesday. */ const BANNERALERT_WEEKDAYS_WEDNESDAY = 3; + + /** @var int Banner alert index key for events appearing on Thursday. */ const BANNERALERT_WEEKDAYS_THURSDAY = 4; + + /** @var int Banner alert index key for events appearing on Friday. */ const BANNERALERT_WEEKDAYS_FRIDAY = 5; + + /** @var int Banner alert index key for events appearing on Saturday. */ const BANNERALERT_WEEKDAYS_SATURDAY = 6; } diff --git a/classes/output/banneralerts.php b/classes/output/banneralerts.php index a7bbcda2..16cf976a 100644 --- a/classes/output/banneralerts.php +++ b/classes/output/banneralerts.php @@ -31,13 +31,15 @@ * Banner alerts. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class banneralerts implements renderable, templatable { + /** @var moodle_page The current page. */ protected moodle_page $page; + /** @var string[] Maps alert levels to CSS classes. */ const ALERT_LEVEL_CSS_CLASSES_MAP = [ constants::BANNERALERT_LEVEL_INFORMATION => 'alert-info', constants::BANNERALERT_LEVEL_ANNOUNCEMENT => 'alert-warning', @@ -45,6 +47,8 @@ class banneralerts implements renderable, templatable { ]; /** + * Class constructor. + * * @param moodle_page $page */ public function __construct(moodle_page $page) { diff --git a/classes/output/core_renderer.php b/classes/output/core_renderer.php index 83fd59fc..ca0bf6b2 100644 --- a/classes/output/core_renderer.php +++ b/classes/output/core_renderer.php @@ -29,7 +29,7 @@ * Theme renderer. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class core_renderer extends boost_core_renderer { diff --git a/classes/output/helpmenu.php b/classes/output/helpmenu.php index c30a5832..bd290f69 100644 --- a/classes/output/helpmenu.php +++ b/classes/output/helpmenu.php @@ -28,7 +28,7 @@ * Help menu output component. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class helpmenu implements renderable, templatable { diff --git a/classes/output/primary.php b/classes/output/primary.php index d4c53860..22a4011a 100644 --- a/classes/output/primary.php +++ b/classes/output/primary.php @@ -29,7 +29,7 @@ * Primary navigation renderable. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class primary extends core_primary { @@ -40,7 +40,6 @@ class primary extends core_primary { * @return array * @throws coding_exception * @throws dml_exception - * @global stdClass $PAGE */ protected function get_custom_menu(renderer_base $output): array { // Skip altogether if customizations are turned off. diff --git a/classes/privacy/provider.php b/classes/privacy/provider.php index b88b3099..608b4897 100644 --- a/classes/privacy/provider.php +++ b/classes/privacy/provider.php @@ -22,11 +22,14 @@ * The theme's privacy information provider. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements null_provider { + /** + * {@inheritdoc} + */ public static function get_reason(): string { return 'privacy:metadata'; } diff --git a/classes/utils/config.php b/classes/utils/config.php index 580b4de2..0951e467 100644 --- a/classes/utils/config.php +++ b/classes/utils/config.php @@ -22,7 +22,7 @@ * Utility class for accessing theme configuration settings. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class config { diff --git a/classes/utils/coursecategory.php b/classes/utils/coursecategory.php index bac13947..71a0ec35 100644 --- a/classes/utils/coursecategory.php +++ b/classes/utils/coursecategory.php @@ -25,7 +25,7 @@ * Utility class for handling course-category specific configurations. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class coursecategory { @@ -36,7 +36,6 @@ class coursecategory { * * @return string The course category id. * @throws coding_exception - * @global moodle_page $PAGE The current page object */ public static function get_current_category_id(): string { global $PAGE; @@ -56,7 +55,6 @@ public static function get_current_category_id(): string { * The first element in that list is the given course category id itself, followed by its parent, * the parent's parent, and so on. * - * @global moodle_database $DB * @param string $id The category id. * @return array A list of category ids, will be empty if the given category cannot be found. * @throws dml_exception @@ -92,8 +90,8 @@ public static function get_reverse_category_hierarchy(string $id): array { * 3. The theme settings contains entries with the names "customlabel5" and "customlabel1". * 4. This method will return "5", since "customlabel5" is the first matching setting from the bottom of the hierarchy. * - * @param string $category_id The course category id - * @param string $setting_name_prefix Settings name prefix + * @param string $categoryid The course category id + * @param string $settingnameprefix Settings name prefix * @return string The first matching category id, or an empty string if no matching setting could be found. * @see coursecategory::get_reverse_category_hierarchy() * @throws dml_exception diff --git a/config.php b/config.php index bc08e1d2..5e4162a6 100644 --- a/config.php +++ b/config.php @@ -15,8 +15,10 @@ // along with Moodle. If not, see . /** + * Configuration file for the UCSF theme. + * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/lang/en/theme_ucsf.php b/lang/en/theme_ucsf.php index 3914ce54..b421dc19 100644 --- a/lang/en/theme_ucsf.php +++ b/lang/en/theme_ucsf.php @@ -15,8 +15,10 @@ // along with Moodle. If not, see . /** + * Language file for the UCSF theme. + * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/layout/drawers.php b/layout/drawers.php index c1341c53..2e2f5cb8 100644 --- a/layout/drawers.php +++ b/layout/drawers.php @@ -20,7 +20,7 @@ * This layout file is based on theme/boost/layout/drawers.php * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @copyright based on code from theme_boost by Bas Brands * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/layout/includes/banneralerts.php b/layout/includes/banneralerts.php index d1e0a3a4..4cfc1156 100644 --- a/layout/includes/banneralerts.php +++ b/layout/includes/banneralerts.php @@ -18,7 +18,7 @@ * Renders and adds our banner alerts to the page template context. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/layout/includes/courserelatedhints.php b/layout/includes/courserelatedhints.php index 09dae14b..c0977d60 100644 --- a/layout/includes/courserelatedhints.php +++ b/layout/includes/courserelatedhints.php @@ -18,7 +18,7 @@ * Adds course-related hints to the page template context. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); diff --git a/layout/includes/javascript.php b/layout/includes/javascript.php index 36821221..981986a6 100644 --- a/layout/includes/javascript.php +++ b/layout/includes/javascript.php @@ -18,7 +18,7 @@ * Adds our custom JS dependencies to the page. * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); diff --git a/lib.php b/lib.php index ca594573..81dbd7f1 100644 --- a/lib.php +++ b/lib.php @@ -15,8 +15,10 @@ // along with Moodle. If not, see . /** + * Theme functions. + * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/locallib.php b/locallib.php index 4633546c..24746325 100644 --- a/locallib.php +++ b/locallib.php @@ -14,6 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . +/** + * Global support functions for the UCSF theme. + * + * @package theme_ucsf + * @copyright The Regents of the University of California + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + /** * Build the course related hints HTML code. * This function evaluates and composes all course related hints which may appear on a course page below the course header. diff --git a/settings.php b/settings.php index 9e9b4d5a..98537959 100644 --- a/settings.php +++ b/settings.php @@ -15,8 +15,10 @@ // along with Moodle. If not, see . /** + * Settings file for the UCSF theme. + * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/version.php b/version.php index a817109d..86877495 100644 --- a/version.php +++ b/version.php @@ -15,11 +15,12 @@ // along with Moodle. If not, see . /** + * Version file for the UCSF Moodle theme. + * * @package theme_ucsf - * @copyright 2023 The Regents of the University of California + * @copyright The Regents of the University of California * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ - defined('MOODLE_INTERNAL') || die(); $plugin->component = 'theme_ucsf';