Add user backend provider system

This commit is contained in:
Frederic Guillot
2017-11-09 15:09:54 -08:00
parent 95b2a36886
commit 44aa24bab1
23 changed files with 273 additions and 50 deletions

View File

@@ -0,0 +1,43 @@
<?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;
}
}

View File

@@ -83,7 +83,7 @@ class DatabaseUserProvider implements UserProviderInterface
*/
public function getRole()
{
return '';
return empty($this->user['role']) ? '' : $this->user['role'];
}
/**
@@ -94,7 +94,7 @@ class DatabaseUserProvider implements UserProviderInterface
*/
public function getUsername()
{
return '';
return empty($this->user['username']) ? '' : $this->user['username'];
}
/**
@@ -105,7 +105,7 @@ class DatabaseUserProvider implements UserProviderInterface
*/
public function getName()
{
return '';
return empty($this->user['name']) ? '' : $this->user['name'];
}
/**
@@ -116,7 +116,7 @@ class DatabaseUserProvider implements UserProviderInterface
*/
public function getEmail()
{
return '';
return empty($this->user['email']) ? '' : $this->user['email'];
}
/**