新着記事に「NEW!」マーク

Blogn(ぶろぐん)v1.9.2 の場合

記事投稿時に UNIX タイムを取得

admin.php

if ($action == "post") {
  $d_date = sprintf("%4d%02d%02d", $d_year, $d_month, $d_day);
  $d_time = sprintf("%02d%02d%02d", $d_hour, $d_minutes, $d_second);
  $d_utime = strtotime($d_date) + $d_hour * 3600 + $d_minutes * 60 + $d_second;
  // 日付チェック

admin.php(↓改行していますが、実際には1行です)

$log = $d_eid."<>".$d_date."<>".$d_time."<>".$d_cid."<>".$pid."<>".$d_title.
"<>".$d_mes."<>".$d_more."<>".$cok."<>".$tok."<>".$d_utime."\r\n";

admin.php(↓改行していますが、実際には1行です)

list($d_eid, $d_date, $d_time, $d_cid, $pid, $d_title, $d_mes, $d_more, $cok,
$tok, $d_utime) = explode("<>", $tmplog);

admin.php

}elseif ($action == "update") {
  $d_date = sprintf("%4d%02d%02d", $d_year, $d_month, $d_day);
  $d_time = sprintf("%02d%02d%02d", $d_hour, $d_minutes, $d_second);
  $d_utime = strtotime($d_date) + $d_hour * 3600 + $d_minutes * 60 + $d_second;
  // 日付設定

admin.php(↓改行していますが、実際には1行です)

$log = $d_eid."<>".$d_date."<>".$d_time."<>".$d_cid."<>".$pid."<>".$d_title.
"<>".$d_mes."<>".$d_more."<>".$cok."<>".$tok."<>".$d_utime."\r\n";

新着記事一覧に画像を表示

index.php 518行目〜

/* ----- 最近の更新 ----- */
function newentries_call($skin) {
  if (!preg_match("/\{NE\}/",$skin) || !preg_match("/\{\/NE\}/",$skin)) return $skin;

  list($skin1,$buf,$skin2) = word_sepa("{NELOOP}", "{/NELOOP}", $skin);
  $tmpbuf = $buf;
  $skin3 = "";

  $breakkey = 0;
  if ($filelist = LogFileList(0)) {
    $i = 0;
    while (list($key, $val) = each($filelist)) {
      if ($breakkey == 1) break;
      $log = file(LOGDIR.substr($val,3,4)."/".$val);
      while (list($logkey, $logval) = each($log)) {
        list($eid, $d_date, $d_time, , , $d_title, , , , , $d_utime,) = explode("<>", $logval);
        $NEtitle = $d_title;
        $NElink = "<a href=\"".PHP_SELF."?eid=".$eid."\">";
        $current_time = time();
        $diff = $current_time - $d_utime;
        if ($diff <= 86400) {
          $NElinke = "</a> <img src=\"./ico/icon025.gif\">";
        }else{

          $NElinke = "</a>";
        }
        $buf = preg_replace ("/\{NETITLE\}/", $NEtitle, $tmpbuf);
        $buf = preg_replace ("/\{NELINK\}/", $NElink, $buf);
        $buf = preg_replace ("/\{\/NELINK\}/", $NElinke, $buf);

現在時刻と記事投稿時間を比較して、もし1日(86400秒)以内なら、新着マークを表示します。
もっと長い期間画像を表示させたい場合は、86400 の数値を変更してください。

上記の例では Blogn のアイコン画像(<img src=\"./ico/icon025.gif\">)を使っていますが、アドレスを変更すれば、好きな画像にかえられます。


サイト作成のヒント集に戻る