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