summaryrefslogtreecommitdiff
path: root/app/User/Avatar/AvatarFileProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/User/Avatar/AvatarFileProvider.php')
-rw-r--r--app/User/Avatar/AvatarFileProvider.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/app/User/Avatar/AvatarFileProvider.php b/app/User/Avatar/AvatarFileProvider.php
new file mode 100644
index 00000000..87a42c07
--- /dev/null
+++ b/app/User/Avatar/AvatarFileProvider.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Kanboard\User\Avatar;
+
+use Kanboard\Core\Base;
+use Kanboard\Core\User\Avatar\AvatarProviderInterface;
+
+/**
+ * Avatar Local Image File Provider
+ *
+ * @package avatar
+ * @author Frederic Guillot
+ */
+class AvatarFileProvider extends Base implements AvatarProviderInterface
+{
+ /**
+ * Render avatar html
+ *
+ * @access public
+ * @param array $user
+ * @param int $size
+ * @return string
+ */
+ public function render(array $user, $size)
+ {
+ $url = $this->helper->url->href('AvatarFile', 'show', array('user_id' => $user['id'], 'size' => $size));
+ $title = $this->helper->text->e($user['name'] ?: $user['username']);
+ return '<img src="' . $url . '" alt="' . $title . '" title="' . $title . '">';
+ }
+
+ /**
+ * Determine if the provider is active
+ *
+ * @access public
+ * @param array $user
+ * @return boolean
+ */
+ public function isActive(array $user)
+ {
+ return !empty($user['avatar_path']);
+ }
+}