From 296daf41c74dc5acae47a0a33468090ca0861cc3 Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Wed, 1 May 2013 09:55:01 +0100 Subject: [PATCH] MDL-39444 get_string: remove unnecessary clean_param This clean_param was added as part of MDL-22015. It is a good idea when developer debug is turned on, but it showed up as a surprisingly expensive cost in our profiling. This change: 1. Removes the check during string_extist. This will not change behaviour, the method returns false if the string does not exist. 2. In get_string, it only does the check if debugging is set to DEVELOPER level. --- lib/moodlelib.php | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 8ef210f5c45..ec36c644592 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6823,10 +6823,6 @@ class core_string_manager implements string_manager { * @return boot true if exists */ public function string_exists($identifier, $component) { - $identifier = clean_param($identifier, PARAM_STRINGID); - if (empty($identifier)) { - return false; - } $lang = current_language(); $string = $this->load_component_strings($component, $lang); return isset($string[$identifier]); @@ -7304,10 +7300,6 @@ class install_string_manager implements string_manager { * @return boot true if exists */ public function string_exists($identifier, $component) { - $identifier = clean_param($identifier, PARAM_STRINGID); - if (empty($identifier)) { - return false; - } // simple old style hack ;) $str = get_string($identifier, $component); return (strpos($str, '[[') === false); @@ -7565,8 +7557,7 @@ function get_string($identifier, $component = '', $a = NULL, $lazyload = false) return new lang_string($identifier, $component, $a); } - $identifier = clean_param($identifier, PARAM_STRINGID); - if (empty($identifier)) { + if (debugging('', DEBUG_DEVELOPER) && clean_param($identifier, PARAM_STRINGID) === '') { throw new coding_exception('Invalid string identifier. The identifier cannot be empty. Please fix your get_string() call.'); } @@ -11416,7 +11407,7 @@ class lang_string { // Check if we need to process the string if ($this->string === null) { // Check the quality of the identifier. - if (clean_param($this->identifier, PARAM_STRINGID) == '') { + if (debugging('', DEBUG_DEVELOPER) && clean_param($this->identifier, PARAM_STRINGID) === '') { throw new coding_exception('Invalid string identifier. Most probably some illegal character is part of the string identifier. Please check your string definition'); }