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.
This commit is contained in:
+2
-11
@@ -6603,10 +6603,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]);
|
||||
@@ -7063,10 +7059,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);
|
||||
@@ -7312,8 +7304,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.');
|
||||
}
|
||||
|
||||
@@ -11120,7 +11111,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');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user