diff options
author | Michael Klier <chi@chimeric.de> | 2008-08-24 11:06:33 +0200 |
---|---|---|
committer | Michael Klier <chi@chimeric.de> | 2008-08-24 11:06:33 +0200 |
commit | dfd13e55ad5658529ad92eb78ba4481a3a8ffc58 (patch) | |
tree | 99da07c613cbea9efa228e778c0145deac3bac63 /lib | |
parent | fc80ed598f1db2b8b4de6aeb0917a3f7391ec215 (diff) | |
download | rpg-dfd13e55ad5658529ad92eb78ba4481a3a8ffc58.tar.gz rpg-dfd13e55ad5658529ad92eb78ba4481a3a8ffc58.tar.bz2 |
XMLRPC: extended listPages()
darcs-hash:20080824090633-23886-57dd768012053858ec86eab235698b7f297661ea.gz
Diffstat (limited to 'lib')
-rw-r--r-- | lib/exe/xmlrpc.php | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index 491660c97..4c2e0f011 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -222,8 +222,27 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { * List all pages - we use the indexer list here */ function listPages(){ - require_once(DOKU_INC.'inc/fulltext.php'); - return ft_pageLookup(''); + global $conf; + + $list = array(); + $pages = file($conf['indexdir'] . '/page.idx'); + $pages = array_filter($pages, 'isVisiblePage'); + + 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($pages[$idx])); + $list[] = $page; + } + } + } + + return $list; } /** |