Tadashi Okoshi
slash****@users*****
2005年 6月 29日 (水) 19:40:17 JST
Index: affelio/lib/Affelio/Managing/AccessLogManager.pm diff -u affelio/lib/Affelio/Managing/AccessLogManager.pm:1.1 affelio/lib/Affelio/Managing/AccessLogManager.pm:1.2 --- affelio/lib/Affelio/Managing/AccessLogManager.pm:1.1 Tue Jun 28 16:44:53 2005 +++ affelio/lib/Affelio/Managing/AccessLogManager.pm Wed Jun 29 19:40:17 2005 @@ -4,7 +4,7 @@ # http://affelio.jp/ (Japan) # http://affelio.jp/ (USA and other area) # -# $Id: AccessLogManager.pm,v 1.1 2005/06/28 07:44:53 slash5234 Exp $ +# $Id: AccessLogManager.pm,v 1.2 2005/06/29 10:40:17 slash5234 Exp $ package Affelio::Managing::AccessLogManager; { @@ -14,7 +14,7 @@ use Jcode; use lib("../../"); use Affelio::misc::CGIError; - use Affelio::misc::Time qw(get_timestamp); + use Affelio::misc::Time qw(get_timestamp get_today); use Affelio::misc::Encoding qw(db_encode db_decode); use Affelio::misc::Debug qw(debug_print); use Affelio::NetLib::Email qw(send_email); @@ -42,13 +42,76 @@ ####################################################################### sub save_log{ my $self=shift; + my $afid = shift; + my $nickname = shift; + my $type=shift; + + #AFuser_CORE_accesslog + # timestamp INT, nickname TEXT, afid TEXT, type TEXT + + my $af=$self->{af}; + my $cur_time = get_timestamp(); + my $today = get_today(); + + ################################ + #Check the table + ################################ + my $create_tbl_cmd = "CREATE TABLE AFuser_CORE_accesslog(timestamp INTEGER PRIMARY KEY, nickname TEXT, afid TEXT, type TEXT)"; + eval{ + $af->{db}->do($create_tbl_cmd); + }; + if($@){ + }else{ + debug_print("AccessLog:save: Table created."); + } + + ################################ + #Remove today's past access of this user + ################################ + my $query1; my $sth1; + $query1 = "DELETE FROM AFuser_CORE_accesslog WHERE timestamp >= $today AND afid = '$afid'"; + eval{ + $sth1 = $af->{db}->prepare($query1); + $sth1->execute(); + }; + if($@){ + die("db"); + } + + ################################ + #Add this access + ################################ + my $query2; my $sth2; + $query2 = "insert into AFuser_CORE_accesslog(timestamp, nickname, afid, type) values ($cur_time, '$nickname', '$afid', '$type')"; + eval{ + $sth2 = $af->{db}->prepare($query2); + $sth2->execute(); + }; + if($@){ + die("db"); + } - #af_id } ####################################################################### #get_log ####################################################################### + sub get_log{ + my $self=shift; + my $from=shift; + my $to=shift; + my $af = $self->{af}; + + debug_print("AccessLog::get_log: $from -> $to"); + + ############################## + #retrieve all friend records from DB + my $query = "SELECT * FROM AFuser_CORE_accesslog WHERE timestamp > $from AND timestamp < $to"; + my $sth = $af->{db}->prepare($query) or die $af->{db}->errstr; + $sth->execute or die $af->{db}->errstr; + + return($sth); + } }#package 1;