From 75b373839e8e7cc44996584f17358310e66b7621 Mon Sep 17 00:00:00 2001 From: Denis Shakhov Date: Fri, 17 Apr 2015 23:21:45 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=20user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog/blocks/block.blog-users.tpl | 2 +- .../user/avatar/user-avatar-list.tpl | 20 +++++++++++++ .../components/user/avatar/user-avatar.tpl | 26 +++++++++++++++++ .../user/blocks/block.users-statistics.tpl | 20 ++++++++++++- .../frontend/components/user/component.json | 16 ++++++----- .../components/user/css/user-item.css | 22 --------------- .../components/user/css/user-list-avatar.css | 9 ------ application/frontend/components/user/info.tpl | 2 +- .../user/{ => list}/user-list-item.tpl | 0 .../user/{ => list}/user-list-loop.tpl | 0 .../components/user/{ => list}/user-list.tpl | 0 application/frontend/components/user/stat.tpl | 17 ----------- .../frontend/components/user/user-item.tpl | 26 ----------------- .../components/user/user-list-avatar.tpl | 28 ------------------- .../components/user/user-list-small-item.tpl | 2 +- 15 files changed, 77 insertions(+), 113 deletions(-) create mode 100644 application/frontend/components/user/avatar/user-avatar-list.tpl create mode 100644 application/frontend/components/user/avatar/user-avatar.tpl delete mode 100644 application/frontend/components/user/css/user-item.css delete mode 100644 application/frontend/components/user/css/user-list-avatar.css rename application/frontend/components/user/{ => list}/user-list-item.tpl (100%) rename application/frontend/components/user/{ => list}/user-list-loop.tpl (100%) rename application/frontend/components/user/{ => list}/user-list.tpl (100%) delete mode 100644 application/frontend/components/user/stat.tpl delete mode 100644 application/frontend/components/user/user-item.tpl delete mode 100644 application/frontend/components/user/user-list-avatar.tpl diff --git a/application/frontend/components/blog/blocks/block.blog-users.tpl b/application/frontend/components/blog/blocks/block.blog-users.tpl index 55a3a0f0..c81e6bf7 100644 --- a/application/frontend/components/blog/blocks/block.blog-users.tpl +++ b/application/frontend/components/blog/blocks/block.blog-users.tpl @@ -16,4 +16,4 @@ mods = 'blog-users' title = $smarty.capture.block_title titleUrl = "{$blog->getUrlFull()}users/" - content = {component 'user' template='list-avatar' users=$blogUsers}} \ No newline at end of file + content = {component 'user' template='avatar-list' users=$blogUsers blankslateParams=[ 'mods' => 'no-background' ]}} \ No newline at end of file diff --git a/application/frontend/components/user/avatar/user-avatar-list.tpl b/application/frontend/components/user/avatar/user-avatar-list.tpl new file mode 100644 index 00000000..8b35ed17 --- /dev/null +++ b/application/frontend/components/user/avatar/user-avatar-list.tpl @@ -0,0 +1,20 @@ +{** + * Список пользователей (аватары) + * + * @param array $users Список пользователей + * @param array $pagination Массив с параметрами пагинации + * @param array $emptyText + *} + +{$items = []} + +{foreach $users as $user} + {* TODO: Костыль для блогов *} + {if $user->getUser()}{$user = $user->getUser()}{/if} + + {$items[] = {component 'user' template='avatar' size=$smarty.local.size|default:'small' user=$user}} +{/foreach} + +{component 'avatar' template='list' items=$items params=$smarty.local.params} + +{component 'pagination' total=+$pagination.iCountPage current=+$pagination.iCurrentPage url="{$pagination.sBaseUrl}/page__page__/"} \ No newline at end of file diff --git a/application/frontend/components/user/avatar/user-avatar.tpl b/application/frontend/components/user/avatar/user-avatar.tpl new file mode 100644 index 00000000..cd2780de --- /dev/null +++ b/application/frontend/components/user/avatar/user-avatar.tpl @@ -0,0 +1,26 @@ +{** + * Блок с аватаркой и именем пользователя + * + * @param object $user + * @param string $classes + * @param array $attributes + * @param array $mods + *} + +{$sizes = [ + 'large' => 200, + 'default' => 100, + 'small' => 64, + 'xsmall' => 48, + 'xxsmall' => 24, + 'text' => 18 +]} + +{$user = $smarty.local.user} + +{component 'avatar' + image = $user->getProfileAvatarPath( $sizes[ $smarty.local.size|default:'default' ] ) + url = $user->getUserWebPath() + classes = 'user-item' + name = $user->getDisplayName() + params = $smarty.local.params} \ No newline at end of file diff --git a/application/frontend/components/user/blocks/block.users-statistics.tpl b/application/frontend/components/user/blocks/block.users-statistics.tpl index 6a171030..a5fe7673 100644 --- a/application/frontend/components/user/blocks/block.users-statistics.tpl +++ b/application/frontend/components/user/blocks/block.users-statistics.tpl @@ -2,7 +2,25 @@ * Статистика по пользователям *} +{capture 'user_block_stat'} +
+ {* Кол-во пользователей *} + {component 'info-list' list=[ + [ 'label' => "{lang name='user.stats.all'}:", 'content' => $usersStat.count_all ], + [ 'label' => "{lang name='user.stats.active'}:", 'content' => $usersStat.count_active ], + [ 'label' => "{lang name='user.stats.not_active'}:", 'content' => $usersStat.count_inactive ] + ]} + + {* Пол *} + {component 'info-list' list=[ + [ 'label' => "{lang name='user.stats.men'}:", 'content' => $usersStat.count_sex_man ], + [ 'label' => "{lang name='user.stats.women'}:", 'content' => $usersStat.count_sex_woman ], + [ 'label' => "{lang name='user.stats.none'}:", 'content' => $usersStat.count_sex_other ] + ]} +
+{/capture} + {component 'block' mods = 'info users-stats' title = {lang 'user.stats.title'} - content = {component 'user' template='stat' stat=$usersStat}} \ No newline at end of file + content = $smarty.capture.user_block_stat} \ No newline at end of file diff --git a/application/frontend/components/user/component.json b/application/frontend/components/user/component.json index f2f715a1..3666cd35 100644 --- a/application/frontend/components/user/component.json +++ b/application/frontend/components/user/component.json @@ -8,10 +8,10 @@ "button": "*", "field": "*", "photo": "*", + "avatar": "*", "alert": "*" }, "templates": { - "list": "user-list.tpl", "actions": "actions.tpl", "header": "header.tpl", "friend-item": "friend-item.tpl", @@ -19,10 +19,14 @@ "info": "info.tpl", "search-form": "search-form.users.tpl", "stat": "stat.tpl", - "item": "user-item.tpl", - "list-avatar": "user-list-avatar.tpl", - "list-item": "user-list-item.tpl", - "list-loop": "user-list-loop.tpl", + + "avatar": "avatar/user-avatar.tpl", + "avatar-list": "avatar/user-avatar-list.tpl", + + "list": "list/user-list.tpl", + "list-item": "list/user-list-item.tpl", + "list-loop": "list/user-list-loop.tpl", + "list-small-item": "user-list-small-item.tpl", "list-small": "user-list-small.tpl", @@ -52,8 +56,6 @@ "styles": { "blocks": "css/user-blocks.css", "header": "css/user-header.css", - "item": "css/user-item.css", - "list-avatar": "css/user-list-avatar.css", "list-small": "css/user-list-small.css", "user": "css/user.css" } diff --git a/application/frontend/components/user/css/user-item.css b/application/frontend/components/user/css/user-item.css deleted file mode 100644 index 0cb64021..00000000 --- a/application/frontend/components/user/css/user-item.css +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Блок с аватарой и логином пользователя - * - * @template user-item.tpl - */ - -.user-item { - display: inline-block; -} -.user-item-avatar { - vertical-align: middle; - margin-right: 2px; -} -.user-item-name { - font-weight: bold; -} -.user-item--rounded .user-item-avatar { - border-radius: 50%; -} -.user-item.inactive { - opacity: .5; -} \ No newline at end of file diff --git a/application/frontend/components/user/css/user-list-avatar.css b/application/frontend/components/user/css/user-list-avatar.css deleted file mode 100644 index 30738cd0..00000000 --- a/application/frontend/components/user/css/user-list-avatar.css +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Список пользователей - * - * @template user_list_avatar.tpl - */ -.user-list-avatar { overflow: hidden; zoom: 1; } -.user-list-avatar li { width: 64px; overflow: hidden; float: left; margin-right: 20px; margin-bottom: 15px; text-align: center; } -.user-list-avatar .user-item-avatar { margin-bottom: 2px; margin-right: 0; display: block; } -.user-list-avatar .user-item-name { font-size: 11px; font-weight: normal; } \ No newline at end of file diff --git a/application/frontend/components/user/info.tpl b/application/frontend/components/user/info.tpl index 298ba5c4..13e19c77 100644 --- a/application/frontend/components/user/info.tpl +++ b/application/frontend/components/user/info.tpl @@ -217,7 +217,7 @@ *} {if $smarty.local.friends} {capture 'user_info_friends'} - {component 'user' template='list-avatar' users=$smarty.local.friends} + {component 'user' template='avatar-list' users=$smarty.local.friends} {/capture} {component 'user' template='info-group' diff --git a/application/frontend/components/user/user-list-item.tpl b/application/frontend/components/user/list/user-list-item.tpl similarity index 100% rename from application/frontend/components/user/user-list-item.tpl rename to application/frontend/components/user/list/user-list-item.tpl diff --git a/application/frontend/components/user/user-list-loop.tpl b/application/frontend/components/user/list/user-list-loop.tpl similarity index 100% rename from application/frontend/components/user/user-list-loop.tpl rename to application/frontend/components/user/list/user-list-loop.tpl diff --git a/application/frontend/components/user/user-list.tpl b/application/frontend/components/user/list/user-list.tpl similarity index 100% rename from application/frontend/components/user/user-list.tpl rename to application/frontend/components/user/list/user-list.tpl diff --git a/application/frontend/components/user/stat.tpl b/application/frontend/components/user/stat.tpl deleted file mode 100644 index f3c64903..00000000 --- a/application/frontend/components/user/stat.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{$stat = $smarty.local.stat} - -
- {* Кол-во пользователей *} - {component 'info-list' list=[ - [ 'label' => "{lang name='user.stats.all'}:", 'content' => $stat.count_all ], - [ 'label' => "{lang name='user.stats.active'}:", 'content' => $stat.count_active ], - [ 'label' => "{lang name='user.stats.not_active'}:", 'content' => $stat.count_inactive ] - ]} - - {* Пол *} - {component 'info-list' list=[ - [ 'label' => "{lang name='user.stats.men'}:", 'content' => $stat.count_sex_man ], - [ 'label' => "{lang name='user.stats.women'}:", 'content' => $stat.count_sex_woman ], - [ 'label' => "{lang name='user.stats.none'}:", 'content' => $stat.count_sex_other ] - ]} -
\ No newline at end of file diff --git a/application/frontend/components/user/user-item.tpl b/application/frontend/components/user/user-item.tpl deleted file mode 100644 index ff0bfd1a..00000000 --- a/application/frontend/components/user/user-item.tpl +++ /dev/null @@ -1,26 +0,0 @@ -{** - * Блок с аватаркой и именем пользователя - * - * @param object $user - * @param integer $avatarSize - * - * @param string $classes - * @param array $attributes - * @param array $mods - *} - -{$component = 'user-item'} - -{$user = $smarty.local.user} - -
- - - {$user->getLogin()} - - - - {$user->getDisplayName()} - -
\ No newline at end of file diff --git a/application/frontend/components/user/user-list-avatar.tpl b/application/frontend/components/user/user-list-avatar.tpl deleted file mode 100644 index d750f558..00000000 --- a/application/frontend/components/user/user-list-avatar.tpl +++ /dev/null @@ -1,28 +0,0 @@ -{** - * Список пользователей (аватары) - * - * @param array $users Список пользователей - * @param array $pagination Массив с параметрами пагинации - * @param array $emptyText - *} - -{$users = $smarty.local.users} -{$pagination = $smarty.local.pagination} -{$emptyText = $smarty.local.emptyText} - -{$emptyText = $emptyText|default:$aLang.common.empty} - -{if $users} - -{else} - {component 'blankslate' text=$emptyText} -{/if} - -{component 'pagination' total=+$pagination.iCountPage current=+$pagination.iCurrentPage url="{$pagination.sBaseUrl}/page__page__/"} \ No newline at end of file diff --git a/application/frontend/components/user/user-list-small-item.tpl b/application/frontend/components/user/user-list-small-item.tpl index f3fea274..67133895 100644 --- a/application/frontend/components/user/user-list-small-item.tpl +++ b/application/frontend/components/user/user-list-small-item.tpl @@ -28,6 +28,6 @@ {* Пользователь *} {block 'user_list_small_item_content'} - {component 'user' template='item' user=$user} + {component 'user' template='avatar' size='xxsmall' mods='inline' user=$user} {/block} \ No newline at end of file