Source
<?php
/*
** Zabbix
** Copyright (C) 2001-2017 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
/**
* Class containing methods for operations with users.
*/
class CUser extends CApiService {
protected $tableName = 'users';
protected $tableAlias = 'u';
protected $sortColumns = ['userid', 'alias'];
/**
* Get users data.
*
* @param array $options
* @param array $options['usrgrpids'] filter by UserGroup IDs
* @param array $options['userids'] filter by User IDs
* @param bool $options['type'] filter by User type [USER_TYPE_ZABBIX_USER: 1, USER_TYPE_ZABBIX_ADMIN: 2, USER_TYPE_SUPER_ADMIN: 3]
* @param bool $options['selectUsrgrps'] extend with UserGroups data for each User
* @param bool $options['getAccess'] extend with access data for each User
* @param bool $options['count'] output only count of objects in result. (result returned in property 'rowscount')
* @param string $options['pattern'] filter by Host name containing only give pattern
* @param int $options['limit'] output will be limited to given number
* @param string $options['sortfield'] output will be sorted by given property ['userid', 'alias']
* @param string $options['sortorder'] output will be sorted in given order ['ASC', 'DESC']
*
* @return array
*/
public function get($options = []) {
$result = [];
$sqlParts = [
'select' => ['users' => 'u.userid'],
'from' => ['users' => 'users u'],
'where' => [],
'order' => [],
'limit' => null
];
$defOptions = [
'usrgrpids' => null,
'userids' => null,
'mediaids' => null,
'mediatypeids' => null,