PukiWikiプラグイン「minicalendar_viewer.inc.php」の日付表示変更方法

PukiWiki Plus!用プラグイン minicalendar_viewer の日付を日本人に馴染みやすい表示形式にするカスタマイズです。

  1. YYYY-MM-DD(曜日) という表示にする
  2. 休日の文字色は全体では無く、曜日だけに適用する

プラグインファイルを書き換えます

plugin/minicalendar_viewer.inc.php をテキストエディタで開き以下の部分を探します。
このとき、UTF-8・EUCなどの文字コードに対応しているエディタで開く必要があります。
行番号はバージョンやカスタマイズ状況により異なりますので参考程度に載せてあります。

230  if (PLUGIN_MINICALENDAR_VIEWER_HOLIDAYVIEW === TRUE) {
231    $time = strtotime($page_title);
232    if ($time != -1) {
233      $yy = intval(date(‘Y’, $time));
234      $mm = intval(date(‘n’, $time));
235      $dd = intval(date(‘d’, $time));
236      $monthlabel = array(1 => 
237        ‘January’,’Feburary’,’March’,    ‘April’,  ‘May’,     ‘June’,
238        ‘July’,   ‘August’,  ‘September’,’October’,’November’,’December’
239      );
240      $mmstr = $monthlabel[$mm];
241      $h_today = public_holiday($yy, $mm, $dd); 
242      $hday = $h_today[‘rc’];
243      $f_today = getdate(mktime(0,0,0,$mm,$dd,$yy) – LOCALZONE + ZONETIME);
244      $wday = $f_today[‘wday’];
245      if ($hday != 0)      { $classname = ‘date_holiday’; }
246      else if ($wday == 0) { $classname = ‘date_holiday’; }
247      else if ($wday == 6) { $classname = ‘date_weekend’; }
248      else { $classname = ‘date_weekday’; }
249      $head = ‘<h3 class=”‘. $classname . ‘”><span class=”day”>’ . sprintf(‘%02d’, $dd) . ‘</span> <br />’
250            . ‘<b>’ . $mmstr . ‘</b>, <b>’ . $yy . ‘</b>’ . $link . ‘</h3>’ . “\n”;
251    }
252  }

248行目と249行目の間に以下の2行を挿入します。

$wday_jp = array(‘日’,’月’,’火’,’水’,’木’,’金’,’土’);
$wdaystr = $wday_jp[$wday];

249行目、$head= を以下の内容に置き換えます。

$head = ‘<h3 class=”calendar_date”>’ . $yy . ‘-‘ . sprintf(‘%02d’, $mm) . ‘-‘ . sprintf(‘%02d’, $dd) . ‘(‘ . ‘<span class=”‘ .$classname . ‘”>’ . $wdaystr . ‘</span>’ . ‘)’ . $link . ‘</h3>’ . “\n”;

スタイルシートを書き換えます

skin/default.css

以下のクラス名を探して曜日の色指定だけにします。

.date_weekday {

}
.date_weekend {
    color: #14F;
}
.date_holiday {
    color: #F41;
}

以下のクラスを作成して曜日以外の文字色等を設定します。

.calendar_date {
    border: 0;
    color: #A0A;
}

変更したファイルをアップロードします

変更した2つのファイルをFTP等でアップロードして完了です。

  • plugin/minicalendar_viewer.inc.php
  • skin/default.css