44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Kanboard\User;
|
||
|
|
|
||
|
|
use Kanboard\Core\Base;
|
||
|
|
use Kanboard\Core\User\UserBackendProviderInterface;
|
||
|
|
use Kanboard\Filter\UserNameFilter;
|
||
|
|
use Kanboard\Model\UserModel;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Database Backend User Provider
|
||
|
|
*
|
||
|
|
* @package Kanboard\User
|
||
|
|
* @author Frederic Guillot
|
||
|
|
*/
|
||
|
|
class DatabaseBackendUserProvider extends Base implements UserBackendProviderInterface
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Find a group from a search query
|
||
|
|
*
|
||
|
|
* @access public
|
||
|
|
* @param string $input
|
||
|
|
* @return DatabaseUserProvider[]
|
||
|
|
*/
|
||
|
|
public function find($input)
|
||
|
|
{
|
||
|
|
$result = array();
|
||
|
|
|
||
|
|
$users = $this->userQuery->withFilter(new UserNameFilter($input))
|
||
|
|
->getQuery()
|
||
|
|
->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name')
|
||
|
|
->eq(UserModel::TABLE.'.is_active', 1)
|
||
|
|
->asc(UserModel::TABLE.'.name')
|
||
|
|
->asc(UserModel::TABLE.'.username')
|
||
|
|
->findAll();
|
||
|
|
|
||
|
|
foreach ($users as $user) {
|
||
|
|
$result[] = new DatabaseUserProvider($user);
|
||
|
|
}
|
||
|
|
|
||
|
|
return $result;
|
||
|
|
}
|
||
|
|
}
|