public function users_group_info($id_) { $this->check_authorized('viewUsersGroups'); $userGroupDB = UserGroupDB::getInstance(); $group = $userGroupDB->import($id_); if (!$group) { return null; } $g = self::generate_usersgroup_array($group); $search_limit = $this->prefs->get('general', 'max_items_per_page'); $userDB = UserDB::getInstance(); list($users, $sizelimit_exceeded) = $userDB->getUsersContains('', array(), $search_limit, $group); $g['users_partial_list'] = $sizelimit_exceeded; if (count($users) > 0) { $s['users'] = array(); foreach ($users as $user) { $g['users'][$user->getAttribute('login')] = $user->getAttribute('displayname'); } } $ags = $group->appsGroups(); if (count($ags) > 0) { $g['applicationsgroups'] = array(); foreach ($ags as $ag) { $g['applicationsgroups'][$ag->id] = $ag->name; } } $servers_groups = Abstract_ServersGroup::getList(true); $liaisons = Abstract_Liaison::load('UsersGroupServersGroup', $id_, NULL); $g['serversgroups'] = array(); foreach ($liaisons as $group_s) { if (!array_key_exists($group_s->group, $servers_groups)) { continue; } $group_s = $servers_groups[$group_s->group]; $g['serversgroups'][$group_s->id] = $group_s->name; } if (Preferences::moduleIsEnabled('SharedFolderDB')) { $sharedfolderdb = SharedFolderDB::getInstance(); $sharedfolders = $sharedfolderdb->importFromUsergroup($group->getUniqueID()); if (count($sharedfolders) > 0) { $g['shared_folders'] = array(); foreach ($sharedfolders as $mode => $sharedfolders2) { $g['shared_folders'][$mode] = array(); foreach ($sharedfolders2 as $sharedfolder) { $g['shared_folders'][$mode][$sharedfolder->id] = $sharedfolder->name; } } } } // Policy $policy = $group->getPolicy(); $prefs_policy = $this->prefs->get('general', 'policy'); $default_policy = $prefs_policy['default_policy']; $g['policy'] = $policy; $g['default_policy'] = array(); foreach ($policy as $key => $value) { $g['default_policy'][$key] = in_array($key, $default_policy); } // Settings $g['settings'] = array(); $g['settings_default'] = array(); $session_prefs_categs = array('session_settings_defaults', 'remote_desktop_settings', 'remote_applications_settings'); foreach ($session_prefs_categs as $session_prefs_categ) { $session_prefs = $this->prefs->getElements('general', $session_prefs_categ); foreach ($session_prefs as $session_pref) { $e = self::pref_element2dict($session_pref); $g['settings_default'][$session_prefs_categ][$e['id']] = $e; } $group_prefs = Abstract_UserGroup_Preferences::loadByUserGroupId($group->getUniqueID(), 'general', $session_prefs_categ); foreach ($group_prefs as $group_pref) { $g['settings'][$session_prefs_categ][$group_pref->element_id] = $group_pref->value; } } return $g; }