diff --git a/Web/Presenters/templates/@listView.xml b/Web/Presenters/templates/@listView.xml
index 35c9a2f0..ffdcf620 100644
--- a/Web/Presenters/templates/@listView.xml
+++ b/Web/Presenters/templates/@listView.xml
@@ -5,10 +5,14 @@
{include tabs}
-
+
+ {ifset size}
+ {include size, x => $dat}
+ {/ifset}
+
{var data = is_array($iterator) ? $iterator : iterator_to_array($iterator)}
-
+
{if sizeof($data) > 0}
-
-
- {include "components/paginator.xml", conf => (object) [
- "page" => $page,
- "count" => $count,
- "amount" => sizeof($data),
- "perPage" => $perPage ?? OPENVK_DEFAULT_PER_PAGE,
- "atBottom" => true,
- ]}
-
+ {include "components/paginator.xml", conf => (object) [
+ "page" => $page,
+ "count" => $count,
+ "amount" => sizeof($data),
+ "perPage" => $perPage ?? OPENVK_DEFAULT_PER_PAGE,
+ "atBottom" => true,
+ ]}
{else}
{ifset customErrorMessage}
{include customErrorMessage}
@@ -54,5 +58,9 @@
{/ifset}
{/if}
+
+ {ifset bottom}
+ {include bottom}
+ {/ifset}
{/block}
diff --git a/Web/Presenters/templates/User/Groups.xml b/Web/Presenters/templates/User/Groups.xml
index 18860fd8..a32673b9 100644
--- a/Web/Presenters/templates/User/Groups.xml
+++ b/Web/Presenters/templates/User/Groups.xml
@@ -2,37 +2,45 @@
{var iterator = $user->getClubs($page, $admin)}
{var count = $user->getClubCount($admin)}
-{block title}{_"groups"}{/block}
+{block title}
+ {_groups}
+{/block}
{block header}
- {$user->getCanonicalName()} » {_"groups"}
-
-
+ {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
+ {_my_groups}
+ {else}
+ {$user->getCanonicalName()} » {_groups}
+ {/if}
{/block}
{* BEGIN ELEMENTS DESCRIPTION *}
{block tabs}
- {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
-
-
- {/if}
+ {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
+
+
+ {/if}
+{/block}
+
+{block size}
+
+
+ {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
+ {tr("groups_list", $thisUser->getClubCount())}
+ {else}
+ {tr("groups", $user->getClubCount())}
+ {/if}
+
+
{/block}
{block link|strip|stripHtml}
@@ -43,8 +51,19 @@
{/block}
-{block name}
- {$x->getName()}
+{block infotable}
+
{/block}
{block description}
@@ -54,12 +73,47 @@
{block actions}
{var clubPinned = $thisUser->isClubPinned($x)}
{if $x->canBeModifiedBy($thisUser ?? NULL) && ($clubPinned || $thisUser->getPinnedClubCount() <= 10)}
-
+
+ {_check_community}
+
+
+
{if $clubPinned}
{_remove_from_left_menu}
{else}
{_add_to_left_menu}
{/if}
+
+
+
+ {/if}
+{/block}
+
+{block bottom}
+ {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
+
+
+
{_open_new_group}
+ {_open_group_desc}
+
+
+
+
{_search_group}
+ {_search_group_desc}
+
+
+
{/if}
{/block}
diff --git a/Web/Presenters/templates/components/error.xml b/Web/Presenters/templates/components/error.xml
index 288129a2..9ce715db 100644
--- a/Web/Presenters/templates/components/error.xml
+++ b/Web/Presenters/templates/components/error.xml
@@ -1,7 +1,6 @@
-
-
- {$title}
-
+
+
+ {$title}
{$description}
-
-
+
+
\ No newline at end of file
diff --git a/Web/Presenters/templates/components/paginator.xml b/Web/Presenters/templates/components/paginator.xml
index cf717e23..7c14e7e4 100644
--- a/Web/Presenters/templates/components/paginator.xml
+++ b/Web/Presenters/templates/components/paginator.xml
@@ -1,16 +1,18 @@
{var $space = 2}
{var $pageCount = ceil($conf->count / $conf->perPage)}
-
- {if $conf->page > $space}
-
«
- {/if}
- {for $j = $conf->page - ($space-1); $j <= $conf->page + ($space-1); $j++}
- {if $j > 0 && $j <= $pageCount}
-
{$j}
+
+
+ {if $conf->page > $space}
+
«
{/if}
- {/for}
- {if $conf->page <= $pageCount-$space}
-
»
- {/if}
+ {for $j = $conf->page - ($space-1); $j <= $conf->page + ($space-1); $j++}
+ {if $j > 0 && $j <= $pageCount}
+
{$j}
+ {/if}
+ {/for}
+ {if $conf->page <= $pageCount-$space}
+
»
+ {/if}
+
diff --git a/Web/static/css/style.css b/Web/static/css/style.css
index 3579c71c..cf40d339 100644
--- a/Web/static/css/style.css
+++ b/Web/static/css/style.css
@@ -1832,6 +1832,40 @@ body.scrolled .toTop:hover {
padding: 5px 0px 0px 0px;
}
+.groups_options {
+ padding: 10px 20px 20px;
+ border-top: #DEDEDE solid 1px;
+ margin-top: 12px;
+ margin-left: -12px;
+ margin-right: -12px;
+}
+
+#gp_container {
+ display: inline-block;
+}
+
+#gp_container span {
+ display: block;
+ margin: 10px 0 15px;
+}
+
+#gp_container h4 {
+ font-size: 11px;
+}
+
+.container_gray .content:last-child {
+ margin-bottom: 0;
+}
+
+.group_info {
+ padding: 0 0 0 5px !important;
+}
+
+.group_info .label {
+ width: auto !important;
+ padding-right: 5px;
+}
+
.border-block {
box-shadow: inset 0px 0 0px 1px #b6bfca, inset 0px 0 0px 10px #d8dfe7;
width: 300px;
diff --git a/locales/en.strings b/locales/en.strings
index 1fec702f..fe40e638 100644
--- a/locales/en.strings
+++ b/locales/en.strings
@@ -223,6 +223,7 @@
"subscriptions" = "Subscriptions";
"join_community" = "Join community";
"leave_community" = "Leave community";
+"check_community" = "View community";
"min_6_community" = "Name of the group must have more that 6 characters";
"participants" = "Participants";
"groups" = "Groups";
@@ -272,10 +273,20 @@
"groups_one" = "$1 group";
"groups_other" = "$1 groups";
+"groups_list_zero" = "You are not a participant in any group";
+"groups_list_one" = "You are participating in one group";
+"groups_list_other" = "You are a participant of $1 groups";
+
"meetings_zero" = "No meetings";
"meetings_one" = "$1 meeting";
"meetings_other" = "$1 meetings";
+"open_new_group" = "Open a new group";
+"open_group_desc" = "Can't find the right group? Open your own...";
+"search_group" = "Search group";
+"search_by_groups" = "Search by groups";
+"search_group_desc" = "Here you can browse through the existing groups and choose a group to suit your needs...";
+
/* Albums */
"create" = "Create";
diff --git a/locales/ru.strings b/locales/ru.strings
index dc76df6e..8a073ce0 100644
--- a/locales/ru.strings
+++ b/locales/ru.strings
@@ -232,6 +232,7 @@
"subscriptions" = "Подписки";
"join_community" = "Вступить в группу";
"leave_community" = "Выйти из группы";
+"check_community" = "Просмотр группы";
"min_6_community" = "Название должно быть не менее 6 символов";
"participants" = "Участники";
"groups" = "Группы";
@@ -286,12 +287,22 @@
"groups_many" = "$1 групп";
"groups_other" = "$1 групп";
+"groups_list_zero" = "Вы не состоите ни в одной группе";
+"groups_list_one" = "Вы состоите в одной группе";
+"groups_list_other" = "Вы состоите в $1 группах";
+
"meetings_zero" = "Ни одной встречи";
"meetings_one" = "Одна встреча";
"meetings_few" = "$1 встречи";
"meetings_many" = "$1 встреч";
"meetings_other" = "$1 встреч";
+"open_new_group" = "Открыть новую группу";
+"open_group_desc" = "Не можете найти нужную группу? Откройте свою...";
+"search_group" = "Поиск группы";
+"search_by_groups" = "Поиск по группам";
+"search_group_desc" = "Здесь Вы можете просмотреть существующие группы и выбрать группу себе по вкусу...";
+
/* Albums */
"create" = "Создать";