返信する: d3diaryサポート板


オプション

参照

Re: 未来投稿日時の指定時 各ブロック表示について
投稿者: なーお 投稿日時: 2011/4/5 22:21

取り急ぎ、特に気になりそうなカレンダーのほうだけ対処方法を記しておきます。 手元ソースでは変更しましたので、次回バージョンアップで反映されます。

「(trust側)/class/func.class.php」の334行目付近

元のソース

334
335
336
337
338
339
340
    $sql = "SELECT d.uid, d.bid, d.cid, d.create_time, d.openarea, 
            c.cid, c.openarea AS openareacat 
            FROM ".$db->prefix($this->mydirname.'_diary')." d 
            LEFT JOIN ".$db->prefix($this->mydirname.'_category')." c ".$on_uid." 
            LEFT JOIN ".$db->prefix($this->mydirname.'_config')." cfg ON d.uid=cfg.uid 
            WHERE ".$whr_uid." AND ".$whr_openarea." 
            AND create_time>='".$start."' AND create_time<'".$end."'";

 ↓ 以下のように変更

334
335
336
337
338
339
340
341
342
343
344
345
    $now = date("Y-m-d H:i:s");
    if ($this->mPerm->isadmin!=true and $this->mPerm->isauthor!=true) {
        $whr_nofuture = " AND d.create_time<'".$now."' ";
    } else { $whr_nofuture = ""; }
 
    $sql = "SELECT d.uid, d.bid, d.cid, d.create_time, d.openarea, 
            c.cid, c.openarea AS openareacat 
            FROM ".$db->prefix($this->mydirname.'_diary')." d 
            LEFT JOIN ".$db->prefix($this->mydirname.'_category')." c ".$on_uid." 
            LEFT JOIN ".$db->prefix($this->mydirname.'_config')." cfg ON d.uid=cfg.uid 
            WHERE ".$whr_uid." AND ".$whr_openarea.$whr_nofuture." 
            AND create_time>='".$start."' AND create_time<'".$end."'";

なお、投稿者リストのほうは日付以外にも閲覧権限での絞り込みを行っていないので、総合的にそれらを組み込むと重くなりそうなので控えています。 よって、そちらは現状のままとさせてください。