未来投稿記事の表示

Nucleusでは普通、今日の日付までの記事しか表示できません。
そこで、Nucleusでスケジュール管理用に先々の予定なども書き込み、表示させるようにしたかったので、いろいろ調べてみました。同じ様なことを考える人がやっぱりいるんですね。
NucleusJPフォーラムの中にありました。
http://japan.nucleuscms.org/bb/viewtopic.php?t=144
ここにコアファイルを改造する方法が詳しく解説されています。
1)Nucleusのコアファイル「BLOG.php」の変更
BLOG.php(v3.31SP1)
以下の3ヶ所を//でコメントアウト

function getSqlSearch内
491行目//	   . ' and i.itime<=' . mysqldate($this->getCorrectTime())
function getSqlBlog内
534行目	       . ' and i.idraft=0';	// exclude drafts
536行目//	   . ' and i.itime<=' . mysqldate($this->getCorrectTime());
※行の終了";"がコメントアウトではずれてしまうので「. ' and i.idraft=0」の後ろに";"を入れます
function showArchiveList内
566行目//	   . ' and itime <=' . mysqldate($this->getCorrectTime())	// don't show future items!

2)「globalfunctions.php」、「COMMENTS.php」の各ファイルのそれぞれの0,0 の部分を、1,1に変更
globalfunctions.php(v3.31SP1)

function selector内
771行目		if (!$manager->existsItem($itemid,1,1))

COMMENTS.php(v3.31SP1)

function isValidComment内
287行目		$item =& $manager->getItem($this->itemid,1,1);

3)プラグインを使用する場合はそのプラグインも変更
私は「NP_ShowBlogs」を使ってるのでこちらも変更します
http://japan.nucleuscms.org/bb/viewtopic.php?t=604
ここに変更方法が書かれてます。
NP_ShowBlogs
下記の2ヶ所(記事数カウントする部分と、記事を抽出する部分と)をコメントアウトして未来制限を解除します。

340行目//	$where .= ' AND i.itime <= ' . mysqldate($b->getCorrectTime());
404行目//				   . ' AND i.itime  <= ' . mysqldate($b->getCorrectTime()) 

4)未来投稿記事をカレンダーで表示できるように変更
NP_Calender-0.84k(表示幅設定機能付き)ここに変更方法が書かれてます
NP_Calendar.php

209行目	   if ($category != 0) {
210行目		   $res = sql_query('SELECT DAYOFMONTH(itime) as day FROM '.sql_table('item').' WHERE icat='.$category.' and MONTH(itime)='.$month.' and YEAR(itime)='.$year .' and iblog=' . $blogid . ' and idraft=0 and UNIX_TIMESTAMP(itime)<'.$timeNow.' GROUP BY day');
211行目	   } else {
212行目		   $res = sql_query('SELECT DAYOFMONTH(itime) as day FROM '.sql_table('item').' WHERE MONTH(itime)='.$month.' and YEAR(itime)='.$year .' and iblog=' . $blogid . ' and idraft=0 and UNIX_TIMESTAMP(itime)<'.$timeNow.' GROUP BY day');
213行目	   }
↓
209行目	   if ($category != 0) {
210行目		   $res = sql_query('SELECT DAYOFMONTH(itime) as day FROM '.sql_table('item').' WHERE icat='.$category.' and MONTH(itime)='.$month.' and YEAR(itime)='.$year .' and iblog=' . $blogid . ' and idraft=0 GROUP BY day');
211行目	   } else {
212行目		   $res = sql_query('SELECT DAYOFMONTH(itime) as day FROM '.sql_table('item').' WHERE MONTH(itime)='.$month.' and YEAR(itime)='.$year .' and iblog=' . $blogid . ' and idraft=0 GROUP BY day');
213行目	   }
226行目	   if ($next_month > $currentdate['mon'] && $year == $currentdate['year']) {
227行目	   	   $future = false;
228行目	   } else {
229行目	   	   $future = true;
230行目	   }
↓
226行目	   if ($next_month > $currentdate['mon'] && $year == $currentdate['year']) {
227行目	   	   $future = true;
228行目	   } else {
229行目	   	   $future = true;
230行目	   }

※おまけ
日付表示に曜日を付け加えて、更に曜日を日本語で表示するように変更
Nucleusの管理画面で「テンプレート編集」(日付と時刻)の中から

日付フォーマットを編集
%d/%m
↓
%m/%d(%a)
更にLocaleも編集
en
↓
japanese