1 <?php rcs_id('$Id: SQL.php,v 1.2 2001-09-19 03:24:36 wainstead Exp $');
3 require_once('lib/WikiDB.php');
9 class WikiDB_SQL extends WikiDB
11 function WikiDB_SQL ($dbparams) {
12 $backend_type = 'PearDB';
13 if (preg_match('/^(\w+):/', $dbparams['dsn'], $m))
14 $backend_type = $m[1];
15 include_once("lib/WikiDB/backend/$backend_type.php");
16 $backend_class = "WikiDB_backend_$backend_type";
17 $backend = new $backend_class($dbparams);
19 $this->WikiDB($backend, $dbparams);
24 * Determine whether page exists (in non-default form).
25 * @see WikiDB::isWikiPage
27 function isWikiPage ($pagename) {
29 if (empty($this->_iwpcache))
30 $this->_iwpcache = array_flip($this->_backend->get_all_pagenames());
31 return isset($this->_iwpcache[$pagename]);
34 if (!isset($this->_iwpcache[$pagename]))
35 $this->_iwpcache[$pagename] = $this->_backend->is_wiki_page($pagename);
36 return $this->_iwpcache[$pagename];
38 // Talk to the backend directly for max speed.
40 $pagedata = $this->_cache->get_pagedata($pagename);
41 return !empty($pagedata[':non_default']);
52 // c-hanging-comment-ender-p: nil
53 // indent-tabs-mode: nil