xref: /dokuwiki/lib/plugins/acl/remote.php (revision 42ea7f447f39fbc2f79eaaec31f8c10ede59c5d0)
19f8068d2SMohamed Amine BERGAOUI<?php
29f8068d2SMohamed Amine BERGAOUI
3*42ea7f44SGerrit Uitslag/**
4*42ea7f44SGerrit Uitslag * Class remote_plugin_acl
5*42ea7f44SGerrit Uitslag */
69f8068d2SMohamed Amine BERGAOUIclass remote_plugin_acl extends DokuWiki_Remote_Plugin {
7*42ea7f44SGerrit Uitslag
8*42ea7f44SGerrit Uitslag    /**
9*42ea7f44SGerrit Uitslag     * Returns details about the remote plugin methods
10*42ea7f44SGerrit Uitslag     *
11*42ea7f44SGerrit Uitslag     * @return array
12*42ea7f44SGerrit Uitslag     */
13*42ea7f44SGerrit Uitslag    public function _getMethods() {
149f8068d2SMohamed Amine BERGAOUI        return array(
151b7fc214SMohamed Amine BERGAOUI            'addAcl' => array(
169f8068d2SMohamed Amine BERGAOUI                'args' => array('string','string','int'),
179f8068d2SMohamed Amine BERGAOUI                'return' => 'int',
189f8068d2SMohamed Amine BERGAOUI                'name' => 'addAcl',
199f8068d2SMohamed Amine BERGAOUI                'doc' => 'Adds a new ACL rule.'
201b7fc214SMohamed Amine BERGAOUI            ), 'delAcl' => array(
219f8068d2SMohamed Amine BERGAOUI                'args' => array('string','string'),
229f8068d2SMohamed Amine BERGAOUI                'return' => 'int',
239f8068d2SMohamed Amine BERGAOUI                'name' => 'delAcl',
249f8068d2SMohamed Amine BERGAOUI                'doc' => 'Delete an existing ACL rule.'
259f8068d2SMohamed Amine BERGAOUI            ),
269f8068d2SMohamed Amine BERGAOUI        );
279f8068d2SMohamed Amine BERGAOUI    }
289f8068d2SMohamed Amine BERGAOUI
29*42ea7f44SGerrit Uitslag    /**
30*42ea7f44SGerrit Uitslag     * Add a new entry to ACL config
31*42ea7f44SGerrit Uitslag     *
32*42ea7f44SGerrit Uitslag     * @param string $scope
33*42ea7f44SGerrit Uitslag     * @param string $user
34*42ea7f44SGerrit Uitslag     * @param int    $level see also inc/auth.php
35*42ea7f44SGerrit Uitslag     * @return bool
36*42ea7f44SGerrit Uitslag     */
37*42ea7f44SGerrit Uitslag    public function addAcl($scope, $user, $level){
3859bc3b48SGerrit Uitslag        /** @var admin_plugin_acl $apa */
391b7fc214SMohamed Amine BERGAOUI        $apa = plugin_load('admin', 'acl');
409f8068d2SMohamed Amine BERGAOUI        return $apa->_acl_add($scope, $user, $level);
419f8068d2SMohamed Amine BERGAOUI    }
429f8068d2SMohamed Amine BERGAOUI
43*42ea7f44SGerrit Uitslag    /**
44*42ea7f44SGerrit Uitslag     * Remove an entry from ACL config
45*42ea7f44SGerrit Uitslag     *
46*42ea7f44SGerrit Uitslag     * @param string $scope
47*42ea7f44SGerrit Uitslag     * @param string $user
48*42ea7f44SGerrit Uitslag     * @return bool
49*42ea7f44SGerrit Uitslag     */
50*42ea7f44SGerrit Uitslag    public function delAcl($scope, $user){
5159bc3b48SGerrit Uitslag        /** @var admin_plugin_acl $apa */
521b7fc214SMohamed Amine BERGAOUI        $apa = plugin_load('admin', 'acl');
539f8068d2SMohamed Amine BERGAOUI        return $apa->_acl_del($scope, $user);
549f8068d2SMohamed Amine BERGAOUI    }
559f8068d2SMohamed Amine BERGAOUI}
569f8068d2SMohamed Amine BERGAOUI
57