$value ) if( $value['eid'] == $eid ) return $value; return null; } function RecommendedEntry_updateIndexFile( $eid_updated, $eid, $direction ) { $filename = '/var/www/VirtualDomain/kenji00.com/blog/recommend_data'; is_dir( $filename ) || mkdir( $filename ); $filename .= '/'. substr( $eid_updated, -1 ); is_dir( $filename ) || mkdir( $filename ); $filename .= sprintf( '/%d.txt', $eid_updated); file_exists( $filename ) || touch( $filename ); $fp = @fopen( $filename, 'r+' ); if( $fp ) { if( flock( $fp, LOCK_EX | LOCK_NB )) { $ret = ''; $not_found = 1; while( !feof( $fp ) && ( $buf = fgets( $fp ))) { list( $_eid, $_n0, $_n1 ) = split( "[\t\r\n]", $buf ); if( $eid == $_eid ) { $not_found = 0; $direction ? $_n1++ : $_n0++; } $ret .= sprintf( "%d\t%d\t%d\n", $_eid, $_n0, $_n1 ); } if( $not_found ) $ret .= sprintf( "%d\t%d\t%d\n", $eid, 1 - $direction, $direction); rewind( $fp ); fwrite( $fp, $ret, strlen( $ret )); } fclose( $fp ); } } function RecommendedEntry_incoming() { $eid_prev = $_COOKIE['mtrcmnd_eid']; if( isset( $eid_prev )) { if( $eid_prev != 125 && RecommendedEntry_getEntryData( $eid_prev )) { RecommendedEntry_updateIndexFile( 125, $eid_prev, 0 /*incoming_from*/ ); RecommendedEntry_updateIndexFile( $eid_prev, 125, 1 /*outgoing_to*/ ); } } else { RecommendedEntry_updateIndexFile( 125, 125, 0 /*incoming_from*/ ); } } RecommendedEntry_incoming(); function RecommendedEntry_outgoing() { setcookie( 'mtrcmnd_eid', 125, time() + 2592000, '/' ); } RecommendedEntry_outgoing(); function RecommendedEntry_initialize( $mode = 0 ) { global $RecommendedEntry_table; $RecommendedEntry_table = array(); $filename = '/var/www/VirtualDomain/kenji00.com/blog/recommend_data/'. substr( '125', -1 ). '/125.txt'; $fp = @fopen( $filename, 'r' ); if( $fp ) { if( flock( $fp, LOCK_SH | LOCK_NB )) { while( !feof( $fp ) && ( $buf = fgets( $fp ))) { list( $_eid, $_n0, $_n1 ) = split( "[\t\r\n]", $buf ); if( 125 == $_eid ) continue; else if( $mode == 1 ) $RecommendedEntry_table{$_eid} = $_n0; else if( $mode == 2 ) $RecommendedEntry_table{$_eid} = $_n1; else $RecommendedEntry_table{$_eid} = $_n0 + $_n1; } arsort( $RecommendedEntry_table, SORT_NUMERIC ); } fclose( $fp ); } } function RecommendedEntry_GetEntry( $_index ) { global $RecommendedEntry_table; foreach( $RecommendedEntry_table as $eid => $count ) { if( --$_index ) continue; $entry = RecommendedEntry_getEntryData( $eid ); if( $entry ) $entry['count'] = $count; return $entry; } } ?> CMS遊び - 寝不足にて候(仮)
Dec
28
2007

CMS遊び

というわけで、明日から9連休。予定全く無し。
例年であれば、恒例の2,000kmドライブに出かけるところですが、転職直後のためボーナスは雀の涙。
一昨年からの低収入期+(高額医療費+マンション減税)=支払った所得税は小学生の小遣い並み...ということで年末調整の還付もミジンコの涙。
だのに、ウチの車はハイオク仕様。
というわけで、久々にヒッキーな長期休暇になりそうな予感。

久しぶりにPCの前でウヒャウヒャするか.......ということで、CMSインストール&レビュー祭りを開催してみようかと。

XOOPSならちょっと触れるので、先日こんなんを作りかけてみましたが、どうもXOOPS Cubeは今ひとつ。
2003年頃にXOOPS2で遊んでた時代から、多くの方が頑張って開発したモジュールは豊富にありますし、ちょっとしたサイトのドンガラが簡単に作れてしまうのは良いのですが、どうにも心がときめきません。

インストール猿であった20世紀を思い出して、今は亡き日刊いんすとーらーをリスペクトしつつ、下記のツールをインストール&レビューしてみます。

  • typo3
    • 一度触らねばと思いつつ、これまで何故かご縁の無かったCMS。欧米では人気らしい。
  • joomla!
    • 旧mamboでつ。これも欧米では人気のCMSのひとつ。
  • Drupal
    • こちらでOpenSource CMS AWARD 2007を受賞。ちなみに2位は↑のjoomla!。こちらは日本語コミュニティも活発のご様子。
  • Xaraya
    • ちょっと期待しているヤツ。
  • e107
    • 管理画面が綺麗という噂ですが、その実力の程は?
  • Geeklog
    • 携帯電話への対応が最もすすんでいるのです。
  • MODx
    • 静的コンテンツの吐き出しにも対応し、既存WebサイトのCMS化ならコレ....という噂を聞いたような気がします。
  • toendaCMS
    • ん~、日本語の情報源があんまり無いなぁ。パスするかも。
  • CMS Made Simple
    • Simpleと謳いながらも結構高機能っぽい。が、コレは複数人でのサイト運営で真価を発揮するツールか?
  • Plone
    • PythonでZopeなヤツ。昔はXOOPSだった安倍ちゃんのサイトがコレに移行したのも有名ですが.....Pythonかぁ.....パスする予感。
あ! . . . . . . . . . . . . . . . . なんか、コイツら全員、ここで試用できんじゃねーの?もしかして。

このエントリを読んだ人はこんなんも読んでいます

トラックバック(0)

トラックバックURL: http://blog.kenji00.com/MT/mt-tb.cgi/124

コメントする

過去のエントリ(一覧)

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。