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:
Tim Hunt
2013-05-01 10:18:24 +01:00
parent 5e00b9a6e7
commit 6137bc9ca2
+2 -11
View File
@@ -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');
}