From ac8af45e8db2dddcc80c7264cef61c307c405929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sam=20M=C3=B8ller?= Date: Tue, 19 Apr 2022 11:37:48 +0200 Subject: [PATCH 1/6] learningworks/moodle-local_pages#41 Fix moodle_database::get_record_sql by change LIMIT 1 to IGNORE_MULTIPLE strictness --- classes/custompage.php | 8 +++++--- forms/edit.php | 2 +- version.php | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/classes/custompage.php b/classes/custompage.php index 516084b..8fc1c41 100644 --- a/classes/custompage.php +++ b/classes/custompage.php @@ -118,15 +118,17 @@ public static function load($id, $editor = false) { require_once(dirname(__FILE__) . '/../lib.php'); $data = new \stdClass(); - if (intval($id) > 0) { - $data = $DB->get_record_sql("SELECT * FROM {local_pages} WHERE id=? LIMIT 1", array(intval($id))); + if ((int)$id > 0) { + $data = $DB->get_record_sql("SELECT * FROM {local_pages} WHERE id=?", [(int)$id], IGNORE_MULTIPLE); } else { // Check url for page name. $main = explode('?', trim($_SERVER['REQUEST_URI'])); $parts = explode("/", trim($main[0])); $url = '%' . end($parts) . '%'; - $page = $DB->get_record_sql("SELECT * FROM {local_pages} WHERE menuname LIKE ? limit 1", array(trim($url))); + $like_menu_name = $DB->sql_like('menuname', '?'); + + $page = $DB->get_record_sql("SELECT * FROM {local_pages} WHERE $like_menu_name", [trim($url)], IGNORE_MULTIPLE); if ($page) { $data = $page; diff --git a/forms/edit.php b/forms/edit.php index 80f94f4..3341fe4 100644 --- a/forms/edit.php +++ b/forms/edit.php @@ -233,7 +233,7 @@ public function validation($data, $files) { */ private function build_html_form() { global $DB; - $usertable = $DB->get_record_sql("select * FROM {user} LIMIT 1"); + $usertable = $DB->get_record_sql("select * FROM {user}", null, IGNORE_MULTIPLE); $records = json_decode($this->_pagedata); // PHP 7.2 now gives an error if the item cannot be counted - pre 7.2 it returned 0. diff --git a/version.php b/version.php index 0697d34..f22fc25 100644 --- a/version.php +++ b/version.php @@ -25,7 +25,7 @@ defined('MOODLE_INTERNAL') || die; -$plugin->requires = 2020061500; // This plugin requires Moodle VER 3.9. +$plugin->requires = 2020061501; // This plugin requires Moodle VER 3.9. $plugin->version = 2021110400; // This plugins version number. $plugin->release = 'v1.9'; // This plugins release number. $plugin->maturity = MATURITY_STABLE; From d034906ea34ce6c8d4e1dcccf23107756c50609c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sam=20M=C3=B8ller?= <41996743+sampraxis@users.noreply.github.com> Date: Thu, 28 Apr 2022 10:20:32 +0200 Subject: [PATCH 2/6] Bump version --- version.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.php b/version.php index f22fc25..9be0da8 100644 --- a/version.php +++ b/version.php @@ -25,8 +25,8 @@ defined('MOODLE_INTERNAL') || die; -$plugin->requires = 2020061501; // This plugin requires Moodle VER 3.9. -$plugin->version = 2021110400; // This plugins version number. +$plugin->requires = 2015111600; // This plugin requires Moodle VER 3.9. +$plugin->version = 2018032006; // This plugins version number. $plugin->release = 'v1.9'; // This plugins release number. $plugin->maturity = MATURITY_STABLE; $plugin->component = 'local_pages'; From 96d0a53192b0382864b111fc6f4d3f286caa0cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sam=20M=C3=B8ller?= Date: Thu, 28 Apr 2022 10:36:32 +0200 Subject: [PATCH 3/6] Bump version Fix version file --- version.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.php b/version.php index 9be0da8..dcbd83d 100644 --- a/version.php +++ b/version.php @@ -25,8 +25,8 @@ defined('MOODLE_INTERNAL') || die; -$plugin->requires = 2015111600; // This plugin requires Moodle VER 3.9. -$plugin->version = 2018032006; // This plugins version number. +$plugin->requires = 2020061500; // This plugin requires Moodle VER 3.9. +$plugin->version = 2021110401; // This plugins version number. $plugin->release = 'v1.9'; // This plugins release number. $plugin->maturity = MATURITY_STABLE; $plugin->component = 'local_pages'; From fe5baa9dbf644c91cf05cd87b790f117ddfc3596 Mon Sep 17 00:00:00 2001 From: Sven Bachmann Date: Wed, 8 Mar 2023 13:59:36 +0100 Subject: [PATCH 4/6] Improve PHP 8.x compatability --- forms/edit.php | 3 +-- lib.php | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/forms/edit.php b/forms/edit.php index 3341fe4..8c4ea49 100644 --- a/forms/edit.php +++ b/forms/edit.php @@ -236,8 +236,7 @@ private function build_html_form() { $usertable = $DB->get_record_sql("select * FROM {user}", null, IGNORE_MULTIPLE); $records = json_decode($this->_pagedata); - // PHP 7.2 now gives an error if the item cannot be counted - pre 7.2 it returned 0. - $limit = intval(@count($records)); + $limit = (is_countable($records)) ? count($records) : 0; $i = 0; $html = '
' . diff --git a/lib.php b/lib.php index 46aca6a..c6912fa 100644 --- a/lib.php +++ b/lib.php @@ -84,7 +84,7 @@ function local_pages_build_menu(navigation_node $nav, $parent, global_navigation $records = $DB->get_records_sql("SELECT * FROM {local_pages} WHERE deleted=0 AND onmenu=1 " . "AND pagetype='page' AND pageparent=? AND pagedate <=? " . "ORDER BY pageorder", array($parent, $today)); - local_pages_process_records($records, $nav, false, $gnav); + local_pages_process_records($records, $nav, $gnav); } /** @@ -99,7 +99,7 @@ function local_pages_build_menu(navigation_node $nav, $parent, global_navigation * @throws dml_exception * @throws moodle_exception */ -function local_pages_process_records($records, $nav, $parent = false, global_navigation $gnav) { +function local_pages_process_records($records, $nav, global_navigation $gnav, $parent = false) { global $CFG; if ($records) { foreach ($records as $page) { @@ -175,7 +175,7 @@ function local_pages_extend_navigation(global_navigation $nav) { $records = $DB->get_records_sql("SELECT * FROM {local_pages} WHERE deleted=0 AND onmenu=1 " . "AND pagetype='page' AND pageparent=0 AND pagedate <= ? ORDER BY pageorder", array($today)); - local_pages_process_records($records, $nav, false, $nav); + local_pages_process_records($records, $nav, $nav); } /** From 7d6bbdbcda9a7e64c61e4c4f2668d17c0a6fdace Mon Sep 17 00:00:00 2001 From: Sven Bachmann Date: Wed, 8 Mar 2023 14:09:13 +0100 Subject: [PATCH 5/6] Bump versions & add entry in changelog --- CHANGELOG.md | 3 +++ version.php | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7451fab..d01d67c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 1.9.1 (2023030800) + - Improe PHP 8.x compatability + ## V1.9 – 04/11/2021 ### Added • Ability to add ogimage and HEAD content diff --git a/version.php b/version.php index dcbd83d..de88e53 100644 --- a/version.php +++ b/version.php @@ -25,8 +25,8 @@ defined('MOODLE_INTERNAL') || die; -$plugin->requires = 2020061500; // This plugin requires Moodle VER 3.9. -$plugin->version = 2021110401; // This plugins version number. -$plugin->release = 'v1.9'; // This plugins release number. -$plugin->maturity = MATURITY_STABLE; -$plugin->component = 'local_pages'; +$plugin->requires = 2021051700; // Moodle 3.11 +$plugin->version = 2023030800; +$plugin->release = '1.9.1'; +$plugin->maturity = MATURITY_STABLE; +$plugin->component = 'local_pages'; From 7cdb98e1bfc6333fa5d3b9f1e8623b9474847e3c Mon Sep 17 00:00:00 2001 From: Sven Bachmann <123725688+Snowdle@users.noreply.github.com> Date: Wed, 8 Mar 2023 15:38:28 +0100 Subject: [PATCH 6/6] Update changelog entry formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sam Møller <41996743+sampraxis@users.noreply.github.com> --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d01d67c..13aad19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # Changelog -## 1.9.1 (2023030800) - - Improe PHP 8.x compatability +## V1.9.1 08/03/2023 +### Fixed +* Improve PHP 8.x compatability ## V1.9 – 04/11/2021 ### Added