From fefdb9ad68449c8a8af2708b874188ca2364d12f Mon Sep 17 00:00:00 2001 From: David Matamoros Date: Thu, 18 Feb 2021 16:04:02 +0100 Subject: [PATCH] MDL-70941 contentbank: fix empty equality check when renaming content --- contentbank/classes/content.php | 2 +- contentbank/classes/external/rename_content.php | 2 +- contentbank/tests/contenttype_test.php | 1 + contentbank/tests/external/rename_content_test.php | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/contentbank/classes/content.php b/contentbank/classes/content.php index 227294bb60d..6b88caee1ae 100644 --- a/contentbank/classes/content.php +++ b/contentbank/classes/content.php @@ -140,7 +140,7 @@ abstract class content { */ public function set_name(string $name): bool { $name = trim($name); - if (empty($name)) { + if ($name === '') { return false; } diff --git a/contentbank/classes/external/rename_content.php b/contentbank/classes/external/rename_content.php index 5cd9d754a83..c86511d7062 100644 --- a/contentbank/classes/external/rename_content.php +++ b/contentbank/classes/external/rename_content.php @@ -87,7 +87,7 @@ class rename_content extends external_api { $content = new $contentclass($record); // Check capability. if ($contenttype->can_manage($content)) { - if (empty(trim($name))) { + if (trim($params['name']) === '') { // If name is empty don't try to rename and return a more detailed message. $warnings[] = [ 'item' => $contentid, diff --git a/contentbank/tests/contenttype_test.php b/contentbank/tests/contenttype_test.php index 09c0a39565a..d3894ff21e7 100644 --- a/contentbank/tests/contenttype_test.php +++ b/contentbank/tests/contenttype_test.php @@ -464,6 +464,7 @@ class core_contenttype_contenttype_testcase extends \advanced_testcase { 'Too long name' => [str_repeat('a', 300), str_repeat('a', 255), true], 'Empty name' => ['', 'Test content ', false], 'Blanks only' => [' ', 'Test content ', false], + 'Zero name' => ['0', '0', true], ]; } diff --git a/contentbank/tests/external/rename_content_test.php b/contentbank/tests/external/rename_content_test.php index d369bb2bd9e..889baf7ee7e 100644 --- a/contentbank/tests/external/rename_content_test.php +++ b/contentbank/tests/external/rename_content_test.php @@ -60,6 +60,7 @@ class rename_content_testcase extends \externallib_advanced_testcase { 'Too long name' => [str_repeat('a', 300), str_repeat('a', 255), true], 'Empty name' => ['', 'Test content ', false], 'Blanks only' => [' ', 'Test content ', false], + 'Zero name' => ['0', '0', true], ]; }