]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/WikiDB/backend/dba.php
Remove rcs_id
[SourceForge/phpwiki.git] / lib / WikiDB / backend / dba.php
1 <?php // $Id$
2
3 require_once('lib/WikiDB/backend/dbaBase.php');
4 require_once('lib/DbaDatabase.php');
5
6 class WikiDB_backend_dba
7 extends WikiDB_backend_dbaBase
8 {
9     function WikiDB_backend_dba ($dbparams) {
10         $directory = '/tmp';
11         $prefix = 'wiki_';
12         $dba_handler = 'gdbm';
13         $timeout = 20;
14         extract($dbparams);
15         if ($directory) $directory .= "/";
16         $dbfile = $directory . $prefix . 'pagedb' . '.' . $dba_handler;
17
18         // FIXME: error checking.
19         $db = new DbaDatabase($dbfile, false, $dba_handler);
20         $db->set_timeout($timeout);
21
22         // Workaround for BDB 4.1 bugs
23         if (file_exists($dbfile)) {
24             $mode = 'w';
25         } else {
26             $mode = 'c';
27         }
28         if (!$db->open($mode)) {
29             trigger_error(sprintf(_("%s: Can't open dba database"), $dbfile), E_USER_ERROR);
30             global $request;
31             $request->finish(fmt("%s: Can't open dba database", $dbfile));
32         }
33
34         $this->WikiDB_backend_dbaBase($db);
35     }
36 };
37
38 // Local Variables:
39 // mode: php
40 // tab-width: 8
41 // c-basic-offset: 4
42 // c-hanging-comment-ender-p: nil
43 // indent-tabs-mode: nil
44 // End: 
45 ?>