From dc1d1a3fcd0e6a9e4f1ba791e15765d68b09e6dc Mon Sep 17 00:00:00 2001 From: Michael Foster Date: Wed, 31 Jul 2013 16:22:27 -0400 Subject: [PATCH 1/3] Issue #125 --- inc/locale/pl_PL/LC_MESSAGES/tinyboard.mo | Bin 19790 -> 19840 bytes inc/locale/pl_PL/LC_MESSAGES/tinyboard.po | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/locale/pl_PL/LC_MESSAGES/tinyboard.mo b/inc/locale/pl_PL/LC_MESSAGES/tinyboard.mo index 2a31d64e2b739bc537600e64426544aa1e58a4fe..bc603e6776603e1b1c86a613577a3c9ddc23aad2 100644 GIT binary patch delta 2375 zcmX>%i?Lxgrz`)7Cz_7`ffq{d8 zfnkp^1A`p{1H(~ch(#1Y#(1!*P_ zhh&>DFt9N&Fcg|FFmN+4FjSZ@Fo-iSFtnI3Ft{@?Fw8NjXJ8O!U|@J+0&(FF6Nt;$ zOd$?ZHHFCQn?fx#Wnhp3S!l|@AjrVLkPTH=Ys$c2#lXPO4y6y7GB9{DFfjZzWnj=^ zU|?`JV*q=!$c%wOnt_3#)eI6c3+v4wE?#K{aq&7c1_pix28JzWkf=Cf2Jzu7sQgnX z|FszdgBk+^!#AjYS#yX3m7uh~ImE{{<`55fm_tG$21+MG>G~{lh)W91AwgdWm1r`D zIIPng;;=p_J;fXnLbIUic0w&UV9vn6#K6FC1!~T9DE+`35>hYCAtCVF91>D|7GV48 z89Xf@50w(gn@zKmKDTceQOA9Z4J@qZq2|Tz`(!|Y7GggG;2r{v|2+# za;7!d=M3{f`szVGvxc~63rK*0fngt1!6|Eq4=zLLdr);Rts!y!8EPPd4J3E4*)TA; zFfcH1*+4?X-v$yQt zB+iN)A#q&o2ys}aBSimXM@U*(;Rx~h4o8SN`y3%2ItmrP=*YmJ%fP^J-I0Mohk=2C zwcZKh6C)=E1~Uc*21h3b1`SY2<;1{X%D}*|&>rRjm_}~PIA}(hLU(p#-qFFmb zfV8Xz_VDAd4GfG?`AvxU@QgqLDg+#@1SBN>6 zp!9oJaER42@VG%-BI5?J(AW*)lYBRbhHf`Vkgsrq1m!k2NE{x5(pRD4FWewO{sn5@ zZ#PH~3%N5e7=s+>4$)Wa4sl?cJILO828J$o1_pglP`g8d@*-G*f#Ib)14AeS0|SEx z#Go(_NWs$V0ZG*}Js23|85kILcrY*+FfcIO@PO#&^kiT#WME)W^n^q~uqPx6)1l%G zo{%)N$&-OW43z(mdqP}z&l8dhguEa@sp16*0e3G*+DP$YV8~!#V3_U20LtixNa9=r z0jR9IA##>fwT`)d>{@A_W=bx14En-LmGo70|P^; z4z->;v)1PAGlU2a;_r`apvGKUAH(FT@~KUx-6(d?60-_JyRGR9{H>P`vr1 z;0-w+V{3(ioYJDi99xY%TU$c~dj$gpD}_8&LjyZoBLy`zFw@4?1jN(;2^-iL8YtA% ZfW<*-3^Wz&6$}-u6pS=C?>3k$0{{gO5`h2! delta 2325 zcmZpe&3JAW1_nQ4hI$4e1_p*)V+ICJ1_p)(V+IBe z1_p*MV+IC01_p-7#t@4x88a|2GcYjxGln>T$%KJ{hk=1X(1d}3i-Cbb4oYj9KrApZ zfjGd@gn@yLfq}u^gn@yZfq}uzgn>bvfq@~&gn_}Gfq@~*q@IC6n1O*|lL^Fy$4nqD zyJ7-y&}S2f{9l-brVI>HAPY?y7z7y@7%WX8>by-E7_1l=7($`+1XBhEPX-2t)20jz zS_}*fqGk+Wk2;t!Fi0~nFa(=HLMFf74C3N)Gl+|8%orH>85kIv%pg%Q$qeGd6;S!j zQ2tIc1_m_-28JV0{jbd+A@TuA|22d7n9CgE0Wot(NN7Q6LnvKuVGePLy*VW4-Jucz z<`9R4n?oEH1ErJ9At96jRo4!+pwFCvfr){EVG-1vrBHgEIV7aEn?pk2q&Xy{?m*=0 z8N@9h5(*X!43eP4Vgd2FFH}6)f`LJVfq|jSf`P%Cfq|jh0urRxEf^S*85kItEFp^Jj633p75Ql|3Li8s(Leff^BgE%zjt~#@I6^F*3>Ba6$iSe>z`(H7k%2*nfq~(2 zy(7dY3{DITW(*7r{7wuE8laNOiGjhCfq^043F70WPLL4T=LCtO8&LjxCrF9L=?n>a zMQ2FvuyuwwJOj$FafXMR%qvBr2x5Ld;nJ zrT4mmL#&?RmMg?1uUsJ(GP*&0V(SLc5a|X9@-jC_P`0>1;&1|#UJMoA<^~D!Lv9fB zPP##Y_<!fD|l&9*|U>?!mwy&%nUY=E1;Vz`($;%mbqTx(5S;Ap--$dk;tyD0)Jo(9{zm z?&k?fGYy^$3}T@CKh+cB!Zn_dT=2jX5|p1jAt4~@1xXu5UJMKw3=9mJUJML23=9mH zydbHV-y1@UdqYA<-W!rwwY?!BVgePnhVtFLAyMMz&A?C(Dybs9A#s`orSrWZskp=& zk~piN{7$IGeyBmSpyCUm{N>(|M7j=2pYR69F~cKoNc-RuRGq31DCij&bbJ`n7&I9e z7@U0|L6z$RvAEF(;*)kLJ=q76ZRYzxg8VF0-CL+ZpM4+>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #. There is no previous page. #: /var/www/html/Tinyboard/inc/functions.php:958 From d692bce68674934a4af2e9cba79d65e72279b0a9 Mon Sep 17 00:00:00 2001 From: Michael Foster Date: Wed, 31 Jul 2013 16:34:50 -0400 Subject: [PATCH 2/3] Fix issue #74. Note: This bug may break the display of certain filenames prior to upgrade. --- post.php | 6 +++--- templates/post_reply.html | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/post.php b/post.php index a82b56ad..8820db2d 100644 --- a/post.php +++ b/post.php @@ -284,7 +284,7 @@ if (isset($_POST['delete'])) { $post['has_file'] = !isset($post['embed']) && (($post['op'] && !isset($post['no_longer_require_an_image_for_op']) && $config['force_image_op']) || (isset($_FILES['file']) && $_FILES['file']['tmp_name'] != '')); if ($post['has_file']) - $post['filename'] = utf8tohtml(get_magic_quotes_gpc() ? stripslashes($_FILES['file']['name']) : $_FILES['file']['name']); + $post['filename'] = urldecode(get_magic_quotes_gpc() ? stripslashes($_FILES['file']['name']) : $_FILES['file']['name']); if (!($post['has_file'] || isset($post['embed'])) || (($post['op'] && $config['force_body_op']) || (!$post['op'] && $config['force_body']))) { $stripped_whitespace = preg_replace('/[\s]/u', '', $post['body']); @@ -347,7 +347,7 @@ if (isset($_POST['delete'])) { } else $noko = false; if ($post['has_file']) { - $post['extension'] = strtolower(substr($post['filename'], strrpos($post['filename'], '.') + 1)); + $post['extension'] = strtolower(mb_substr($post['filename'], mb_strrpos($post['filename'], '.') + 1)); if (isset($config['filename_func'])) $post['file_id'] = $config['filename_func']($post); else @@ -414,7 +414,7 @@ if (isset($_POST['delete'])) { $is_an_image = !in_array($post['extension'], $config['allowed_ext_files']); // Truncate filename if it is too long - $post['filename'] = substr($post['filename'], 0, $config['max_filename_len']); + $post['filename'] = mb_substr($post['filename'], 0, $config['max_filename_len']); $upload = $_FILES['file']['tmp_name']; diff --git a/templates/post_reply.html b/templates/post_reply.html index bc96e74c..b0391f19 100644 --- a/templates/post_reply.html +++ b/templates/post_reply.html @@ -66,9 +66,9 @@ {% if config.show_filename and post.filename %} , {% if post.filename|length > config.max_filename_display %} - {{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }} + {{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }} {% else %} - {{ post.filename|bidi_cleanup }} + {{ post.filename|e|bidi_cleanup }} {% endif %} {% endif %} {% if post.thumb != 'file' and config.image_identification %} From 6cdf6038754f18af4509ecf078f51894f63c5853 Mon Sep 17 00:00:00 2001 From: Michael Foster Date: Wed, 31 Jul 2013 16:38:09 -0400 Subject: [PATCH 3/3] Fix last commit; Make Tinyboard Twig extension more mb-safe --- inc/lib/Twig/Extensions/Extension/Tinyboard.php | 8 ++++---- templates/post_thread.html | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inc/lib/Twig/Extensions/Extension/Tinyboard.php b/inc/lib/Twig/Extensions/Extension/Tinyboard.php index 61cf9fc9..58a98c40 100644 --- a/inc/lib/Twig/Extensions/Extension/Tinyboard.php +++ b/inc/lib/Twig/Extensions/Extension/Tinyboard.php @@ -83,9 +83,9 @@ function twig_hasPermission_filter($mod, $permission, $board = null) { } function twig_extension_filter($value, $case_insensitive = true) { - $ext = substr($value, strrpos($value, '.') + 1); + $ext = mb_substr($value, mb_strrpos($value, '.') + 1); if($case_insensitive) - $ext = strtolower($ext); + $ext = mb_strtolower($ext); return $ext; } @@ -96,11 +96,11 @@ function twig_sprintf_filter( $value, $var) { function twig_truncate_filter($value, $length = 30, $preserve = false, $separator = '…') { if (mb_strlen($value) > $length) { if ($preserve) { - if (false !== ($breakpoint = strpos($value, ' ', $length))) { + if (false !== ($breakpoint = mb_strpos($value, ' ', $length))) { $length = $breakpoint; } } - return substr($value, 0, $length) . $separator; + return mb_substr($value, 0, $length) . $separator; } return $value; } diff --git a/templates/post_thread.html b/templates/post_thread.html index 6d14f207..21add308 100644 --- a/templates/post_thread.html +++ b/templates/post_thread.html @@ -23,9 +23,9 @@ {% if config.show_filename and post.filename %} , {% if post.filename|length > config.max_filename_display %} - {{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }} + {{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }} {% else %} - {{ post.filename|bidi_cleanup }} + {{ post.filename|e|bidi_cleanup }} {% endif %} {% endif %} {% if post.thumb != 'file' and config.image_identification %}