$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 != 79 && RecommendedEntry_getEntryData( $eid_prev )) {
RecommendedEntry_updateIndexFile( 79, $eid_prev, 0 /*incoming_from*/ );
RecommendedEntry_updateIndexFile( $eid_prev, 79, 1 /*outgoing_to*/ );
}
} else {
RecommendedEntry_updateIndexFile( 79, 79, 0 /*incoming_from*/ );
}
}
RecommendedEntry_incoming();
function RecommendedEntry_outgoing() {
setcookie( 'mtrcmnd_eid', 79, 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( '79', -1 ). '/79.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( 79 == $_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;
}
}
?>
前言撤回~SecondLifeは流行るかも~ - 寝不足にて候(仮)
ヤバイ、流行るかもしれん。
ITmedia Newsより
スペインの激しい政治闘争が仮想世界Second Lifeにも拡大した。社会党と保守党の支持者が、Second Life内の互いの党事務所を燃やそうとした。
「彼らは爆弾を投げ、サブマシンガンを持って建物に押し入り、火を付け、想像できるありとあらゆることをやった」
こちらもITmedia Newsより
ドイツのテレビ局ARDが5月3日、成人男性の姿をしたアバターと、児童の姿をしたアバターが、性的行為に及んでいる画像をとらえたことから始まった。ARDがLinden Labに通知し、同社が調査にあたったところ、アバターを使っていたのは54歳の男性と27歳の女性だったと判明。両者は即座にSecond Lifeの利用を禁じられた。
最後はスラド
ベルギー・ブリュッセルの警察は、最近話題のオンライン仮想空間Second Life上での暴行の訴えを受けて捜査を開始した。
2007/08/24追記
みんな、急いでloginだ!
「ABlog:こんな未来は嫌だ」より引用
何
をすればいいのか分からないので、しばらく歩き回ってみたのですが、何もありません。
~中略から
で、戻ってきたら、俺こと白シャツの目の前に半裸の男が!!じっとこっちを見ています。なんというファーストコンタクト!
~中略から
操作が分からなくてあたふたしているうちに、あろうことか、背後に回られて完全に腰を連結されてしまいました(汗)。
トラックバックURL: http://blog.kenji00.com/MT/mt-tb.cgi/78
コメントする