- date: 2008-11-25 (Tue) 07:45
- category: misc
- tag:
/admin/image_edit.php の$_POST['moderate_image_boxes'] が原因で管理画面の「イメージ」にアクセスした時、たまに in_arrayの第2引数がおかしいよ エラーを吐きはじめてしまいました。
例のごとく、Google Code では対策済みだったのでメモしておきます。
/admin/image_edit.php の 570行目付近、
$fs = filesize('../images/'.$image);
$fs*=0.001;
この辺りを探したら、その次を見て(問題があるのはこの次のechoの内容)、
<input type=\"checkbox\" class=\"images-checkbox\" name=\"moderate_image_boxes[]\" value=\"$id\" ".(in_array($id, $_POST['moderate_image_boxes'])?' checked':'')."/>
こいつが悪さをしている様子。
Google Codeから持ってきた以下のコードでinput type=checkboxの部分まで書き換えればOKっぽい。
$fs = filesize($cfgrow['imagepath'].$image);
$fs*=0.001;
if(isset($_POST['moderate_image_boxes'])){ $checked = in_array($id, $_POST['moderate_image_boxes']) ? 'checked' : ''; }else{ $checked = ''; }
echo "<li><a href=\"../index.php?showimage=$id\"><img src=\"".$cfgrow['thumbnailpath']."thumb_$image\" align=\"left\" hspace=\"3\" alt=\"Click to go to image\" /></a>
<input type=\"checkbox\" class=\"images-checkbox\" name=\"moderate_image_boxes[]\" value=\"$id\" $checked />
1.7.2のバージョンアップの時全部直っているといいなぁ。
#あと、echoの中に$_POSTとかの内容そのまま入れるのはやめて欲しい。そりゃエラーでるわーみたいな。