[Affelio-cvs 267] CVS update: affelio/lib/Affelio/Managing

Back to archive index

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;


Affelio-cvs メーリングリストの案内
Back to archive index