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