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;