+
+ {var $data = is_array($iterator) ? $iterator : iterator_to_array($iterator)}
+
+ {if sizeof($data) > 0}
+ {if $type == "users" || $type == "groups" || $type == "apps"}
+
+ {elseif $type == "posts"}
+
+ {if $dat->getTargetWall() < 0 && $dat->getWallOwner()->isHideFromGlobalFeedEnabled()}
+ brbrevht
+ {else}
+ {include "../components/post.xml", post => $dat, commentSection => true, onWallOf => true}
+ {/if}
+
+ {elseif $type == "comments"}
+
+ {include "../components/comment.xml", comment => $dat, linkW => true}
+
+ {elseif $type == "videos"}
+ {foreach $data as $dat}
+
+ {include "../components/video.xml", video => $dat}
+
+ {/foreach}
+ {elseif $type == "audios"}
+ privet
+ {/if}
+ {include "../components/paginator.xml", conf => (object) [
+ "page" => $page,
+ "count" => $count,
+ "amount" => sizeof($data),
+ "perPage" => $perPage ?? OPENVK_DEFAULT_PER_PAGE,
+ "atBottom" => false,
+ ]}
+ {else}
+ {ifset customErrorMessage}
+ {include customErrorMessage}
+ {else}
+ {include "../components/nothing.xml"}
+ {/ifset}
+ {/if}
+
+{/block}
+
{block link|strip|stripHtml}
{$x->getURL()}
{/block}
diff --git a/tpl/Topics/Board.xml b/tpl/Topics/Board.xml
new file mode 100644
index 0000000..26870c5
--- /dev/null
+++ b/tpl/Topics/Board.xml
@@ -0,0 +1,56 @@
+{extends "../@listView.xml"}
+{var $iterator = iterator_to_array($topics)}
+{var $page = $paginatorConf->page}
+
+{block title}{_discussions} {$club->getCanonicalName()}{/block}
+
+{block titleHeader}
+
{$club->getCanonicalName()} » {_discussions}
+
+
+{/block}
+
+{block tabs}
+
+ {tr("results", $count)}
+
+{/block}
+
+{block actions}
+
+{/block}
+
+{* BEGIN ELEMENTS DESCRIPTION *}
+
+{block link|strip|stripHtml}
+ /topic{$x->getPrettyId()}
+{/block}
+
+{block preview}
+
+{/block}
+
+{block name}
+ {$x->getTitle()}
+
+{/block}
+
+{block description}
+
+ {tr("messages", $x->getCommentsCount())}
+
+ {var $lastComment = $x->getLastComment()}
+
+{/block}
diff --git a/tpl/Topics/Create.xml b/tpl/Topics/Create.xml
new file mode 100644
index 0000000..84b17f2
--- /dev/null
+++ b/tpl/Topics/Create.xml
@@ -0,0 +1,73 @@
+{extends "../@layout.xml"}
+{block title}{_new_topic}{/block}
+
+{block titleHeader}
+
{$club->getCanonicalName()}
+ »
+
{_discussions}
+ »
+ {_new_topic}
+{/block}
+
+{block body}
+
+
+
+
+ {if $graffiti}
+ {script "js/node_modules/react/dist/react-with-addons.min.js"}
+ {script "js/node_modules/react-dom/dist/react-dom.min.js"}
+ {script "js/vnd_literallycanvas.js"}
+ {css "js/node_modules/literallycanvas/lib/css/literallycanvas.css"}
+ {/if}
+{/block}
diff --git a/tpl/Topics/Edit.xml b/tpl/Topics/Edit.xml
new file mode 100644
index 0000000..3036d5a
--- /dev/null
+++ b/tpl/Topics/Edit.xml
@@ -0,0 +1,55 @@
+{extends "../@layout.xml"}
+{block title}{_edit_topic} "{$topic->getTitle()}"{/block}
+
+{block titleHeader}
+
{$club->getCanonicalName()}
+ »
+
{_discussions}
+ »
+ {_edit_topic}
+{/block}
+
+{block body}
+
+
+
+{/block}
diff --git a/tpl/Topics/Topic.xml b/tpl/Topics/Topic.xml
new file mode 100644
index 0000000..e83e239
--- /dev/null
+++ b/tpl/Topics/Topic.xml
@@ -0,0 +1,29 @@
+{extends "../@layout.xml"}
+{block title}{_view_topic} "{$topic->getTitle()}"{/block}
+
+{block titleHeader}
+
{$club->getCanonicalName()}
+ »
+
{_discussions}
+ »
+ {_view_topic}
+
+
+{/block}
+
+{block body}
+
+
+
{tr("topic_messages_count", $count)}
+ {include "../components/comments.xml", comments => $comments, count => $count, page => $page, model => "topics", club => $club, readOnly => $topic->isClosed(), showTitle => false, parent => $topic}
+
+{/block}
diff --git a/tpl/User/View.xml b/tpl/User/View.xml
index 3cdd812..7043136 100755
--- a/tpl/User/View.xml
+++ b/tpl/User/View.xml
@@ -48,13 +48,6 @@
{block body}
{if !$user->isBanned()}
- {if !$user->getPrivacyPermission('page.read', $thisUser ?? NULL)}
-
- {_forbidden}
- {_forbidden_comment}
-
- {else}
-
{strpos($alert, "@") === 0 ? tr(substr($alert, 1)) : $alert}
@@ -394,8 +387,6 @@
{presenter "openvk!Wall->wallEmbedded", $user->getId()}