Mantisの改造・カスタマイズ その4 コメントに画像貼り付け機能

画像などはアップロードしたらサムネイルだけでダウンロードが基本的な動作だったので、コメント部分に張り付けられないか?と思って改造しました。
おそらく…プラグインの形にしたほうがすっきりするんでしょうが。

diff -r mantis/core/string_api.php mantisbt-1.2.15/core/string_api.php
944,975d943
< 
< /**
<  * return an href anchor that links to a bug COMMENT page for the given images uploaded
<  * @param int $p_image_id
<  * @return string
<  */
< function string_get_bug_image_link( $match = null ) {
<         $p_image_id = empty($match[2]) === false ? $match[2] : null;
<         //error_log('$match'.print_r($match,true),3,'/tmp/test.log');
<         preg_match('/^,rate(\d+).*/',$match[3],$match_rate);
<         $p_image_rate = empty($match_rate[1]) === false ? 'width:'.($match_rate[1] * 0.7).'%;'  : null;
<         //error_log('$match_rate:'.print_r($match_rate,true),3,'/tmp/test.log');
< 
<         $security_param  = form_security_param( 'file_show_inline' );
<         $image_link      = <<< _HTML_
< <a href="file_download.php?file_id={$p_image_id}&type=bug">
<   <img alt="" style="border: solid 3px #000 ;{$p_image_rate}" src="file_download.php?file_id=${p_image_id}&type=bug&show_inline=1{$security_param}" /> 
< </a> <br 
< _HTML_;
< 
<         return $image_link;
< }
< 
< /**
<  * return an href anchor that links to a bug COMMENT page for the given images uploaded
<  * @param int $p_image_id
<  * @return string
<  */
< function string_process_image_link( $p_string){
<         $p_string = preg_replace_callback( '/(^|[^\w])' . preg_quote( '%[', '/' ) . '(\d+)'.preg_quote( ']', '/' ).'(.*)\b/','string_get_bug_image_link',$p_string );
<         return $p_string ;
< }



diff -r mantis/plugins/MantisCoreFormatting/MantisCoreFormatting.php mantisbt-1.2.15/plugins/MantisCoreFormatting/MantisCoreFormatting.php
118d117
<                       $t_string = string_process_image_link( $t_string );
160d158
<                       $t_string = string_process_image_link( $t_string );
194d191
<                       $t_string = string_process_image_link( $t_string );



diffの形式で取り出してみました。
%[画像のID],rate100で画像が出ます。

これはプラグインにしたいところです。

rateっていうのはコメントの横幅に対する比率を入れるところです。
縦比率と横比率を別々に指定するやり方は行っていません。

僕が面倒くさがりだったので、パラメータ1つでいじれるほうを望みました。
横幅さえ合っていれば綺麗に見えるので、多少スクリーンキャプチャがずれてても気にならなくなったのは良い事かと。
まあ、弱点としては比率なので、直前の大きさが拡張されちゃうと、合わせて拡大されていくことかなと。