diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 6827a0c505..b01e970ef5 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -195,6 +195,8 @@ p a {
[Fix] Display custom profile field "date" based on users language (Bug #12787)
[Fix] Allow adding of help language files within subdirectories (Bug #12783)
[Fix] Correctly apply smileys on posting having # within their emotion code
+ [Fix] Correctly convert smileys having double quotes within their emotion code (Bug #12731)
+
diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php
index 414f6f2f20..324844aa7f 100644
--- a/phpBB/includes/functions_convert.php
+++ b/phpBB/includes/functions_convert.php
@@ -2413,4 +2413,14 @@ function get_smiley_display()
return ($smiley_count < 50) ? 1 : 0;
}
+
+function fill_dateformat($user_dateformat)
+{
+ global $config;
+
+ return ((empty($user_dateformat)) ? $config['default_dateformat'] : $user_dateformat);
+}
+
+
+
?>
\ No newline at end of file
diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php
index 796c2e19d4..573825b7bb 100644
--- a/phpBB/install/convertors/convert_phpbb20.php
+++ b/phpBB/install/convertors/convert_phpbb20.php
@@ -540,7 +540,7 @@ if (!$get_info)
'autoincrement' => 'smiley_id',
array('smiley_id', 'smilies.smilies_id', ''),
- array('code', 'smilies.code', 'phpbb_set_encoding'),
+ array('code', 'smilies.code', array('function1' => 'phpbb_smilie_html_decode', 'function2' => 'phpbb_set_encoding', 'function3' => 'utf8_htmlspecialchars')),
array('emotion', 'smilies.emoticon', 'phpbb_set_encoding'),
array('smiley_url', 'smilies.smile_url', 'import_smiley'),
array('smiley_width', 'smilies.smile_url', 'get_smiley_width'),
@@ -862,7 +862,7 @@ if (!$get_info)
array('user_lang', $config['default_lang'], ''),
array('', 'users.user_lang', ''),
array('user_timezone', 'users.user_timezone', ''),
- array('user_dateformat', 'users.user_dateformat', array('function1' => 'phpbb_set_encoding')),
+ array('user_dateformat', 'users.user_dateformat', array('function1' => 'phpbb_set_encoding', 'function2' => 'fill_dateformat')),
array('user_inactive_reason', '', 'phpbb_inactive_reason'),
array('user_inactive_time', '', 'phpbb_inactive_time'),
diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php
index 9b5e236b6d..443855403b 100644
--- a/phpBB/install/convertors/functions_phpbb20.php
+++ b/phpBB/install/convertors/functions_phpbb20.php
@@ -1439,6 +1439,16 @@ function phpbb_avatar_type($type)
return 0;
}
+
+/**
+* Just undos the replacing of '<' and '>'
+*/
+function phpbb_smilie_html_decode($code)
+{
+ $code = str_replace('<', '<', $code);
+ return str_replace('>', '>', $code);
+}
+
/**
* Transfer avatars, copying the image if it was uploaded
*/