Coppermine Photo Album
有馬の社長から要請があって、サイトのトップに写真ギャラリーみたいなのを付けたいと言われた。とりあえず適当なアルバムスクリプトを持ってきて、RSS配信してサイト側で読めばいいかー、とか負荷を全く考えていない適当なことやることにした*1ので、手頃なものを探してたところCoppermineを見付けた。
ざっと見たところ、
とか良さげやったんで使用することにした。
上のサイトを参考に、とりあえず入れてみたところUTF-8で日本語されたんで問題ないかなぁ、と思いきや日本語でタイトル打ったりすると化ける…。多言語化微妙。やむなくlanguageファイルをEUC-JPにして、設定のエンコーディングをEUC-JPに切り替えたら上手くいった。
RSS配信機能はないので、親切な人が作ったものを適当に使う。
中の記述中のUTF-8をEUC-JPに適宜置換して、ついでにアルバム/カテゴリ別表示も超適当に付ける。
$result = mysql_query("SELECT pid,ctime,title,keywords,filepath,filename,caption,filesize, pwidth,pheight FROM {$CONFIG['TABLE_PICTURES']} ORDER BY pid DESC LIMIT 0,$upperlimit");
を
$aid=$HTTP_GET_VARS['a']; $cid=$HTTP_GET_VARS['c']; $where = ""; if(!empty($aid)){ $where = " WHERE aid = $aid"; }elseif(!empty($cid)){ $result = mysql_query("SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} WHERE category=$cid"); $aids = array(); while (list($temp) = mysql_fetch_row($result)) { $aids[] = $temp; } $where = " WHERE aid = ".implode($aids, " or aid = "); } $result = mysql_query("SELECT pid,ctime,title,keywords,filepath,filename,caption,filesize, pwidth,pheight FROM {$CONFIG['TABLE_PICTURES']} $where ORDER BY pid DESC LIMIT 0,$upperlimit");
にした。呼出し時にa=1とかc=2とかアルバムやカテゴリのID指定でそれだけ表示できる。
あとはなんか適当に、PEARのXML_RSSを使った簡易RSS表示スクリプトを改造して、コレ専用に仕立てて終わり。とりあえずやってみて、と言われただけなんで、こんなもんであとは様子見。
*1:つっても今回は同一サーバ内でやるから、負荷の増加はそれ程でもない