返信する: d3diaryサポート板
- Re: d3diary のデータ取得について
- 投稿者: なーお 投稿日時: 2012/6/25 12:40
nao-ponさん、こんにちは。
X-elfinderのd3diaryプラグイン作成いただけるとのことでありがとうございます! 全部自分でやらなきゃいけないだろうな、なんて思っていたので、すごく嬉しいです。
で、ずばり参考にすべきソースはどこか? ということをまずお伝えすると、 main/photolist.php です。
この中で、
180 181
list( $photolist, $photonavi ) = $func->get_photolist ( $arr_req_uids, $uid, $mod_config['block_diarynum'], $offset, $yd_param );
というのがあります。 $funcは、冒頭で作られた
$func =& $d3dConf->func ;
になりますので、class/func.class.phpソースの1202行名から
function get_photolist( $req_uid=array(), $uid, $max_entry, $offset=0, $params=array() ){
があります。ブロックからもコールされる共通メソッドです。
このメソッドにパラメータを渡せば、そのまま一覧は取得できそうですね。 categoryやらuidやらを渡さないといけないので面倒ではありますが、元々nao-ponさんのソースを参考にsingletonパターンで各オブジェクトを参照できちゃうので、追っていけばわかっていただけるかもですね。
photolist.phpのほうで、photolistには関係無さそうな「yd_xxxx」アサインが数多くありますが、これはd3diaryの右メニューバー用ですので無視していただいて大丈夫です。
さて問題は書き込みのほうですが、、
d3diaryのphotoテーブルにはカテゴリーフィールドがありません。 あくまで記事に添付された画像なので、記事に紐付けされたカテゴリーということになります。で、X-elfinderで画像をアップするとき、どの記事に紐付け、とかは決まってないですよね。。 カテゴリー毎にフォルダを作るとしても、そのフォルダに入れても実際にどの記事に紐付けするか決まらないと、DBに格納できない、というジレンマが・・
その辺のソースは、main/index.phpの下のほうにあるんですが、previewとか絡んでいて、この部分は相当にごちゃごちゃしたソースです。 一旦仮にcategory「0」でDBに格納するのが無難かもですね。bidも「0」かな。。
もう一つ、カテゴリー番号cidは、10000未満は各個人カテゴリー用で、同じcidでuidが違うものが入ってくるので要注意です。 cidが10000以上は共有カテゴリーなので、uid=0しか入ってきません。
一応そんな感じなんですが、どうにかなりますかね、かなーり面倒な感じがするんですけど・・ m(..)m