xref: /plugin/ireadit/helper.php (revision d0cab33c70741e3b980d195617fdaa5a25767f97)
17b5bedfeSSzymon Olewniczak<?php
27b5bedfeSSzymon Olewniczak/**
37b5bedfeSSzymon Olewniczak * DokuWiki Plugin struct (Helper Component)
47b5bedfeSSzymon Olewniczak *
57b5bedfeSSzymon Olewniczak * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
67b5bedfeSSzymon Olewniczak * @author  Szymon Olewniczak <dokuwiki@cosmocode.de>
77b5bedfeSSzymon Olewniczak */
87b5bedfeSSzymon Olewniczak
97b5bedfeSSzymon Olewniczak// must be run within Dokuwiki
107b5bedfeSSzymon Olewniczakif (!defined('DOKU_INC')) {
117b5bedfeSSzymon Olewniczak    die();
127b5bedfeSSzymon Olewniczak}
137b5bedfeSSzymon Olewniczak
147b5bedfeSSzymon Olewniczakclass helper_plugin_ireadit extends DokuWiki_Plugin
157b5bedfeSSzymon Olewniczak{
16*d0cab33cSSzymon Olewniczak    /**
17*d0cab33cSSzymon Olewniczak     * @param array $users
18*d0cab33cSSzymon Olewniczak     * @param array $groups
19*d0cab33cSSzymon Olewniczak     * @return array
20*d0cab33cSSzymon Olewniczak     */
21*d0cab33cSSzymon Olewniczak    public static function users_set($users=[], $groups=[]) {
227b5bedfeSSzymon Olewniczak        global $auth;
237b5bedfeSSzymon Olewniczak
245d3fb867SSzymon Olewniczak        $set = [];
257b5bedfeSSzymon Olewniczak        if (empty($users) && empty($groups)) {
267b5bedfeSSzymon Olewniczak            $set = $auth->retrieveUsers();
277b5bedfeSSzymon Olewniczak        } else {
287b5bedfeSSzymon Olewniczak            $all_users = $auth->retrieveUsers();
297b5bedfeSSzymon Olewniczak            foreach ($all_users as $user => $info) {
307b5bedfeSSzymon Olewniczak                if (in_array($user, $users)) {
317b5bedfeSSzymon Olewniczak                    $set[$user] = $info;
327b5bedfeSSzymon Olewniczak                } elseif (array_intersect($groups, $info['grps'])) {
337b5bedfeSSzymon Olewniczak                    $set[$user] = $info;
347b5bedfeSSzymon Olewniczak                }
357b5bedfeSSzymon Olewniczak            }
367b5bedfeSSzymon Olewniczak        }
377b5bedfeSSzymon Olewniczak        return $set;
387b5bedfeSSzymon Olewniczak    }
39*d0cab33cSSzymon Olewniczak
40*d0cab33cSSzymon Olewniczak    /**
41*d0cab33cSSzymon Olewniczak     * @param $user
42*d0cab33cSSzymon Olewniczak     * @param $meta
43*d0cab33cSSzymon Olewniczak     * @return bool
44*d0cab33cSSzymon Olewniczak     */
45*d0cab33cSSzymon Olewniczak    public function in_users_set($user, $meta) {
46*d0cab33cSSzymon Olewniczak        $users = $meta['users'];
47*d0cab33cSSzymon Olewniczak        $groups = $meta['groups'];
48*d0cab33cSSzymon Olewniczak        $users_set = self::users_set($users, $groups);
49*d0cab33cSSzymon Olewniczak        if (array_key_exists($user, $users_set)) {
50*d0cab33cSSzymon Olewniczak            return true;
51*d0cab33cSSzymon Olewniczak        }
52*d0cab33cSSzymon Olewniczak        return false;
53*d0cab33cSSzymon Olewniczak    }
547b5bedfeSSzymon Olewniczak}
55