mirror of
https://github.com/openvk/openvk
synced 2024-11-11 01:19:53 +03:00
465 lines
28 KiB
XML
465 lines
28 KiB
XML
{var $instance_name = OPENVK_ROOT_CONF['openvk']['appearance']['name']}
|
|
{if !isset($parentModule) || substr($parentModule, 0, 21) === 'libchandler:absolute.'}
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>
|
|
{ifset title}{include title} - {/ifset}{$instance_name}
|
|
</title>
|
|
<meta charset="utf-8" />
|
|
<link rel="shortcut icon" href="/assets/packages/static/openvk/img/icon.ico" />
|
|
<meta name="application-name" content="{$instance_name}" />
|
|
<meta n:ifset="$csrfToken" name="csrf" value="{$csrfToken}" />
|
|
|
|
<script src="/language/{php echo getLanguage()}.js" crossorigin="anonymous"></script>
|
|
{script "js/node_modules/jquery/dist/jquery.min.js"}
|
|
{script "js/node_modules/jquery-ui/dist/jquery-ui.min.js"}
|
|
{script "js/node_modules/umbrellajs/umbrella.min.js"}
|
|
{script "js/l10n.js"}
|
|
{script "js/openvk.cls.js"}
|
|
{script "js/node_modules/dashjs/dist/dash.all.min.js"}
|
|
{script "js/al_music.js"}
|
|
|
|
{css "js/node_modules/tippy.js/dist/backdrop.css"}
|
|
{css "js/node_modules/tippy.js/dist/border.css"}
|
|
{css "js/node_modules/tippy.js/dist/svg-arrow.css"}
|
|
{css "js/node_modules/tippy.js/themes/light.css"}
|
|
{script "js/node_modules/@popperjs/core/dist/umd/popper.min.js"}
|
|
{script "js/node_modules/tippy.js/dist/tippy-bundle.umd.min.js"}
|
|
{script "js/node_modules/handlebars/dist/handlebars.min.js"}
|
|
|
|
{if $isTimezoned == NULL}
|
|
{script "js/timezone.js"}
|
|
{/if}
|
|
|
|
{include "_includeCSS.xml"}
|
|
|
|
{ifset headIncludes}
|
|
{include headIncludes}
|
|
{/ifset}
|
|
</head>
|
|
<body>
|
|
<div id="sudo-banner" n:if="isset($thisUser) && $userTainted">
|
|
<p>
|
|
{_you_entered_as} <b>{$thisUser->getCanonicalName()}</b>. {_please_rights}
|
|
{_click_on} <a href="/setSID/unset?hash={rawurlencode($csrfToken)}">{_there}</a>, {_to_leave}.
|
|
</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="articleView">
|
|
<a id="articleCloseButton" class="button" href="javascript:void(u('body').removeClass('article'));">{_close}</a>
|
|
<div class="articleView_container">
|
|
<div class="articleView_info">
|
|
<div class="articleView_author">
|
|
<img id="articleAuthorAva" src="" />
|
|
<div>
|
|
<span><a id="articleAuthorName"></a></span>
|
|
<time id="articleTime"></time>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="articleView_link">
|
|
<a id="articleLink" href="/" class="button">{_aw_legacy_ui}</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="articleView_text" id="articleText">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{if isset($backdrops) && !is_null($backdrops)}
|
|
<div id="backdrop" style="background-image: url('{$backdrops[0]|noescape}'), url('{$backdrops[1]|noescape}');">
|
|
<div id="backdropDripper"></div>
|
|
</div>
|
|
{/if}
|
|
|
|
<div class="toTop">
|
|
⬆ {_to_top}
|
|
</div>
|
|
|
|
<div class="layout">
|
|
<div id="xhead" class="dm"></div>
|
|
<div class="page_header{if $instance_name != OPENVK_DEFAULT_INSTANCE_NAME} page_custom_header{/if}">
|
|
<a href="/" class="home_button{if $instance_name != OPENVK_DEFAULT_INSTANCE_NAME} home_button_custom{/if}" title="{$instance_name}">{if $instance_name != OPENVK_DEFAULT_INSTANCE_NAME}{$instance_name}{/if}</a>
|
|
<div n:if="isset($thisUser) ? (!$thisUser->isBanned() XOR !$thisUser->isActivated()) : true" class="header_navigation">
|
|
{ifset $thisUser}
|
|
{if $thisUser->isDeactivated()}
|
|
<div class="link">
|
|
<a href="/logout?hash={urlencode($csrfToken)}">{_header_log_out}</a>
|
|
</div>
|
|
{else}
|
|
<div class="link dec">
|
|
<a href="/">{_header_home}</a>
|
|
</div>
|
|
<div class="link dec">
|
|
<a href="/search?type=groups">{_header_groups}</a>
|
|
</div>
|
|
<div class="link dec">
|
|
<a href="/search">{_header_search}</a>
|
|
</div>
|
|
<div class="link dec">
|
|
<a href="/invite">{_header_invite}</a>
|
|
</div>
|
|
<div class="link dec">
|
|
<a href="/support">{_header_help} <b n:if="$ticketAnsweredCount > 0">({$ticketAnsweredCount})</b></a>
|
|
</div>
|
|
<div class="link dec">
|
|
<a href="/logout?hash={urlencode($csrfToken)}">{_header_log_out}</a>
|
|
</div>
|
|
{var $atSearch = str_contains($_SERVER['REQUEST_URI'], "/search")}
|
|
<div id="srch" class="{if $atSearch}nodivider{else}link{/if}">
|
|
|
|
{if !$atSearch}
|
|
<form action="/search" method="get" id="searcher" style="position:relative;">
|
|
<input autocomplete="off" id="searchInput" oninput="checkSearchTips()" onfocus="expandSearch()" onblur="decreaseSearch()" class="sr" 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;" title="{_header_search} [Alt+Shift+F]" accesskey="f" />
|
|
<select onchange="checkSearchTips()" id="typer" name="type" class="whatFind" style="display:none;top: 0px;">
|
|
<option value="users">{_s_by_people}</option>
|
|
<option value="groups">{_s_by_groups}</option>
|
|
<option value="posts">{_s_by_posts}</option>
|
|
<option value="comments">{_s_by_comments}</option>
|
|
<option value="videos">{_s_by_videos}</option>
|
|
<option value="apps">{_s_by_apps}</option>
|
|
<option value="audios">{_s_by_audios}</option>
|
|
</select>
|
|
</form>
|
|
<div class="searchTips" id="srcht" hidden>
|
|
<table style="border:none;border-spacing: 0;">
|
|
<tbody id="srchrr">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{else}
|
|
<form action="/search" method="get" id="searcher" style="margin-top: -1px;position:relative;">
|
|
<input id="searchInput" value="{$_GET['query'] ?? ''}" type="search" class="sr" name="query" placeholder="{_header_search}" style="height: 20px; background-color: #fff; padding-left: 6px;width: 555px;" title="{_header_search} [Alt+Shift+F]" accesskey="f" />
|
|
<select name="type" class="whatFind">
|
|
<option value="users" {if str_contains($_SERVER['REQUEST_URI'], "type=users")}selected{/if}>{_s_by_people}</option>
|
|
<option value="groups" {if str_contains($_SERVER['REQUEST_URI'], "type=groups")}selected{/if}>{_s_by_groups}</option>
|
|
<option value="posts" {if str_contains($_SERVER['REQUEST_URI'], "type=posts")}selected{/if}>{_s_by_posts}</option>
|
|
<option value="comments" {if str_contains($_SERVER['REQUEST_URI'], "type=comments")}selected{/if}>{_s_by_comments}</option>
|
|
<option value="videos" {if str_contains($_SERVER['REQUEST_URI'], "type=videos")}selected{/if}>{_s_by_videos}</option>
|
|
<option value="apps" {if str_contains($_SERVER['REQUEST_URI'], "type=apps")}selected{/if}>{_s_by_apps}</option>
|
|
<option value="audios" {if str_contains($_SERVER['REQUEST_URI'], "type=audios")}selected{/if}>{_s_by_audios}</option>
|
|
</select>
|
|
<button class="searchBtn"><span style="color:white;font-weight: 600;font-size:12px;">{_header_search}</span></button>
|
|
</form>
|
|
<script>
|
|
let els = document.querySelectorAll("div.dec")
|
|
for(const element of els) {
|
|
element.style.display = "none"
|
|
}
|
|
</script>
|
|
{/if}
|
|
</div>
|
|
{/if}
|
|
{else}
|
|
<div class="link">
|
|
<a href="/login">{_header_login}</a>
|
|
</div>
|
|
<div 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() XOR !$thisUser->isActivated() XOR $thisUser->isDeactivated()}
|
|
<a href="/edit" class="link edit-button">{_edit_button}</a>
|
|
<a href="{$thisUser->getURL()}" class="link" title="{_my_page} [Alt+Shift+.]" accesskey=".">{_my_page}</a>
|
|
<a href="/friends{$thisUser->getId()}" class="link">{_my_friends}
|
|
<object type="internal/link" n:if="$thisUser->getFollowersCount() > 0">
|
|
<a href="/friends{$thisUser->getId()}?act=incoming" class="linkunderline">
|
|
(<b>{$thisUser->getFollowersCount()}</b>)
|
|
</a>
|
|
</object>
|
|
</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('audios')" href="/audios{$thisUser->getId()}" class="link">{_my_audios}</a>
|
|
<a n:if="$thisUser->getLeftMenuItemStatus('messages')" href="/im" class="link">{_my_messages}
|
|
<object type="internal/link" n:if="$thisUser->getUnreadMessagesCount() > 0">
|
|
(<b>{$thisUser->getUnreadMessagesCount()}</b>)
|
|
</object>
|
|
</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" title="{_my_feed} [Alt+Shift+,]" accesskey=",">{_my_feed}</a>
|
|
<a href="/notifications" class="link" title="{_my_feedback} [Alt+Shift+N]" accesskey="n">{_my_feedback}
|
|
<object type="internal/link" n:if="$thisUser->getNotificationsCount() > 0">
|
|
(<b>{$thisUser->getNotificationsCount()}</b>)
|
|
</object>
|
|
</a>
|
|
<a n:if="$thisUser->getLeftMenuItemStatus('apps')" href="/apps?act=installed" class="link">{_my_apps}</a>
|
|
<a href="/settings" class="link">{_my_settings}</a>
|
|
|
|
{var $canAccessAdminPanel = $thisUser->getChandlerUser()->can("access")->model("admin")->whichBelongsTo(NULL)}
|
|
{var $canAccessHelpdesk = $thisUser->getChandlerUser()->can("write")->model('openvk\Web\Models\Entities\TicketReply')->whichBelongsTo(0)}
|
|
{var $menuLinksAvaiable = sizeof(OPENVK_ROOT_CONF['openvk']['preferences']['menu']['links']) > 0 && $thisUser->getLeftMenuItemStatus('links')}
|
|
<div n:if="$canAccessAdminPanel || $canAccessHelpdesk || $menuLinksAvaiable" class="menu_divider"></div>
|
|
<a href="/admin" class="link" n:if="$canAccessAdminPanel" title="{_admin} [Alt+Shift+A]" accesskey="a">{_admin}</a>
|
|
<a href="/support/tickets" class="link" n:if="$canAccessHelpdesk">{_helpdesk}
|
|
{if $helpdeskTicketNotAnsweredCount > 0}
|
|
(<b>{$helpdeskTicketNotAnsweredCount}</b>)
|
|
{/if}
|
|
</a>
|
|
<a n:if="$canAccessHelpdesk" href="/scumfeed" class="link">{tr("reports")}
|
|
{if $reportNotAnsweredCount > 0}
|
|
(<b>{$reportNotAnsweredCount}</b>)
|
|
{/if}
|
|
</a>
|
|
<a n:if="$canAccessHelpdesk" href="/noSpam" class="link">
|
|
noSpam
|
|
</a>
|
|
<a
|
|
n:if="$thisUser->getLeftMenuItemStatus('links')"
|
|
n:foreach="OPENVK_ROOT_CONF['openvk']['preferences']['menu']['links'] as $menuItem"
|
|
href="{$menuItem['url']}"
|
|
target="_blank"
|
|
class="link">
|
|
{strpos($menuItem["name"], "@") === 0 ? tr(substr($menuItem["name"], 1)) : $menuItem["name"]}
|
|
</a>
|
|
<div id="_groupListPinnedGroups">
|
|
|
|
<div id="_groupListPinnedGroups">
|
|
<div n:if="$thisUser->getPinnedClubCount() > 0" class="menu_divider"></div>
|
|
|
|
<a n:foreach="$thisUser->getPinnedClubs() as $club" href="{$club->getURL()}" class="link group_link">
|
|
{ovk_proc_strtr($club->getName(), 14)}
|
|
|
|
<object type="internal/link" style="white-space: normal;" id="sug{$club->getId()}" n:if="$club->getSuggestedPostsCount($thisUser) > 0 && $club->getWallType() == 2">
|
|
<a href="/club{$club->getId()}/suggested" class="linkunderline">
|
|
(<b>{$club->getSuggestedPostsCount($thisUser)}</b>)
|
|
</a>
|
|
</object>
|
|
</a>
|
|
</div>
|
|
|
|
<div n:if="OPENVK_ROOT_CONF['openvk']['preferences']['commerce'] && $thisUser->getCoins() != 0" id="votesBalance">
|
|
{tr("you_still_have_x_points", $thisUser->getCoins())|noescape}
|
|
<br /><br />
|
|
|
|
<a href="/settings?act=finance">{_top_up_your_account} »</a>
|
|
</div>
|
|
|
|
<a n:if="OPENVK_ROOT_CONF['openvk']['preferences']['adPoster']['enable'] && $thisUser->getLeftMenuItemStatus('poster')" 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: 10px;" />
|
|
</a>
|
|
|
|
<div class="floating_sidebar">
|
|
<a id="minilink-friends" class="minilink" href="/friends{$thisUser->getId()}">
|
|
<object type="internal/link" n:if="$thisUser->getFollowersCount() > 0">
|
|
<div class="counter">
|
|
+{$thisUser->getFollowersCount()}
|
|
</div>
|
|
</object>
|
|
<img src="/assets/packages/static/openvk/img/friends.svg">
|
|
</a>
|
|
<a id="minilink-albums" class="minilink" href="/albums{$thisUser->getId()}">
|
|
<img src="/assets/packages/static/openvk/img/photos.svg">
|
|
</a>
|
|
<a id="minilink-messenger" class="minilink" href="/im">
|
|
<object type="internal/link" n:if="$thisUser->getUnreadMessagesCount() > 0">
|
|
<div class="counter">
|
|
+{$thisUser->getUnreadMessagesCount()}
|
|
</div>
|
|
</object>
|
|
<img src="/assets/packages/static/openvk/img/messages.svg">
|
|
</a>
|
|
<a id="minilink-groups" class="minilink" href="/groups{$thisUser->getId()}">
|
|
<img src="/assets/packages/static/openvk/img/groups.svg">
|
|
</a>
|
|
<a id="minilink-notifications" class="minilink" href="/notifications">
|
|
<object type="internal/link" n:if="$thisUser->getNotificationsCount() > 0">
|
|
<div class="counter">
|
|
+{$thisUser->getNotificationsCount()}
|
|
</div>
|
|
</object>
|
|
<img src="/assets/packages/static/openvk/img/feedback.svg">
|
|
</a>
|
|
</div>
|
|
{elseif !$thisUser->isActivated()}
|
|
<a href="/logout?hash={urlencode($csrfToken)}" class="link">{_menu_logout}</a>
|
|
{else}
|
|
<a href="/support" class="link">{_menu_support}
|
|
{if $ticketAnsweredCount > 0}
|
|
(<b>{$ticketAnsweredCount}</b>)
|
|
{/if}
|
|
</a>
|
|
<a href="/logout?hash={urlencode($csrfToken)}" class="link">{_menu_logout}</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; font-family: Tahoma" />
|
|
<a href="/reg"><input type="button" value="{_registration}" class="button" style="font-family: Tahoma" /></a><br><br>
|
|
{if !OPENVK_ROOT_CONF['openvk']['preferences']['security']['disablePasswordRestoring']}<a href="/restore">{_forgot_password}</a>{/if}
|
|
</form>
|
|
{/ifset}
|
|
</div>
|
|
</div>
|
|
{ifset $thisUser}
|
|
{if !$thisUser->isBanned() && !$thisUser->isDeleted()}
|
|
</div>
|
|
{/if}
|
|
{/ifset}
|
|
|
|
<div class="page_body">
|
|
<div id="wrapH">
|
|
<div id="wrapHI">
|
|
<div n:ifcontent class="page_yellowheader">
|
|
{include header}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{ifset wrap}
|
|
<div class="msg msg_{$flashMessage->type}" n:ifset="$flashMessage">
|
|
<b>{$flashMessage->title}</b><br/>
|
|
{$flashMessage->msg|noescape}
|
|
</div>
|
|
|
|
{include wrap}
|
|
{else}
|
|
<div class="wrap2">
|
|
<div class="wrap1">
|
|
<div id="auth" class="page-wrap">
|
|
<div class="page_content">
|
|
<div class="msg msg_{$flashMessage->type}" n:ifset="$flashMessage">
|
|
<b>{$flashMessage->title}</b><br/>
|
|
{$flashMessage->msg|noescape}
|
|
</div>
|
|
|
|
{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="/about" class="link">{_footer_about_instance}</a>
|
|
<a href="/terms" class="link">{_footer_rules}</a>
|
|
<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="/privacy" class="link">{_footer_privacy}</a>
|
|
</div>
|
|
<p>
|
|
{var $currentUrl = $_SERVER["REQUEST_URI"]}
|
|
{foreach array_slice(getLanguages(), 0, 3) as $language}
|
|
<a href="/language?lg={$language['code']}&hash={urlencode($csrfToken)}&jReturnTo={php echo rawurlencode($currentUrl)}" rel="nofollow" title="{$language['native_name']}" class="link">
|
|
<img src="/assets/packages/static/openvk/img/flags/{$language['flag']}.gif" alt="{$language['native_name']}">
|
|
</a>
|
|
{/foreach}
|
|
<a href="/language" class="link">all languages »</a>
|
|
</p>
|
|
<p>OpenVK <a href="/about:openvk">{php echo OPENVK_VERSION}</a> | PHP: {phpversion()} | DB: {$dbVersion}</p>
|
|
<p n:ifcontent>
|
|
{php echo OPENVK_ROOT_CONF["openvk"]["appearance"]["motd"]}
|
|
</p>
|
|
</div>
|
|
|
|
<div id="ajloader" class="loader">
|
|
<img src="/assets/packages/static/openvk/img/loading_mini.gif" style="width: 40px;">
|
|
</div>
|
|
|
|
{include "components/cookies.xml"}
|
|
|
|
{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/player.js"}
|
|
{script "js/al_wall.js"}
|
|
{script "js/al_api.js"}
|
|
{script "js/al_mentions.js"}
|
|
{script "js/al_polls.js"}
|
|
{script "js/al_suggestions.js"}
|
|
|
|
{ifset $thisUser}
|
|
{script "js/al_notifs.js"}
|
|
{/ifset}
|
|
|
|
{if OPENVK_ROOT_CONF['openvk']['preferences']['bellsAndWhistles']['fartscroll']}
|
|
<script src="https://unpkg.com/fartscroll@1.0.0/fartscroll.js"></script>
|
|
<script>
|
|
fartscroll(400);
|
|
</script>
|
|
{/if}
|
|
|
|
<script>bsdnHydrate();</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>
|
|
|
|
<script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['piwik']['enable']">
|
|
{var $piwik = (object) OPENVK_ROOT_CONF['openvk']['telemetry']['piwik']}
|
|
|
|
//<![CDATA[
|
|
(function(window,document,dataLayerName,id){
|
|
window[dataLayerName]=window[dataLayerName]||[],window[dataLayerName].push({ start:(new Date).getTime(),event:"stg.start" });var scripts=document.getElementsByTagName('script')[0],tags=document.createElement('script');
|
|
function stgCreateCookie(a,b,c){ var d="";if(c){ var e=new Date;e.setTime(e.getTime()+24*c*60*60*1e3),d=";expires="+e.toUTCString() }document.cookie=a+"="+b+d+";path=/" }
|
|
var isStgDebug=(window.location.href.match("stg_debug")||document.cookie.match("stg_debug"))&&!window.location.href.match("stg_disable_debug");stgCreateCookie("stg_debug",isStgDebug?1:"",isStgDebug?14:-1);
|
|
var qP=[];dataLayerName!=="dataLayer"&&qP.push("data_layer_name="+dataLayerName),isStgDebug&&qP.push("stg_debug");var qPString=qP.length>0?("?"+qP.join("&")):"";
|
|
tags.async=!0,tags.src={$piwik->container . "/"}+id+".js"+qPString,scripts.parentNode.insertBefore(tags,scripts);
|
|
!function(a,n,i){ a[n]=a[n]||{ };for(var c=0;c<i.length;c++)!function(i){ a[n][i]=a[n][i]||{ },a[n][i].api=a[n][i].api||function(){ var a=[].slice.call(arguments,0);"string"==typeof a[0]&&window[dataLayerName].push({ event:n+"."+i+":"+a[0],parameters:[].slice.call(arguments,1) }) } }(i[c]) }(window,"ppms",["tm","cm"]);
|
|
})(window,document,{$piwik->layer}, {$piwik->site});
|
|
//]]>
|
|
</script>
|
|
|
|
<script n:if="OPENVK_ROOT_CONF['openvk']['telemetry']['matomo']['enable']">
|
|
{var $matomo = (object) OPENVK_ROOT_CONF['openvk']['telemetry']['matomo']}
|
|
//<![CDATA[
|
|
var _paq = window._paq = window._paq || [];
|
|
_paq.push(['trackPageView']);
|
|
_paq.push(['enableLinkTracking']);
|
|
(function() {
|
|
var u="//" + {$matomo->container} + "/";
|
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
|
_paq.push(['setSiteId', {$matomo->site}]);
|
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
|
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
|
})();
|
|
//]]>
|
|
</script>
|
|
|
|
<script>
|
|
window.openvk = {
|
|
"audio_genres": {\openvk\Web\Models\Entities\Audio::genres}
|
|
}
|
|
</script>
|
|
|
|
{ifset bodyScripts}
|
|
{include bodyScripts}
|
|
{/ifset}
|
|
</body>
|
|
</html>
|
|
{/if}
|
|
|
|
{if isset($parentModule) && substr($parentModule, 0, 21) !== 'libchandler:absolute.'}
|
|
<!-- INCLUDING TEMPLATE FROM PARENTMODULE: {$parentModule} -->
|
|
|
|
{include content}
|
|
{/if}
|