summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/functions.php9
1 files changed, 5 insertions, 4 deletions
diff --git a/inc/functions.php b/inc/functions.php
index 30c609a5..8f7370bc 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -1426,14 +1426,15 @@
function generate_tripcode($name, $length = 10){
global $config;
- $name = stripslashes ( $name );
$t = explode('#', $name);
$nameo = $t[0];
if ( isset ( $t[1] ) || isset ( $t[2] ) ) {
$trip = ( ( strlen ( $t[1] ) > 0 ) ? $t[1] : $t[2] );
if ( ( function_exists ( 'mb_convert_encoding' ) ) ) {
- # mb_substitute_character('none');
- $recoded_cap = mb_convert_encoding ( $trip, 'Shift_JIS', 'UTF-8' );
+ // multi-byte encoding is necessary to produce standard tripcode output, but only use it if available
+ mb_substitute_character('none');
+ // $trip is now properly encoded
+ $trip = mb_convert_encoding ( $trip, 'Shift_JIS', 'UTF-8' );
}
$trip = ( ( ! empty ( $recoded_cap ) ) ? $recoded_cap : $trip );
$salt = substr ( $trip.'H.', 1, 2 );
@@ -1446,7 +1447,7 @@
else
$trip = '!!' . substr ( crypt ( $trip, $config['secure_trip_salt'] ), ( -1 * $length ) );
} else {
- // insecure
+ // insecure
if(isset($config['custom_tripcode']["#{$trip}"]))
$trip = $config['custom_tripcode']["#{$trip}"];
else