summaryrefslogtreecommitdiff
path: root/lib/exe
diff options
context:
space:
mode:
authorMichael Klier <chi@chimeric.de>2008-08-24 11:06:33 +0200
committerMichael Klier <chi@chimeric.de>2008-08-24 11:06:33 +0200
commitdfd13e55ad5658529ad92eb78ba4481a3a8ffc58 (patch)
tree99da07c613cbea9efa228e778c0145deac3bac63 /lib/exe
parentfc80ed598f1db2b8b4de6aeb0917a3f7391ec215 (diff)
downloadrpg-dfd13e55ad5658529ad92eb78ba4481a3a8ffc58.tar.gz
rpg-dfd13e55ad5658529ad92eb78ba4481a3a8ffc58.tar.bz2
XMLRPC: extended listPages()
darcs-hash:20080824090633-23886-57dd768012053858ec86eab235698b7f297661ea.gz
Diffstat (limited to 'lib/exe')
-rw-r--r--lib/exe/xmlrpc.php23
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;
}
/**