summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/indexer.php1
-rw-r--r--inc/fulltext.php5
-rw-r--r--inc/init.php3
-rw-r--r--lib/exe/indexer.php2
-rw-r--r--lib/exe/xmlrpc.php26
5 files changed, 18 insertions, 19 deletions
diff --git a/bin/indexer.php b/bin/indexer.php
index 55f3608d5..c95314d7c 100755
--- a/bin/indexer.php
+++ b/bin/indexer.php
@@ -152,6 +152,7 @@ function _clearindex(){
_lock();
_quietecho("Clearing index... ");
io_saveFile($conf['indexdir'].'/page.idx','');
+ io_saveFile($conf['indexdir'].'/title.idx','');
$dir = @opendir($conf['indexdir']);
if($dir!==false){
while(($f = readdir($dir)) !== false){
diff --git a/inc/fulltext.php b/inc/fulltext.php
index a68770277..b6aac5c91 100644
--- a/inc/fulltext.php
+++ b/inc/fulltext.php
@@ -233,9 +233,8 @@ function _ft_pageLookup(&$data){
$in_ns = !$data['not_in_ns'];
$in_title = !$data['not_in_title'];
- global $conf;
- $pages = array_map('rtrim', file($conf['indexdir'].'/page.idx'));
- $titles = array_map('rtrim', file($conf['indexdir'].'/title.idx'));
+ $pages = array_map('rtrim', idx_getIndex('page', ''));
+ $titles = array_map('rtrim', idx_getIndex('title', ''));
$pages = array_combine($pages, $titles);
if($id !== '' && cleanID($id) !== '') {
diff --git a/inc/init.php b/inc/init.php
index 3a9988fcf..20263f95a 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -304,7 +304,8 @@ function init_paths(){
function init_files(){
global $conf;
- $files = array( $conf['indexdir'].'/page.idx');
+ $files = array( $conf['indexdir'].'/page.idx',
+ $conf['indexdir'].'/title.idx');
foreach($files as $file){
if(!@file_exists($file)){
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index 1e6eb5685..75228779e 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -255,7 +255,7 @@ function runSitemapper(){
return false;
}
- $pages = file($conf['indexdir'].'/page.idx');
+ $pages = idx_getIndex('page', '');
print 'runSitemapper(): creating sitemap using '.count($pages).' pages'.NL;
// build the sitemap
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index 377003cf1..f06792361 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -354,24 +354,22 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer {
* List all pages - we use the indexer list here
*/
function listPages(){
- global $conf;
-
$list = array();
- $pages = file($conf['indexdir'] . '/page.idx');
- $pages = array_filter($pages, 'isVisiblePage');
+ $pages = array_filter(array_filter(idx_getIndex('page', ''),
+ 'isVisiblePage'),
+ 'page_exists');
foreach(array_keys($pages) as $idx) {
- if(page_exists($pages[$idx])) {
- $perm = auth_quickaclcheck($pages[$idx]);
- if($perm >= AUTH_READ) {
- $page = array();
- $page['id'] = trim($pages[$idx]);
- $page['perms'] = $perm;
- $page['size'] = @filesize(wikiFN($pages[$idx]));
- $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx])));
- $list[] = $page;
- }
+ $perm = auth_quickaclcheck($pages[$idx]);
+ if($perm < AUTH_READ) {
+ continue;
}
+ $page = array();
+ $page['id'] = trim($pages[$idx]);
+ $page['perms'] = $perm;
+ $page['size'] = @filesize(wikiFN($pages[$idx]));
+ $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx])));
+ $list[] = $page;
}
return $list;