| <?php |
|
|
| namespace Kanboard\Core\User\Avatar; |
|
|
| |
| |
| |
| |
| |
| |
| class AvatarManager |
| { |
| |
| |
| |
| |
| |
| |
| private $providers = array(); |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function register(AvatarProviderInterface $provider) |
| { |
| $this->providers[] = $provider; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public function render($user_id, $username, $name, $email, $avatar_path, $size) |
| { |
| $user = array( |
| 'id' => $user_id, |
| 'username' => $username, |
| 'name' => $name, |
| 'email' => $email, |
| 'avatar_path' => $avatar_path, |
| ); |
|
|
| krsort($this->providers); |
|
|
| foreach ($this->providers as $provider) { |
| if ($provider->isActive($user)) { |
| return $provider->render($user, $size); |
| } |
| } |
|
|
| return ''; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function renderDefault($size) |
| { |
| if (count($this->providers) > 0) { |
| ksort($this->providers); |
| $provider = current($this->providers); |
|
|
| $user = array( |
| 'id' => 0, |
| 'username' => '', |
| 'name' => '?', |
| 'email' => '', |
| 'avatar_path' => '', |
| ); |
|
|
| return $provider->render($user, $size); |
| } |
|
|
| return ''; |
| } |
| } |
|
|