[Affelio-cvs 1272] CVS update: affelio/apps/bb

Back to archive index

Yoshihisa Fukuhara higef****@users*****
2006年 5月 19日 (金) 11:43:54 JST


Index: affelio/apps/bb/bb.pm
diff -u affelio/apps/bb/bb.pm:1.11 affelio/apps/bb/bb.pm:1.12
--- affelio/apps/bb/bb.pm:1.11	Fri May 19 02:23:37 2006
+++ affelio/apps/bb/bb.pm	Fri May 19 11:43:54 2006
@@ -50,6 +50,10 @@
 	my $afap = new AffelioApp(ConfigDir => Cwd::getcwd(), cgi => $cgi);
 	debug_print("BB::new: AFAP loaded.");
 	
+	my $DBConfig = Config::Tiny->new();
+	$DBConfig = Config::Tiny->read("$afap->{af}->{site__user_dir}/db.cfg");
+	my $db_type=$DBConfig->{db}->{type};
+
 	my $self = {
 		    cgi => $cgi,
 		    afap => $afap,
@@ -63,15 +67,18 @@
 		    pref_tb => "AFuser_bb_$afap->{install_name}_pref",
 		    spam_tb => "AFuser_bb_$afap->{install_name}_spam",
 		    permission_tb => "AFuser_bb_$afap->{install_name}_permission",
+		    db_type => $db_type,
 		    dbh => undef
 	};
-    
+	$self->{key1} = get_column_key($db_type);
+	$self->{locked} = get_column_lock($db_type);
 	###########################
 	#Locale init
 	###########################
 	$self->{lh} = bb::L10N->get_handle(($afap->get_site_info("locale"),
 					    $afap->get_site_info("locale")));
 	$self->{dbh} = $afap->get_userdata_dbh();
