summaryrefslogtreecommitdiff
path: root/inc/RemoteAPICore.php
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2014-01-05 16:25:21 +0000
committerAnika Henke <anika@selfthinker.org>2014-01-05 16:25:21 +0000
commit8491e52805a9aaef90168f1417c6e0806fb7c5d7 (patch)
tree536ad50878f0ac6f6815db91f8bcb4819bc092ae /inc/RemoteAPICore.php
parent6fdd11e032b654dd27de346f7e54231ee043d7ef (diff)
parentdfaf5f6c54597f81b1a8b777f55b89c93f87a345 (diff)
downloadrpg-8491e52805a9aaef90168f1417c6e0806fb7c5d7.tar.gz
rpg-8491e52805a9aaef90168f1417c6e0806fb7c5d7.tar.bz2
Merge remote-tracking branch 'origin/master' into extension_manager
Diffstat (limited to 'inc/RemoteAPICore.php')
-rw-r--r--inc/RemoteAPICore.php30
1 files changed, 22 insertions, 8 deletions
diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php
index 4c940b39e..a26c2d0de 100644
--- a/inc/RemoteAPICore.php
+++ b/inc/RemoteAPICore.php
@@ -3,7 +3,7 @@
/**
* Increased whenever the API is changed
*/
-define('DOKU_API_VERSION', 8);
+define('DOKU_API_VERSION', 9);
class RemoteAPICore {
@@ -24,6 +24,10 @@ class RemoteAPICore {
'return' => 'int',
'doc' => 'Tries to login with the given credentials and sets auth cookies.',
'public' => '1'
+ ), 'dokuwiki.logoff' => array(
+ 'args' => array(),
+ 'return' => 'int',
+ 'doc' => 'Tries to logoff by expiring auth cookies and the associated PHP session.'
), 'dokuwiki.getPagelist' => array(
'args' => array('string', 'array'),
'return' => 'array',
@@ -88,12 +92,12 @@ class RemoteAPICore {
), 'wiki.getPageInfo' => array(
'args' => array('string'),
'return' => 'array',
- 'doc' => 'Returns a struct with infos about the page.',
+ 'doc' => 'Returns a struct with info about the page.',
'name' => 'pageInfo'
), 'wiki.getPageInfoVersion' => array(
'args' => array('string', 'int'),
'return' => 'array',
- 'doc' => 'Returns a struct with infos about the page.',
+ 'doc' => 'Returns a struct with info about the page.',
'name' => 'pageInfo'
), 'wiki.getPageVersions' => array(
'args' => array('string', 'int'),
@@ -136,7 +140,7 @@ class RemoteAPICore {
), 'wiki.getAttachmentInfo' => array(
'args' => array('string'),
'return' => 'array',
- 'doc' => 'Returns a struct with infos about the attachment.'
+ 'doc' => 'Returns a struct with info about the attachment.'
), 'dokuwiki.getXMLRPCAPIVersion' => array(
'args' => array(),
'name' => 'getAPIVersion',
@@ -333,7 +337,6 @@ class RemoteAPICore {
if (!is_array($options)) $options = array();
$options['skipacl'] = 0; // no ACL skipping for XMLRPC
-
if(auth_quickaclcheck($ns.':*') >= AUTH_READ) {
$dir = utf8_encodeFN(str_replace(':', '/', $ns));
@@ -506,8 +509,8 @@ class RemoteAPICore {
}
/**
- * Returns the permissions of a given wiki page
- */
+ * Returns the permissions of a given wiki page
+ */
function aclCheck($id) {
$id = $this->resolvePageId($id);
return auth_quickaclcheck($id);
@@ -768,11 +771,22 @@ class RemoteAPICore {
return $ok;
}
+ function logoff(){
+ global $conf;
+ global $auth;
+ if(!$conf['useacl']) return 0;
+ if(!$auth) return 0;
+
+ auth_logoff();
+
+ return 1;
+ }
+
private function resolvePageId($id) {
$id = cleanID($id);
if(empty($id)) {
global $conf;
- $id = cleanID($conf['start']);
+ $id = cleanID($conf['start']);
}
return $id;
}