« 危うく人柱になりかけた | Main | Global Listings 1.05 »


新らしいEntryにアイコンチカチカ ささやかなcgi(その3) [ Template , 自作のcgiやphp ]

ささやかcgi MovableType用バージョン。エントリーやコメントが追加されると、自動的に指定時間だけ更新アイコンを表示する. cgi 呼び出し用。(こちらは<img src="***.cgi">と呼び出す。)

お願い: 再配布はしないで下さいませ (2005.1.5)
記事が新しい間だけ'up!'や'new!'といったアイコンを表示するcgi
普通のshtml用はこちら, MovableTypeで生成するshtml用はこちら

機能

MovableTypeで
  Entryの追加直後: 指定のアイコンを表示する
     古くなれば: アイコンを自動的に表示しなくなる.

つまり,ファイル更新を示すアイコンを,自動的に表示したり引っ込めてくれる.

使用例

Homeのup表示アイコンの出力
img文でcgiを呼び出すので,include するファイルの中にも埋め込める.

使用条件

cgiが使えること.

設置

1.下のソースをコピーし,timy_3.cgiとしてセーブする.
2.timy_3.cgiファイルの設定行で,アイコンと判定時間を定義する
3.インストール
cgi-bin  -+-   timy -+- timy_3.cgi (755)
+- up.gif (644) 新記事に表示するアイコン
+- dummy.gif (644) 旧記事に表示するアイコン(例 dummy

4.timy_mt.cgiの呼びだし方 
MovableTypeのテンプレートのアイコンを表示させる場所に,下の例のような記述をする.
<img src="http://your.server.ne.jp/yourname/cgi-bin/timy/timy_3.cgi?<$MTEntryDate format="yy=%Y&MM=%m&dd=%d&hh=%H&mm=%M&ss=%S"$>&Ti=48" alt="new">

http://your.server.ne.jp/yourname/cgi-bin/timy/timy_3.cgi : 赤字部分に、timy_3.cgiのパスを記述する。
<$MTEntryDate format="yy=%Y&MM=%m&dd=%d&hh=%H&mm=%M&ss=%S"$>:いじらない
Ti=48:時間(hour)

使用例: MovableType のテンプレートに次のように埋め込む
<MTEntries lastn="2">
<img src="http://your.server.ne.jp/yourname/cgi-bin/timy/timy_3.cgi?<$MTEntryDate format="yy=%Y&MM=%m&dd=%d&hh=%H&mm=%M&ss=%S"$>&Ti=48" alt="new">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> (<$MTEntryDate format="%m/%d"$>)<br />
</MTEntries>

ソース

#!/usr/bin/perl

#----------------------------------------
# 単なる新記事 アイコン表示 ささやかcgi
#                   for MovableType part2
#
#                 by Clover こと a.tanaka
#                              2003.11.02
# http://tanakaa.selfip.com:8008/ppp/
#----------------------------------------

#--------------------------------------------------------------------------------------
# 使用条件: ssi 可能なサーバーであること
#--------------------------------------------------------------------------------------
# 設置法
#
# cgi-bin  -+-  time(755) -+- timy_3.cgi (755)
#                          +- up.gif   (644)    新記事に表示するアイコン
#                          +- dummy.gif   (644)  旧記事に表示するダミーアイコン
#--------------------------------------------------------------------------------------
# 引用 の 例
#
# <img src="http://your.server.ne.jp/yourname/cgi-bin/timy/timy_3.cgi?<$MTEntryDate format="yy=%Y&MM=%m&dd=%d&hh=%H&mm=%M&ss=%S"$>&Ti=48" alt="new">
#
#     timy3.cgi のパス  例:http://your.server.ne.jp/yourname/cgi-bin/timy/timy_3.cgi
#     エントリー更新時刻   <$MTEntryDate format="yy=%Y&MM=%m&dd=%d&hh=%H&mm=%M&ss=%S"$>
#     更新判定時間            Ti=48  (この例では48時間)
# --------------------------------------------------------------------------------------

#============
# 設定
#============

# 新記事に表示するアイコンファイル名
$gifname = "up.gif";

# 旧記事に表示するダミーアイコンファイル名
$gif2name = "dummy.gif";

#============
# 設定 終わり
#============

use Time::Local;

&Macro_Setup;

$nowtime = time();

$f_time = timelocal($Mss, $Mmm, $Mhh, $Mdd, $MMM - 1, $Myy);

if ( ( $nowtime - $f_time ) < 60*60*$Time1 ) { 
	open (IMG, "$gifname");
	print "Content-type: image/gif\n\n";
	print <IMG>;
	close(IMG);
} else {
	open (IMG, "$gif2name");
	print "Content-type: image/gif\n\n";
	print <IMG>;
	close(IMG);
}
exit;

sub Macro_Setup {
	### 引数の解釈
	foreach $data (split(/&/, $ENV{'QUERY_STRING'})) {
		($key , $val) = split(/=/,$data);
		$P{$key} = $val;
	}
	$Time1 = $P{'Ti'};
	$Myy = $P{'yy'};		# 以下年月日時刻
	$MMM = $P{'MM'};
	$Mdd = $P{'dd'};
	$Mhh = $P{'hh'};
	$Mmm = $P{'mm'};
	$Mss = $P{'ss'};
}

Trackback

この一覧は、次のエントリーを参照しています: 新らしいEntryにアイコンチカチカ ささやかなcgi(その3):

» 新しいエントリーに更新マーク 送信元 caramel*vanilla
サイドバーのカテゴリーリスト内で新しいエントリーのあったカテゴリーに更新マークをつけるカスタマイズについてはエントリーしたのですが今回はcgiを導入する事で新し... [詳しくはこちら]

» 新しいエントリーにアイコンを表示 送信元 鮭網ぶろぐ。
左のサイドバーに最近更新されたエントリーのタイトルを10まで表示しています。 そ... [詳しくはこちら]

» 新しいエントリーにNewアイコンを表示させる 送信元 まじっくblog(仮)
 新しくエントリーが投稿されると、トップページのエントリーリストに「New」のアイコンが表示されるようにしてみました。  参考にしたのは、以下のエントリーです。... [詳しくはこちら]

» 新着エントリを画像でお知らせ 送信元 COCO::RO
PenPenPalmサンの新らしいEntryにアイコンチカチカ ささやかなcgi... [詳しくはこちら]

» 新着記事の所に更新マークを付ける方法 送信元 MTカスタマイズ法収集ブログ
パッと見てどこの記事が更新されたのか分かるようにしたい! という方にオススメなカスタマイズです。 どこでも好きなところに付けられるので便利ですよ〜。 私は、別ブ... [詳しくはこちら]

» 新規エントリーに「New」アイコンを付けて見やすく・・・ 送信元 BLOG REMINDER
PenPenPalm: 新らしいEntryにアイコンチカチカ ささやかなcgi(... [詳しくはこちら]

» エントリーに「NEW」のアイコンを表示する 送信元 腐女子のMovableTypeカスタマイズ感想文
ずらずらと並ぶエントリー記事。 なんだかわかりにくいし、ぱっとしないし 色々考えていました。 この手のカスタマイズは結構紹介されているのですが、PHP対応だったりします。 ... [詳しくはこちら]

» 最新エントリーに更新マークを付けてみよう! 送信元 tama*blog
えー、これは、レビューの方につけようと思って探しました。 日付じゃなくカテゴリ表... [詳しくはこちら]

Comment (9)

komshiz | | 2004年4月20日 21:04

こんにちははじめまして。このCGIとても気にいりました。すばらしいです!頑張ってください!


Clover | | 2004年4月20日 23:10

ありがとうございます *^^*


lomo | | 2005年1月30日 23:38

はじめまして!

とっても便利なcgiありがとうございました!

ありがたく使わせていただいております♪


Clover | | 2005年2月 1日 21:11

Thank you!

phpバージョンもありまする。


mayumi | | 2005年2月 6日 23:06

はじめまして♪

CGIのソースお借りしました

どうもありがとうございましたm(__)m


jalan | | 2005年2月13日 21:10

jalanです。

いつもながらステキなCGIありがとうございます♪

Cloverさんのアイコンチカチカ、「その1」,「その2」と愛用させていただいています。今度は「その3」ですね。

同じ画像がチカチカだとつまらないので、「その1」から「その3」まで全部使って、いろんな画像をチカチカさせる欲張りな私。

ページにつけたらTrackbackさせていただきます!

ありがとうございます。


| | 2005年2月13日 22:19

はじめまして。

cgiを使わせていただいたので、ご挨拶を♪

とても便利です。ありがとうございます。


Clover | | 2005年2月14日 20:10

mayumi様、jalan様、翔様

こんばんは! & ありがとうございます。

...しかし j様 @@ ???


rico | | 2005年5月13日 00:21

はじめまして。

探していたんです!こういうの!!素晴らしい!!!

ブログのカテゴリーリストにNEWマークをつけるには、PHPが使えないとならなかったので。

ただ、現状のhtmlをshtmlに変えると、何かと不都合もでてきて、ただいま保留中です。(T_T)

普通のhtmlでも使えませんかねぇ?


コメントを投稿

せっかくですから,どうぞ一言!
(コメント表示まで,数時間以上かかることがあります。)