summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/locale.inc8
1 files changed, 6 insertions, 2 deletions
diff --git a/includes/locale.inc b/includes/locale.inc
index 4b9ce34ea..74b6efc7d 100644
--- a/includes/locale.inc
+++ b/includes/locale.inc
@@ -856,8 +856,10 @@ function locale_string_is_safe($string) {
* Validate string editing form submissions.
*/
function locale_translate_edit_form_validate($form, &$form_state) {
+ // Locale string check is needed for default textgroup only.
+ $safe_check_needed = $form_state['values']['textgroup'] == 'default';
foreach ($form_state['values']['translations'] as $key => $value) {
- if (!locale_string_is_safe($value)) {
+ if ($safe_check_needed && !locale_string_is_safe($value)) {
form_set_error('translations', t('The submitted string contains disallowed HTML: %string', array('%string' => $value)));
watchdog('locale', 'Attempted submission of a translation string with disallowed HTML: %string', array('%string' => $value), WATCHDOG_WARNING);
}
@@ -1349,7 +1351,9 @@ function _locale_import_one_string_db(&$report, $langcode, $source, $translation
if (!empty($translation)) {
// Skip this string unless it passes a check for dangerous code.
- if (!locale_string_is_safe($translation)) {
+ // Text groups other than default still can contain HTML tags
+ // (i.e. translatable blocks).
+ if ($textgroup == "default" && !locale_string_is_safe($translation)) {
$report['skips']++;
$lid = 0;
}