MT3.33インストール/画像回り込み
centree | 2006 年 9 月 29 日MTの脆弱性が指摘されていたので、MT3.33をインストールしました。なぜか上書きインストールに何回か失敗し、対応策を考えているとなぜか成功し、振り回されてしまいました。
ちなみに、CMS.pm(画像の回り込みをするとき編集が必要なファイルも書き換えられてしまったので、これを機にワサビーチップスさんの説明を参考にちょこっと変更してみました。
ただし、CMS.pmはMT3.33では少し仕様が変わっているのか、ワサビーチップスさんのサイトどおりではできませんでした。手入力で調整。覚え書きのために記しておきます。
(※かなりの部分を転載させていただきます)
●tmpl/cms/upload_complete.tmpl
139行目(MT3.33-ja)
<p><label><input type="checkbox" name="constrain" value="1" checked="checked"> <MT_TRANS phrase="Constrain proportions"></p>
</TMPL_IF>
の下に。
<h4>画像へのテキスト回り込み設定</h4> <p> <select name="ifloat" class="menu" > <option value="left" >画像が左、テキストが右 <option value="right" selected>画像が右、テキストが左 <option value="none">回り込みなし </select> </p>
日本語を使う場合は、config.sysで指定した文字コードでファイル保存してやること。デフォルトではUTF-8。 すぐ下の
<div> <TMPL_IF NAME=IS_IMAGE> <input type="button" onclick="doClick(this.form, ‘popup=1&width=<
TMPL_VAR NAME=WIDTH>&height=<
TMPL_VAR NAME=HEIGHT>&image_type=<
TMPL_VAR NAME=IMAGE_TYPE>’)" value="<
MT_TRANS phrase="Popup Image">" /> <input type="button" onclick="doClick(this.form, ‘include=1&width=<
TMPL_VAR NAME=WIDTH>&height=<
TMPL_VAR NAME=HEIGHT>&image_type=<
TMPL_VAR NAME=IMAGE_TYPE>’)" value="<
MT_TRANS phrase="Embedded Image">" /> <
TMPL_ELSE> <input type="button" onclick="doClick(this.form, ‘link=1′)" value="<
MT_TRANS phrase="Link">" /> </
TMPL_IF> </div>
を
<div> <TMPL_IF NAME=IS_IMAGE> <input type="button" onclick="doClick(this.form, ‘imgfloat=’+this.form.ifloat.value+’&popup=1&width=<
TMPL_VAR NAME=WIDTH>&height=<
TMPL_VAR NAME=HEIGHT>&image_type=<
TMPL_VAR NAME=IMAGE_TYPE>’)" value="<
MT_TRANS phrase="Popup Image">" /> <input type="button" onclick="doClick(this.form, ‘imgfloat=’+this.form.ifloat.value+’&include=1&width=<
TMPL_VAR NAME=WIDTH>&height=<TMPL_VAR NAME=HEIGHT>&image_type=<
TMPL_VAR NAME=IMAGE_TYPE>’)" value="<MT_TRANS phrase="Embedded Image">" /> <
TMPL_ELSE> <input type="button" onclick="doClick(this.form, ‘link=1′)" value="<
MT_TRANS phrase="Link">" /> </
TMPL_IF> </div>
へ変更。
●lib/MT/App/CMS.pm
<b>4745</b>行目(MT3.3-ja)
『$q->param(’popup’)』にて検索するとよい。
if ($q->param(’popup’)) {
require MT::Template;
if (my $tmpl = MT::Template->load({ blog_id => $blog_id,
type => ‘popup_image’ })) {
(my $rel_path = $q->param(’fname’)) =~ s!\.[^.]*$!!;
if ($rel_path =~ m!\.\.|\0|\|!) {
return $app->error($app->translate(
これのすぐ上に
my $imgclass; if ($q->param(’imgfloat’) eq ‘left’) { $imgclass = " class=’l’ "; }elsif ($q->param(’imgfloat’) eq ‘right’) { $imgclass = " class=’r’ "; }else { $imgclass = ”; }
追加。
ここで、$imgclassという変数に、クラス名「l」、「r」を代入している。
class名変えたいなら、ここのclass=’l'、class=’r'を変更してやればよい。
<b>4796</b>行目付近(MT3.3-ja)『my $link』で検索するとよい。
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="" />) : q{<MT_TRANS phrase="View image">};
return $app->translate_templatized(<<"HTML");
<a href="$url" onclick="window.open(’$url’,'popup’,
‘width=$width,height=$height,scrollbars=no,resizable=no,
toolbar=no,directories=no,location=no,menubar=no,status=no,
left=0,top=0′); return false">$link</a>
HTML
} elsif ($q->param(’include’)) {
if ($thumb) {
return <<"HTML";
<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" /></a>
HTML
}
ここの<img>タグ3個所にクラス名「 $imgclass 」を追記。
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="" $imgclass/>) : q{<MT_TRANS phrase="View image">};
return $app->translate_templatized(<<"HTML");
<a href="$url" onclick="window.open(’$url’,'popup’,
‘width=$width,height=$height,scrollbars=no,resizable=no,
toolbar=no,directories=no,location=no,menubar=no,status=no,
left=0,top=0′); return false">$link</a>
HTML
} elsif ($q->param(’include’)) {
if ($thumb) {
return <<"HTML";
<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" $imgclass/></a>
HTML
} else {
return <<"HTML";
<img alt="$fname" src="$url" width="$width" height="$height" $imgclass/>
HTML
}
●スタイルシート(style-site.css)文末に
img.r { float:right;
border: 0;
margin-left:5px;
margin-top:0px;
vertical-align:top;
}
img.l {
float: left;
border: 0;
margin-right:5px;
margin-top:0px;
vertical-align:top;
}
こんなとこでしょうか。

最近のコメント
うちにも来ましたよ~
└by centree (08.10.26)
うちにも来ましたよ~
└by N2 (08.10.23)
ヤモリ(苦手な方、ごめんなさいね…)
└by 千葉のAnny (08.09.28)
箱を制作。
└by centree (08.09.02)
箱を制作。
└by 千葉のAnny (08.09.02)