Date:   Wednesday January 29, 2003 @ 14:18
Author: matt

Update of /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP
In directory ted.sergeant.org:/home/matt/Perl/AxKit-XSP-Wiki/lib/AxKit/XSP

Modified Files:
        Wiki.pm 
Log Message:
Number of wiki code cleanups
Log:
PR:

Index: Wiki.pm
===================================================================
RCS file: /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP/Wiki.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -u -r1.8 -r1.9
--- Wiki.pm     2003/01/04 00:39:06     1.8
+++ Wiki.pm     2003/01/29 14:18:15     1.9
@@ -25,28 +25,27 @@
 
 sub _mkdb {
     my ($dbpath, $dbname) = @_;
-    return DBI->connect(
+    my $db = DBI->connect(
         'DBI:SQLite:dbname='. $dbpath . '/wiki-' . $dbname . '.db',
-        '', '', { AutoCommit => 0, RaiseError => 1 }
+        '', '', { AutoCommit => 1, RaiseError => 1 }
         );
-}
-
-sub display_page ($$$$$) {
-    my ($dbpath, $dbname, $page, $action, $id) = @_;
-    
-    my $db = _mkdb($dbpath, $dbname);
     
     eval {
-       $db->do('select * from Page, Formatter where 1 = 2');
+       $db->do('select * from Page, Formatter, History where 1 = 2');
     };
     if ($@) {
        create_db($db);
     }
     
-    if ($action eq 'view') {
-       return view_page($db, $page);
-    }
-    elsif ($action eq 'edit') {
+    return $db;
+}
+
+sub display_page ($$$$$) {
+    my ($dbpath, $dbname, $page, $action, $id) = @_;
+    
+    my $db = _mkdb($dbpath, $dbname);
+    
+    if ($action eq 'edit') {
        return edit_page($db, $page);
     }
     elsif ($action eq 'history') {
@@ -55,11 +54,12 @@
     elsif ($action eq 'historypage') {
        return show_history_page($db, $page, $id);
     }
-    # elsif ($action eq 'restore') {
-    #     return restore_page($db, $page, $id);
-    # }
+    if ($action eq 'view') {
+       return view_page($db, $page);
+    }
     else {
-       die "Unknown action: $action";
+        warn("Unrecognised action. Falling back to 'view'");
+        return view_page($db, $page);
     }
 }
 
@@ -219,6 +219,7 @@
     my ($db, $page, $contents, $texttype, $ip, $rss) = @_;
     # NB fix hard coded formatterid
     my $last_modified = time;
+    local $db->{AutoCommit} = 0;
     my (@row) = $db->selectrow_array("SELECT * FROM Page WHERE name = ?", {}, $page);
     if (@row) {
         # store history

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to