+
 	unless(-f $self->{tmpfile}) {
 	    initTables($self);
 	    open(TMP,"> $self->{tmpfile}");
@@ -275,8 +282,8 @@
 ##############################################
 sub sendBbMail {
     my ($self,$msg,$msg_title) = @_;
-    my $mailto = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE key1 = 'email'");
-    my $bb_title = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE key1 = 'title'");
+    my $mailto = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE $self->{key1} = 'email'");
+    my $bb_title = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE $self->{key1} = 'title'");
     Affelio::NetLib::Email::send_email($self->{afap}->{af}->{cmd__sendmail}, "$self->{afap}->{af}->{user__email1}", "$self->{uname}", $mailto, "$self->{uname}/$bb_title/$msg_title", "$msg", "", "", "ja");
 }
 
@@ -397,19 +404,46 @@
 ############################################################################
 sub get_query_primarykey {
     my ($self) = @_;
-    my $DBConfig = Config::Tiny->new();
-    $DBConfig = Config::Tiny->read("$self->{afap}->{af}->{site__user_dir}/db.cfg");
-    my $db_type = $DBConfig->{db}->{type};
     my $query;
 
-    if ($db_type eq "sqlite"){
+    if ($self->{db_type} eq "sqlite"){
 	$query = " PRIMARY KEY,";
-    }elsif ($db_type eq "mysql"){
+    }elsif ($self->{db_type} eq "mysql"){
 	$query = " AUTO_INCREMENT PRIMARY KEY,";
     }
     return $query;
 }
 
+############################################################################
+# get sql column name: lock  (temporary)
+############################################################################
+sub get_column_lock {
+    my ($db_type) = @_;
+    my $query;
+
+    if ($db_type eq "sqlite"){
+	$query = "lock";
+    }else{
+	$query = "locked";
+    }
+    return $query;
+}
+
+############################################################################
+# get sql column name: key  (temporary)
+############################################################################
+sub get_column_key {
+    my ($db_type) = @_;
+    my $query;
+
+    if ($db_type eq "sqlite"){
+	$query = "key";
+    }else{
+	$query = "key1";
+    }
+    return $query;
+}
+
 ##############################################
 # cryptPwd
 ##############################################
@@ -475,8 +509,8 @@
 ############################################################################
 sub checkContent {
     my ($self, $title, $user, $afid, $description, $icon, $pwd) = @_;
-    my $max_sbjlen = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE key1 = 'max_sbjlen'");
-    my $max_textlen = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE key1 = 'max_textlen'");
+    my $max_sbjlen = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE $self->{key1} = 'max_sbjlen'");
+    my $max_textlen = $self->getColumn("SELECT value FROM $self->{pref_tb} WHERE $self->{key1} = 'max_textlen'");
     $self->errorExit('<AF_M text="Too long title.">') if (length($title)>int($max_sbjlen));
     $self->errorExit('<AF_M text="Too long content.">') if (length($description)>int($max_textlen));
     $self->errorExit('<AF_M text="Too long nickname.">') if (length($user)>16);
@@ -534,7 +568,9 @@
 			user		TEXT,
 			afid		TEXT,
 			last_user	TEXT,
-			last_afid	TEXT, locked INTEGER, ord INTEGER";
+			last_afid	TEXT, "
+			.$self->{locked}." INTEGER,
+ ord INTEGER";
 	    
     $self->{dbh}->do("CREATE TABLE $self->{category_tb} ($query)");
 	    
@@ -552,8 +588,8 @@
 			last_afid	TEXT,
 			topics		INTEGER,
 			posts INTEGER,
-			status INTEGER,
-			locked INTEGER,
+			status INTEGER,"
+			.$self->{locked}." INTEGER,
 			ord		INTEGER";
 	
     $self->{dbh}->do("CREATE TABLE $self->{forum_tb} ($query)");
@@ -571,24 +607,24 @@
 			last_afid	TEXT,
 			view		INTEGER,
 			posts INTEGER,
-			status INTEGER,
-			locked INTEGER,
+			status INTEGER,"
+			.$self->{locked}." INTEGER,
 			timestamp	INTEGER,
 			update_time INTEGER";
 	    
     $self->{dbh}->do("CREATE TABLE $self->{topic_tb} ($query)");
 	    
     #general setting table
-    $query="key1	TEXT,value TEXT";
+    $query="$self->{key1}	TEXT,value TEXT";
     $self->{dbh}->do("CREATE TABLE $self->{pref_tb} ($query)");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('title', '$self->{header_title}')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('email', '$self->{afap}->{af}->{user__email1}')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('max_topics', '300')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('max_comments', '1000')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('num_topics', '50')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('num_comments', '50')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('max_sbjlen', '256')");
-    $self->{dbh}->do("INSERT INTO $self->{pref_tb} (key1, value) VALUES ('max_textlen', '2000')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('title', '$self->{header_title}')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('email', '$self->{afap}->{af}->{user__email1}')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('max_topics', '300')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('max_comments', '1000')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('num_topics', '50')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('num_comments', '50')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('max_sbjlen', '256')");
+    $self->{dbh}->do("INSERT INTO $self->{pref_tb} ($self->{key1}, value) VALUES ('max_textlen', '2000')");
     
     #SPAM keywords table
     $query="spam_id INTEGER".get_query_primarykey($self)."
@@ -596,22 +632,22 @@
     $self->{dbh}->do("CREATE TABLE $self->{spam_tb} ($query)");
 
     #permission setting table
-    $query="key1 TEXT, super BOOLEAN, user BOOLEAN";
+    $query="$self->{key1} TEXT, super BOOLEAN, user BOOLEAN";
     $self->{dbh}->do("CREATE TABLE $self->{permission_tb} ($query)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('category_edit', 0,0)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('category_delete', 0,0)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('category_status', 0,0)");
-
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('forum_edit', 1,0)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('forum_delete', 0,0)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('forum_status', 0,0)");
-
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('topic_edit', 1,1)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('topic_delete', 1,0)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('topic_status', 1,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('category_edit', 0,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('category_delete', 0,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('category_status', 0,0)");
+
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('forum_edit', 1,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('forum_delete', 0,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('forum_status', 0,0)");
+
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('topic_edit', 1,1)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('topic_delete', 1,0)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('topic_status', 1,0)");
 
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('comment_edit', 1,1)");
-    $self->{dbh}->do("INSERT INTO $self->{permission_tb} (key1, super, user) VALUES ('comment_delete', 1,1)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('comment_edit', 1,1)");
+    $self->{dbh}->do("INSERT INTO $self->{permission_tb} ($self->{key1}, super, user) VALUES ('comment_delete', 1,1)");
 
 }
 


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