|
|
| 投稿者 |
メッセージ |
cha_cya
登録日: 2004.08.25
記事: 735
所在地: 東京
|
日時: 2004.09.10 (金) 14:57 記事の件名: NP_Calendarとは違うのですがカレンダー表示
カレンダー表示を添付画像のような形で表示できるプラグインを探しております。
(存在しているのかも分かりません)
ご存知の方いらっしゃいますか?
| 説明: |
|
| ファイルサイズ: |
839 バイト |
| 閲覧済み: |
14206 回 |

|
|
|
トップに戻る
|
|
mas
モデレーター

登録日: 2003.11.14
記事: 292
所在地: 埼玉
|
日時: 2004.09.10 (金) 17:53 記事の件名:
昔作ったような…。というわけで漁ってみました。
とりあえず使いたいなら使ってみてください。
#Felさんがもっといいやつを出してくれるハズ…(期待)
NP_Calendar2.phpで保存して nucleus/pluginsフォルダにアップロードしてください。
使い方は、表示したい場所で <%Calendar2%> です。
| Code: | <?php
// プラグインがNucleusバージョン2.0以下と互換性を持つために必要
if (!function_exists('sql_table')){
function sql_table($name) {
return 'nucleus_' . $name;
}
}
class NP_Calendar2 extends NucleusPlugin {
// プラグインの名前
function getName() {
return 'Calendar2';
}
// プラグインの作者
function getAuthor() {
return 'mas';
}
// プラグインのサイトURL
// mailto:foo@bar.com の形式も可
function getURL()
{
return 'http://neconnect.net';
}
// プラグインのバージョン
function getVersion() {
return '0.21';
}
// インストール済みのプラグインリストに表示される説明文
function getDescription() {
return 'Nucleus Calendar like tDiary\'s one.';
}
function supportsFeature($what) {
switch($what){
case 'SqlTablePrefix':
return 1;
default:
return 0;
}
}
function doSkinVar($mode = 'month', $limit = 0) {
global $manager, $blog, $CONF, $catid;
if ($blog) {
$b =& $blog;
} else {
$b =& $manager->getBlog($CONF['DefaultBlog']);
}
$blogid = $b->getID();
if ($catid) {
$this->linkparams = array('catid' => $catid);
}
$homeURL = $CONF['IndexURL'];
$blogURL = createBlogidLink($blogid, $linkparams);
$data['blogid'] = $blogid;
$now = time();
$query = 'SELECT UNIX_TIMESTAMP(itime) as itime, SUBSTRING(itime,1,4) AS Year, SUBSTRING(itime,6,2) AS Month, SUBSTRING(itime,9,2) as Day FROM '.sql_table('item')
. ' WHERE iblog=' . $blogid
. ' and UNIX_TIMESTAMP(itime)<=' . $now // don't show future items!
. ' and idraft=0'; // don't show draft items
if ($catid)
$query .= ' and icat=' . intval($catid);
$query .= ' GROUP BY Year, Month';
if ($mode == 'day')
$query .= ', Day';
$query .= ' ORDER BY itime ASC'; //昇順
if ($limit > 0)
$query .= ' LIMIT ' . $limit;
$res = sql_query($query);
$num_row = mysql_num_rows($res);
$preYear = Null;
// セパレータ
$sep = "|";
if ($num_row > 0)
echo "<div class=\"calendar\">\n";
while ($current = mysql_fetch_object($res)) {
if ($mode == 'day') {
$archivedate = date('Y-m-d',$current->itime);
$archive['day'] = date('d',$current->itime);
} else {
$archivedate = date('Y-m',$current->itime);
}
$data['month'] = date('m',$current->itime);
$data['year'] = date('Y',$current->itime);
$data['archivelink'] = createArchiveLink($blogid,$archivedate,$linkparams);
// 出力
if ($data['year'] == $preYear) {
echo "<a href=\"".$data['archivelink']."\">".$data['month']."</a>".$sep;
} else {
if ($preYear != Null) {
echo "</div>"."\n";
}
echo "<div class=\"year\">";
echo $data['year'].$sep."<a href=\"".$data['archivelink']."\">".$data['month']."</a>".$sep;
}
$preYear = $data['year'];
}
if ($num_row > 0 )
echo "</div>\n"."</div>\n";
mysql_free_result($res);
}
}
?> |
追記
Windowsサーバだとエラー出るみたい(汗
|
|
トップに戻る
|
|
mas
モデレーター

登録日: 2003.11.14
記事: 292
所在地: 埼玉
|
日時: 2004.09.10 (金) 18:12 記事の件名:
| mas wrote: | | 昔作ったような…。というわけで漁ってみました。 |
このコード、作成途中だったみたい
一応使えますが、完成してるやつがないかどうか探してみます。
#それよりもむしろFelさんの登場を待ちます^^;
|
|
トップに戻る
|
|
藤咲
モデレーター

登録日: 2003.11.17
記事: 1169
所在地: 広島
|
日時: 2004.09.10 (金) 18:14 記事の件名: エラー?
| mas wrote: | 追記
Windowsサーバだとエラー出るみたい(汗 |
気になったので試してみましたが、ちょっと見ではエラーはなさそうでしたよ?
_________________ 藤咲
備忘録とかもろもろ
http://fjsk.tk/
|
|
トップに戻る
|
|
cha_cya
登録日: 2004.08.25
記事: 735
所在地: 東京
|
日時: 2004.09.11 (土) 21:09 記事の件名:
ありがとうございます!
設置は明日か明後日になりそうですが、また報告しに来ますね
|
|
トップに戻る
|
|
cha_cya
登録日: 2004.08.25
記事: 735
所在地: 東京
|
日時: 2004.09.14 (火) 10:15 記事の件名: 設置完了!
無事動作しています
過去の日付で投稿しての改行表示も思った通りになっております。
ありがとうございましたー
|
|
トップに戻る
|
|
文月十日
登録日: 2006.01.22
記事: 8
所在地: 東京
|
日時: 2006.01.25 (水) 13:05 記事の件名: 年で逆順は可能でしょうか?
素敵なプラグインですね。アーカイブの一覧では場所もとらないので、是非使わせていただきたいと思います。
ですが一つ、疑問というか要望があります。現在は、
| Quote: | 2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | |
と表示されますが、これを、
| Quote: | 2006 | 01 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | |
と表示させたいのです。アーカイブという概念からすると逆順はあまり好ましくないのかもしれませんが、そのほうが使いいいように感じるのですが、どうでしょう。
こうするためには、ソースの改造が必要になりますか? それともオプションかなにかで変更できるのでしょうか?
|
|
トップに戻る
|
|
cha_cya
登録日: 2004.08.25
記事: 735
所在地: 東京
|
日時: 2006.01.25 (水) 13:17 記事の件名:
$query .= ' ORDER BY itime ASC'; //昇順
を
$query .= ' ORDER BY itime DESC'; //降順
にしてはどうでしょうか(未確認)
|
|
トップに戻る
|
|
文月十日
登録日: 2006.01.22
記事: 8
所在地: 東京
|
日時: 2006.01.25 (水) 13:29 記事の件名:
cha_cyaさま、ご助言ありがとうございます。
ソースに「昇順」とわかりやすく書いてくださっているのですから、確かにここを変えるということに、もっと早く気づかないといけませんでした。ということで試してみたところ……
| Quote: | 2006 | 01 |
2005 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 |
2004 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | |
という風になりました。
確かに年が逆順になったのはこちの希望通りなのですが、月が逆順なのは、ちょっと使い辛いかもしれません。
ただ、以前のものよりはずっといいので、さっそくこれで運用させていただくことにします。重ね重ね、ありがとうございました。
|
|
トップに戻る
|
|
cha_cya
登録日: 2004.08.25
記事: 735
所在地: 東京
|
日時: 2006.01.25 (水) 15:34 記事の件名:
であれば、
$query .= ' ORDER BY Year DESC, itime ASC';
でいけるかな、と思います。
$query .= ' ORDER BY Year DESC, Month ASC';
でもいいかも。
追記
okそうでした。
記事2つしかない環境でのテストだけど・・。
|
|
トップに戻る
|
|
alzenma
登録日: 2005.06.27
記事: 27
所在地: Tokyo
|
日時: 2006.01.25 (水) 15:41 記事の件名:
後者オススメです。(主観入りまくり)
| cha_cya wrote: |
$query .= ' ORDER BY Year DESC, Month ASC';
|
ちょうど自分も試すことできましたー。
しっかり動作してるようです。
|
|
トップに戻る
|
|
文月十日
登録日: 2006.01.22
記事: 8
所在地: 東京
|
日時: 2006.01.25 (水) 19:43 記事の件名: まさしくこれです!
cha_cya さま、ありがとうございました! これが欲しかったのです。
何度も書き込んでいただいて、ありがとうございました m(_ _)m。
|
|
トップに戻る
|
|
naha
登録日: 2004.10.31
記事: 66
|
日時: 2010.03.11 (木) 14:04 記事の件名: 管理操作履歴でエラー?が出ている
コアver3.41でこちらのプラグインを使わせていただいております。
管理操作履歴に
プラグイン「NP_Calendar2」を読み込めませんでした(ファイルが見つかりません)
と表示が出ているのですが、これはどういったエラーなのでしょうか?
自分が<%Calendar2%>と書いたページにアクセスしてもカレンダーは表示されるし
管理操作履歴にも何も残らないのですが、
誰かがアクセスすると残るような感じです。(誰もがそうなのかはわかりません…)
すみません、よろしくお願いいたします。
[追記]
誰かがアクセスするとログが残るという状態ではないようです。
(忍者のアクセス解析サービスで見る限りなので正しいかどうかは不明ですが…)
なお、ファイルNP_Calendar2.phpは確かにプラグインフォルダに存在します。
[追記2]
同じデータベースとURLを見ている別のディレクトリに置いたNucleusシステムが影響しておりました。
昔設置した物なのですがすっかり忘れていました。すみません…
ご迷惑をおかけしました。
|
|
トップに戻る
|
|
|
|
|
|
Page 1 of 1
All times are GMT + 9 Hours
新規投稿: 不可 返信投稿: 不可 記事編集: 不可 記事削除: 不可 投票参加: 不可 ファイル添付不可 ダウンロード: 可
Powered by phpBB © 2001, 2002 phpBB Group
|