[Affelio-cvs 115] CVS update: affelio/apps/album

Back to archive index

Yoshihisa Fukuhara higef****@users*****
2005年 6月 22日 (水) 13:14:52 JST


Index: affelio/apps/album/Album.pm
diff -u affelio/apps/album/Album.pm:1.5 affelio/apps/album/Album.pm:1.6
--- affelio/apps/album/Album.pm:1.5	Wed Jun 22 01:35:30 2005
+++ affelio/apps/album/Album.pm	Wed Jun 22 13:14:51 2005
@@ -13,6 +13,7 @@
 #use XML::RSS;
 use AffelioApp;
 use HTML::Template;
+use Config::Tiny;
 
 our $databasedir = "./data";
 our $idfile = "./data/id";
@@ -33,47 +34,60 @@
 	my $this = {};
 	$this->{afap}  = $afap;
 	$this->{uname} = $afap->{af}->{site__username};
-#	$this->{dbpath}= "$databasedir/$this->{uname}";
-	$this->{tmppath}= $afap->get_userdata_dir()."/tmp";
+	$this->{tmpfile}= $afap->get_userdata_dir()."/.sqltmp";
 	$this->{dbh} = undef;
-
+	
+        my $DBConfig = Config::Tiny->new();
+	$DBConfig = Config::Tiny->read("$this->{afap}->{af}->{site__user_dir}/db.cfg");
+	my $db_type = $DBConfig->{db}->{type};
+	
         # 初期化
-	unless(-e $this->{tmppath}) {
-                mkdir $this->{tmppath};
-#	if (-z $this->{dbpath}){
-#	    local (*F);
-#		open(F, "> $this->{dbpath}"); close(F);
-#		chmod 0666, $this->{dbpath};
-#		$this->{dbh} = DBI->connect("dbi:SQLite:dbname=".$this->{dbpath})
-#			or die("cannot open db: ".$this->{dbpath});
+	unless(-f $this->{tmpfile}) {
+	    open(TMP,"> $this->{tmpfile}");
+	    close(TMP); 	    
 	    $this->{dbh} = $afap->get_userdata_dbh();
 		# 日記テーブル
-		$this->{dbh}->do("CREATE TABLE $album_table (
-			id		INTEGER AUTO_INCREMENT PRIMARY KEY,
-			title		TEXT,
+	    my $query;
+	    if ($db_type eq "sqlite"){
+		$query = "id INTEGER PRIMARY KEY,";
+	    }elsif ($db_type eq "mysql"){
+		$query = "id INTEGER AUTO_INCREMENT INPRIMARY KEY,";
+	    }
+	    $query.=
+			"title		TEXT,
 			contents	TEXT,
 			timestamp	INTEGER,
 			update_time	INTEGER,
 			user		TEXT,
 			afid		TEXT,
 			pswd		TEXT,
-			ord		INTEGER
-		)");
+			ord		INTEGER";
+			
+	    $this->{dbh}->do("CREATE TABLE $album_table ($query)");
 
 		# コメントテーブル
-		$this->{dbh}->do("CREATE TABLE $album_comment_table (
-			pkey		INTEGER AUTO_INCREMENT PRIMARY KEY,
+	    if ($db_type eq "sqlite"){
+		$query = "pkey INTEGER PRIMARY KEY,";
+	    }elsif ($db_type eq "mysql"){
+		$query = "pkey INTEGER AUTO_INCREMENT INPRIMARY KEY,";
+	    }
+	    $query.="
 			id		INTEGER,
 			user		TEXT,
 			afid		TEXT,
 			comment		TEXT,
 			pswd		TEXT,
-			timestamp	INTEGER
-		)");
+			timestamp	INTEGER";
+		
+	    $this->{dbh}->do("CREATE TABLE $album_comment_table ($query)");
 
 		# 画像テーブル
-		$this->{dbh}->do("CREATE TABLE $album_image_table (
-			pkey		INTEGER AUTO_INCREMENT PRIMARY KEY,
+	    if ($db_type eq "sqlite"){
+		$query = "pkey INTEGER PRIMARY KEY,";
+	    }elsif ($db_type eq "mysql"){
+		$query = "pkey INTEGER AUTO_INCREMENT INPRIMARY KEY,";
+	    }
+	    $query.="
 			id		INTEGER,
 			image		TEXT,
 			title		TEXT,
@@ -81,8 +95,9 @@
 			afid		TEXT,
 			comment		TEXT,
 			pswd		TEXT,
-			timestamp	INTEGER
-		)");
+			timestamp	INTEGER";
+
+	    $this->{dbh}->do("CREATE TABLE $album_image_table ($query)");
 
 		$this->{dbh}->disconnect;
 	}
Index: affelio/apps/album/list_album.cgi
diff -u affelio/apps/album/list_album.cgi:1.1 affelio/apps/album/list_album.cgi:1.2
--- affelio/apps/album/list_album.cgi:1.1	Sun Jun 19 18:14:17 2005
+++ affelio/apps/album/list_album.cgi	Wed Jun 22 13:14:51 2005
@@ -10,7 +10,6 @@
 if ($afap->get_visitor_info("type") eq "self"){
     $edit = 1;
 }
-#    $user = $afap->get_owner_info("nickname");
 
 my $tmpl = HTML::Template->new(filename => "./templates/list_album.tmpl");
 my @entries_param;


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