openvk/Web/Presenters/templates/@layout.xml
Maxim Leshchenko e3358fcfa5 Pinning groups to the left menu
This commit allows you to pin groups to the left menu (max 10 groups, only those in which you are the administrator) from the My Groups page. Fixes #186
2021-11-10 11:18:25 +02:00

297 lines
15 KiB
XML

<html n:if="!isset($parentModule) || substr($parentModule, 0, 21) === 'libchandler:absolute.'">
<head>
<title>
{ifset title}{include title} - {/ifset}OpenVK
</title>
<meta charset="utf-8" />
<link rel="shortcut icon" href="/assets/packages/static/openvk/img/icon.ico" />
<meta name="application-name" content="OpenVK" />
<meta n:ifset="$csrfToken" name="csrf" value="{$csrfToken}" />
{script "js/node_modules/jquery/dist/jquery.min.js"}
{script "js/node_modules/umbrellajs/umbrella.min.js"}
{script "js/openvk.cls.js"}
{ifset $thisUser}
{if $thisUser->getNsfwTolerance() < 2}
{css "css/nsfw-posts.css"}
{/if}
{if $theme !== null}
{if $theme->inheritDefault()}
{css "css/style.css"}
{css "css/dialog.css"}
{css "css/notifications.css"}
{if $isXmas}
{css "css/xmas.css"}
{/if}
{/if}
<link rel="stylesheet" href="/themepack/{$theme->getId()}/{$theme->getVersion()}/stylesheet/styles.css" />
{if $isXmas}
<link rel="stylesheet" href="/themepack/{$theme->getId()}/{$theme->getVersion()}/stylesheet/xmas.css" />
{/if}
{else}
{css "css/style.css"}
{css "css/dialog.css"}
{css "css/notifications.css"}
{if $isXmas}
{css "css/xmas.css"}
{/if}
{/if}
{if $thisUser->getStyleAvatar() == 1}
{css "css/avatar.1.css"}
{/if}
{if $thisUser->getStyleAvatar() == 2}
{css "css/avatar.2.css"}
{/if}
{if $thisUser->hasMicroblogEnabled() == 1}
{css "css/microblog.css"}
{/if}
{else}
{css "css/style.css"}
{css "css/dialog.css"}
{css "css/nsfw-posts.css"}
{css "css/notifications.css"}
{if $isXmas}
{css "css/xmas.css"}
{/if}
{/ifset}
{ifset headIncludes}{include headIncludes}{/ifset}
</head>
<body>
<div id="sudo-banner" n:if="isset($thisUser) && $userTainted">
<p>
Вы вошли как <b>{$thisUser->getCanonicalName()}</b>. Пожалуйста, уважайте
право на тайну переписки других людей и не злоупотребляйте подменой пользователя.
Нажмите <a href="/setSID/unset?hash={rawurlencode($csrfToken)}">здесь</a>, чтобы выйти.
</p>
</div>
<div n:if="OPENVK_ROOT_CONF['openvk']['preferences']['bellsAndWhistles']['testLabel']" id="test-label">FOR TESTING PURPOSES ONLY</div>
<div class="notifications_global_wrap"></div>
<div class="dimmer"></div>
<div class="toTop">
⬆ Вверх
</div>
<div class="layout">
<div id="xhead" class="dm"></div>
<div class="page_header">
<a href="/" class="home_button" title="OpenVK">openvk</a>
<div n:if="isset($thisUser) ? !$thisUser->isBanned() : true" class="header_navigation">
{ifset $thisUser}
<div class="link">
<a href="/">{_"header_home"}</a>
</div>
<div class="link">
<a href="/search?type=groups">{_"header_groups"}</a>
</div>
<div class="link">
<a href="/donate">{_"header_donate"}</a>
</div>
<div class="link">
<a href="/search">{_"header_search"}</a>
</div>
<div class="link">
<a href="/support">{_"header_help"}</a>
</div>
<div class="link">
<a href="/logout">{_"header_log_out"}</a>
</div>
<div class="link">
<form action="/search" method="get">
<input type="search" name="query" placeholder="{_"header_search"}" style="height: 20px;background: url('/assets/packages/static/openvk/img/search_icon.png') no-repeat 3px 4px; background-color: #fff; padding-left: 18px;width: 120px;" />
</form>
</div>
{else}
<div class="link">
<a href="/login">{_"header_login"}</a>
</div>
<div n:if="OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable']" class="link">
<a href="/reg">{_"header_registration"}</a>
</div>
<div class="link">
<a href="/support">{_"header_help"}</a>
</div>
{/ifset}
</div>
</div>
<div class="sidebar">
<div class="navigation">
{ifset $thisUser}
{if !$thisUser->isBanned()}
<a href="/edit" class="link edit-button">{_"edit_button"}</a>
<a href="{$thisUser->getURL()}" class="link">{_"my_page"}</a>
<a href="/friends{$thisUser->getId()}" class="link">{_"my_friends"}
{if $thisUser->getFollowersCount() > 0}
<object type="internal/link">
<a href="/friends{$thisUser->getId()}?act=incoming">
(<b>{$thisUser->getFollowersCount()}</b>)
</a>
</object>
{/if}</a>
<a n:if="$thisUser->getLeftMenuItemStatus('photos')" href="/albums{$thisUser->getId()}" class="link">{_"my_photos"}</a>
<a n:if="$thisUser->getLeftMenuItemStatus('videos')" href="/videos{$thisUser->getId()}" class="link">{_"my_videos"}</a>
<a n:if="$thisUser->getLeftMenuItemStatus('messages')" href="/im" class="link">{_"my_messages"}
{if $thisUser->getUnreadMessagesCount() > 0}
<object type="internal/link">
(<b>{$thisUser->getUnreadMessagesCount()}</b>)
</object>
{/if}
</a>
<a n:if="$thisUser->getLeftMenuItemStatus('notes')" href="/notes{$thisUser->getId()}" class="link">{_"my_notes"}</a>
<a n:if="$thisUser->getLeftMenuItemStatus('groups')" href="/groups{$thisUser->getId()}" class="link">{_"my_groups"}</a>
<a n:if="$thisUser->getLeftMenuItemStatus('news')" href="/feed" class="link">{_"my_feed"}</a>
<a href="/notifications" class="link">{_my_feedback}
{if $thisUser->getNotificationsCount() > 0}
(<b>{$thisUser->getNotificationsCount()}</b>)
{/if}
</a>
<a href="/settings" class="link">{_"my_settings"}</a>
<div style="height: 1px;background: #CCC;margin: 4px 0 2px;"></div>
{if $thisUser->getChandlerUser()->can("access")->model("admin")->whichBelongsTo(NULL)}
<a href="/admin" class="link">Админ-панель</a>
{/if}
{if $thisUser->getChandlerUser()->can("write")->model('openvk\Web\Models\Entities\TicketReply')->whichBelongsTo(0)}
<a href="/support/tickets" class="link">Helpdesk</a>
{/if}
<a
n:foreach="OPENVK_ROOT_CONF['openvk']['preferences']['menu']['links'] as $menuItem"
href="{$menuItem['url']}"
target="_blank"
class="link">{$menuItem["name"]}</a>
<div n:if="$thisUser->getPinnedClubCount() > 0" style="height: 1px;background: #CCC;margin: 4px 0 2px;"></div>
<a
n:foreach="$thisUser->getPinnedClubs() as $club"
href="{$club->getURL()}"
style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
class="link">{$club->getName()}</a>
<a
n:if="OPENVK_ROOT_CONF['openvk']['preferences']['adPoster']['enable']"
href="{php echo OPENVK_ROOT_CONF['openvk']['preferences']['adPoster']['link']}" >
<img
src="{php echo OPENVK_ROOT_CONF['openvk']['preferences']['adPoster']['src']}"
alt="{php echo OPENVK_ROOT_CONF['openvk']['preferences']['adPoster']['caption']}"
class="psa-poster"
style="max-width: 100%; margin-top: 50px;" />
</a>
{else}
<a href="/support" class="link">Поддержка</a>
<a href="/logout" class="link">Выйти</a>
{/if}
{else}
<form id="fastLogin" action="/login" method="POST" enctype="multipart/form-data">
<label for="login"><span>{_"email"}:</span></label>
<input id="login" type="text" name="login" required />
<label for="password"><span>{_"password"}:</span></label>
<input id="password" type="password" name="password" required />
<input type="hidden" name="jReturnTo" value="{$_SERVER['REQUEST_URI']}" />
<input type="hidden" name="hash" value="{$csrfToken}" />
<input type="submit" value="{_'log_in'}" class="button" style="display: inline-block;" />
<a n:if="OPENVK_ROOT_CONF['openvk']['preferences']['registration']['enable']" href="/reg" class="button" style="display: inline-block;" >{_registration}</a><br><br>
<a href="/restore.pl">{_"forgot_password"}</a>
</form>
{/ifset}
</div>
</div>
<div class="page_body">
<div id="wrapH">
<div id="wrapHI">
<div n:ifcontent class="page_yellowheader">
{include header}
</div>
</div>
</div>
{ifset wrap}
{ifset $flashMessage}
<div class="msg msg_{$flashMessage->type}">
<b>{$flashMessage->title}</b><br/>
{$flashMessage->msg|noescape}
</div>
{/ifset}
{include wrap}
{else}
<div class="wrap2">
<div class="wrap1">
<div id="auth" class="page-wrap">
<div class="page_content">
{ifset $flashMessage}
<div class="msg msg_{$flashMessage->type}">
<b>{$flashMessage->title}</b><br/>
{$flashMessage->msg|noescape}
</div>
{/ifset}
{include content}
</div>
</div>
</div>
</div>
{/ifset}
</div>
</div>
<div class="page_footer">
{var dbVersion = \Chandler\Database\DatabaseConnection::i()->getConnection()->getPdo()->getAttribute(\PDO::ATTR_SERVER_VERSION)}
<div class="navigation_footer">
<a href="/blog" class="link">{_footer_blog}</a>
<a href="/support" class="link">{_footer_help}</a>
<a href="/dev" target="_blank" class="link">{_footer_developers}</a>
<a href="/language" class="link">{_footer_choose_language}</a>
<a href="/privacy" class="link">{_footer_privacy}</a>
</div>
<p>OpenVK <a href="/about:openvk">{php echo OPENVK_VERSION}</a> | PHP: {phpversion()} | DB: {$dbVersion}</p>
<p n:ifcontent="ifcontent">
{php echo OPENVK_ROOT_CONF["openvk"]["appearance"]["motd"]}
</p>
</div>
{script "js/node_modules/msgpack-lite/dist/msgpack.min.js"}
{script "js/node_modules/soundjs/lib/soundjs.min.js"}
{script "js/node_modules/ky/umd.js"}
{script "js/messagebox.js"}
{script "js/notifications.js"}
{script "js/scroll.js"}
{script "js/al_wall.js"}
{script "js/al_api.js"}
{ifset $thisUser}
{script "js/al_notifs.js"}
{/ifset}
<script src="https://unpkg.com/fartscroll@1.0.0/fartscroll.js"></script>
<script n:if="OPENVK_ROOT_CONF['openvk']['preferences']['bellsAndWhistles']['fartscroll']">
fartscroll(400);
</script>
<script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['enable']"
async defer data-domain="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['domain']}"
src="{php echo OPENVK_ROOT_CONF['openvk']['telemetry']['plausible']['server']}js/plausible.js"></script>
{ifset bodyScripts}
{include bodyScripts}
{/ifset}
</body>
</html>
{if isset($parentModule) && substr($parentModule, 0, 21) !== 'libchandler:absolute.'}
<!-- INCLUDING TEMPLATE FROM PARENTMODULE: {$parentModule} -->
{include content}
{/if}