Обновление скина с upstream.
This commit is contained in:
parent
4279121667
commit
dac9e2c046
|
@ -0,0 +1,13 @@
|
||||||
|
# EditorConfig is awesome: http://EditorConfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
trim_trailing_whitespace = true
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'nav'
|
{component 'nav'
|
||||||
name = 'admin'
|
hook = 'admin'
|
||||||
mods = 'stacked pills'
|
mods = 'stacked pills'
|
||||||
items = [
|
items = [
|
||||||
[ 'name' => 'user', 'url' => "{router page='admin/plugins'}?plugin=admin&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}", 'text' => {lang 'admin.install_plugin_admin'}, is_enabled => $availableAdminPlugin ],
|
[ 'name' => 'user', 'url' => "{router page='admin/plugins'}?plugin=admin&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}", 'text' => {lang 'admin.install_plugin_admin'}, is_enabled => $availableAdminPlugin ],
|
||||||
|
|
|
@ -3,17 +3,9 @@
|
||||||
*
|
*
|
||||||
* @param array $blogCategories Список категорий блогов
|
* @param array $blogCategories Список категорий блогов
|
||||||
* @param object $blogEdit Блог, передается в случае если блог редактируется
|
* @param object $blogEdit Блог, передается в случае если блог редактируется
|
||||||
*
|
|
||||||
* TODO: Вынести 'rangelength' в конфиг
|
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.blog.edit.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{if $sEvent == 'edit'}
|
|
||||||
{$sNav = 'blog.edit'}
|
|
||||||
{/if}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
{block 'layout_page_title'}
|
||||||
{if $sEvent == 'add'}
|
{if $sEvent == 'add'}
|
||||||
|
|
|
@ -6,11 +6,7 @@
|
||||||
* @param array $blogUsersInvited Список приглашенных пользователей, передается в случае если блог закрытый
|
* @param array $blogUsersInvited Список приглашенных пользователей, передается в случае если блог закрытый
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.blog.edit.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'blog.edit'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
{block 'layout_page_title'}
|
||||||
{$aLang.blog.admin.title}: <a href="{$blogEdit->getUrlFull()}">{$blogEdit->getTitle()|escape}</a>
|
{$aLang.blog.admin.title}: <a href="{$blogEdit->getUrlFull()}">{$blogEdit->getTitle()|escape}</a>
|
||||||
|
|
|
@ -15,11 +15,7 @@
|
||||||
* @param integer $countBlogAdministrators Кол-во администраторов
|
* @param integer $countBlogAdministrators Кол-во администраторов
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.topics.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'topics.sub'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content_header'}
|
{block 'layout_content_header'}
|
||||||
{component 'blog' blog=$blog blogs=$blogs}
|
{component 'blog' blog=$blog blogs=$blogs}
|
||||||
|
@ -34,7 +30,5 @@
|
||||||
{* Список топиков *}
|
{* Список топиков *}
|
||||||
{if $isPrivateBlog}
|
{if $isPrivateBlog}
|
||||||
{component 'alert' text=$aLang.blog.alerts.private mods='error'}
|
{component 'alert' text=$aLang.blog.alerts.private mods='error'}
|
||||||
{else}
|
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
|
||||||
{/if}
|
{/if}
|
||||||
{/block}
|
{/block}
|
|
@ -7,12 +7,4 @@
|
||||||
* @param string $periodSelectRoot
|
* @param string $periodSelectRoot
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.topics.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'topics'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
|
||||||
{/block}
|
|
|
@ -7,22 +7,8 @@
|
||||||
* @parama integer $blogId
|
* @parama integer $blogId
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.content.form.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{if $sEvent == 'add'}
|
|
||||||
{$sNav = 'create'}
|
|
||||||
{/if}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
|
||||||
{if $sEvent == 'add'}
|
|
||||||
{$aLang.topic.add.title.add}
|
|
||||||
{else}
|
|
||||||
{$aLang.topic.add.title.edit}
|
|
||||||
{/if}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'topic' template='add-type' topic=$topicEdit type=$topicType blogs=$blogsAllow blogId=$blogId skipBlogs=$skipBlogs}
|
{component 'topic.add-type' topic=$topicEdit type=$topicType blogs=$blogsAllow blogId=$blogId skipBlogs=$skipBlogs}
|
||||||
{/block}
|
{/block}
|
|
@ -5,16 +5,12 @@
|
||||||
* @parama array $paging
|
* @parama array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.content.form.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'create'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
{block 'layout_page_title'}
|
||||||
{$aLang.topic.add.title.add}
|
{$aLang.topic.add.title.add}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
{component 'topic.list' topics=$topics paging=$paging}
|
||||||
{/block}
|
{/block}
|
|
@ -5,12 +5,4 @@
|
||||||
* @parama array $paging
|
* @parama array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.index.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'topics'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
|
||||||
{/block}
|
|
|
@ -5,13 +5,12 @@
|
||||||
* @param array $paging
|
* @param array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.user.tpl'}
|
{extends 'layouts/layout.user.created.tpl'}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
{lang name='user.publications.title'}
|
{lang 'user.publications.title'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content' append}
|
{block 'layout_content' append}
|
||||||
{include 'navs/nav.user.created.tpl'}
|
{component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'}
|
||||||
{component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'}
|
|
||||||
{/block}
|
{/block}
|
|
@ -5,13 +5,12 @@
|
||||||
* @param array $paging
|
* @param array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.user.tpl'}
|
{extends 'layouts/layout.user.created.tpl'}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
{lang 'user.publications.title'}
|
{lang 'user.publications.title'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content' append}
|
{block 'layout_content' append}
|
||||||
{include 'navs/nav.user.created.tpl'}
|
{component 'user.list' users=$notesUsers pagination=$paging}
|
||||||
{component 'user' template='list' users=$notesUsers pagination=$paging}
|
|
||||||
{/block}
|
{/block}
|
|
@ -5,13 +5,12 @@
|
||||||
* @param array $paging
|
* @param array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.user.tpl'}
|
{extends 'layouts/layout.user.created.tpl'}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
{lang name='user.publications.title'}
|
{lang 'user.publications.title'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content' append}
|
{block 'layout_content' append}
|
||||||
{include 'navs/nav.user.created.tpl'}
|
{component 'topic.list' topics=$topics paging=$paging}
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
|
||||||
{/block}
|
{/block}
|
|
@ -5,13 +5,12 @@
|
||||||
* @param array $paging
|
* @param array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.user.tpl'}
|
{extends 'layouts/layout.user.favourite.tpl'}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
{lang name='user.favourites.title'}
|
{lang 'user.favourites.title'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content' append}
|
{block 'layout_content' append}
|
||||||
{include 'navs/nav.user.favourite.tpl'}
|
{component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'}
|
||||||
{component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'}
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|
|
@ -6,15 +6,13 @@
|
||||||
* @param array $activeFavouriteTag
|
* @param array $activeFavouriteTag
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.user.tpl'}
|
{extends 'layouts/layout.user.favourite.tpl'}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
{lang name='user.favourites.title'}
|
{lang 'user.favourites.title'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content' append}
|
{block 'layout_content' append}
|
||||||
{include 'navs/nav.user.favourite.tpl'}
|
|
||||||
|
|
||||||
{* Блок с тегами избранного *}
|
{* Блок с тегами избранного *}
|
||||||
{if $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId()}
|
{if $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId()}
|
||||||
{insert name='block' block='tagsPersonalTopic' params=[
|
{insert name='block' block='tagsPersonalTopic' params=[
|
||||||
|
@ -23,5 +21,5 @@
|
||||||
]}
|
]}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
{component 'topic.list' topics=$topics paging=$paging}
|
||||||
{/block}
|
{/block}
|
|
@ -14,10 +14,22 @@
|
||||||
{$aLang.search.search}
|
{$aLang.search.search}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content_header' prepend}
|
||||||
{component 'search' template='main' searchType=$searchType}
|
{component 'search.main' searchType=$searchType}
|
||||||
{include 'navs/nav.search.tpl'}
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{$layoutNav = [[
|
||||||
|
name => 'search',
|
||||||
|
activeItem => $searchType,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'topics', 'url' => "{router page='search/topics'}?q={$_aRequest.q}", 'text' => $aLang.search.result.topics, 'count' => $typeCounts.topics ],
|
||||||
|
[ 'name' => 'comments', 'url' => "{router page='search/comments'}?q={$_aRequest.q}", 'text' => $aLang.search.result.comments, 'count' => $typeCounts.comments ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_content'}
|
||||||
{if $resultItems}
|
{if $resultItems}
|
||||||
{if $searchType == 'topics'}
|
{if $searchType == 'topics'}
|
||||||
{component 'topic' template='list' topics=$resultItems paging=$paging}
|
{component 'topic' template='list' topics=$resultItems paging=$paging}
|
||||||
|
|
|
@ -5,15 +5,7 @@
|
||||||
* @param integer $activityEventsAllCount
|
* @param integer $activityEventsAllCount
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.activity.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'activity'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
|
||||||
{$aLang.activity.title}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--all'}
|
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--all'}
|
||||||
|
|
|
@ -5,15 +5,7 @@
|
||||||
* @param integer $activityEventsAllCount
|
* @param integer $activityEventsAllCount
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.activity.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'activity'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_page_title'}
|
|
||||||
{$aLang.activity.title}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--personal'}
|
{component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--personal'}
|
||||||
|
|
|
@ -8,5 +8,5 @@
|
||||||
{extends 'layouts/layout.user.messages.tpl'}
|
{extends 'layouts/layout.user.messages.tpl'}
|
||||||
|
|
||||||
{block 'layout_content'}
|
{block 'layout_content'}
|
||||||
{component 'talk' template='list.tpl' talks=$talks paging=$paging}
|
{component 'talk.list' talks=$talks paging=$paging}
|
||||||
{/block}
|
{/block}
|
|
@ -5,12 +5,4 @@
|
||||||
* @param array $paging
|
* @param array $paging
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'layouts/layout.base.tpl'}
|
{extends 'layouts/layout.index.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
|
||||||
{$sNav = 'topics'}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}
|
|
||||||
{component 'topic' template='list' topics=$topics paging=$paging}
|
|
||||||
{/block}
|
|
|
@ -12,3 +12,23 @@
|
||||||
.ls-nav-item--userbar-username img.avatar {
|
.ls-nav-item--userbar-username img.avatar {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
ul.classic {
|
||||||
|
list-style: inside;
|
||||||
|
list-style-type: circle;
|
||||||
|
}
|
||||||
|
ol.classic {
|
||||||
|
list-style: inside;
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ls-nav--userbar > .ls-nav-item > a{
|
||||||
|
color: #ddd !important;
|
||||||
|
padding: 15px 20px !important;
|
||||||
|
}
|
||||||
|
.ls-nav--userbar > .ls-nav-item > a:hover{
|
||||||
|
color: #ddd !important;
|
||||||
|
background: #333 !important;
|
||||||
|
}
|
||||||
|
.ls-nav--userbar > .ls-nav-item > a > img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
|
@ -68,23 +68,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.classic {
|
|
||||||
list-style: inside;
|
|
||||||
list-style-type: circle;
|
|
||||||
}
|
|
||||||
ol.classic {
|
|
||||||
list-style: inside;
|
|
||||||
list-style-type: decimal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ls-nav--userbar > .ls-nav-item > a{
|
/**
|
||||||
color: #ddd !important;
|
* Шапка сайта
|
||||||
padding: 15px 20px !important;
|
*/
|
||||||
}
|
.ls-jumbotron {
|
||||||
.ls-nav--userbar > .ls-nav-item > a:hover{
|
background-image: url(../images/header.jpg);
|
||||||
color: #ddd !important;
|
}
|
||||||
background: #333 !important;
|
|
||||||
}
|
|
||||||
.ls-nav--userbar > .ls-nav-item > a > img {
|
|
||||||
display: none;
|
|
||||||
}
|
|
|
@ -37,6 +37,31 @@ jQuery(document).ready(function($){
|
||||||
$('.js-form-validate').parsley();
|
$('.js-form-validate').parsley();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Userbar
|
||||||
|
*/
|
||||||
|
$('.ls-userbar .ls-nav--root > .ls-nav-item--has-children').lsDropdown({
|
||||||
|
selectors: {
|
||||||
|
toggle: '> .ls-nav-item-link',
|
||||||
|
text: '> .ls-nav-item-link > .ls-nav-item-text',
|
||||||
|
menu: '> .ls-nav--sub'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Навигация по контенту
|
||||||
|
*/
|
||||||
|
$('.ls-nav--root.ls-nav--pills > .ls-nav-item--has-children').lsDropdown({
|
||||||
|
selectors: {
|
||||||
|
toggle: '> .ls-nav-item-link',
|
||||||
|
text: '> .ls-nav-item-link > .ls-nav-item-text',
|
||||||
|
menu: '> .ls-nav--sub'
|
||||||
|
},
|
||||||
|
selectable: true
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Подтверждение удаления
|
* Подтверждение удаления
|
||||||
*/
|
*/
|
||||||
|
@ -97,13 +122,13 @@ jQuery(document).ready(function($){
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.js-field-date-default').livequery(function () {
|
$('.js-field-date-default').livequery(function () {
|
||||||
$(this).lsFieldDate({
|
$(this).lsDate({
|
||||||
language: LANGUAGE
|
language: LANGUAGE
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.js-field-time-default').livequery(function () {
|
$('.js-field-time-default').livequery(function () {
|
||||||
$(this).lsFieldTime();
|
$(this).lsTime();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('[data-type=captcha]').livequery(function () {
|
$('[data-type=captcha]').livequery(function () {
|
||||||
|
@ -366,7 +391,7 @@ jQuery(document).ready(function($){
|
||||||
cancel_photo: aRouter.settings + 'ajax-crop-cancel-photo'
|
cancel_photo: aRouter.settings + 'ajax-crop-cancel-photo'
|
||||||
},
|
},
|
||||||
changeavatar: function ( event, _this, avatars ) {
|
changeavatar: function ( event, _this, avatars ) {
|
||||||
$( '.js-user-profile-avatar, .js-wall-entry[data-user-id=' + _this.option( 'params.user_id' ) + '] .comment-avatar img' ).attr( 'src', avatars[ '64crop' ] + '?' + Math.random() );
|
$( '.js-user-profile-avatar, .js-wall-entry[data-user-id=' + _this.option( 'params.target_id' ) + '] .ls-comment-avatar img' ).attr( 'src', avatars[ '64crop' ] + '?' + Math.random() );
|
||||||
$( '.nav-item--userbar-username img' ).attr( 'src', avatars[ '24crop' ] + '?' + Math.random() );
|
$( '.nav-item--userbar-username img' ).attr( 'src', avatars[ '24crop' ] + '?' + Math.random() );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{**
|
||||||
|
* Активность
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.base.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{$layoutNav = [[
|
||||||
|
hook => 'activity',
|
||||||
|
activeItem => $sMenuItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'user', 'url' => "{router page='stream'}personal/", 'text' => $aLang.activity.nav.personal, 'is_enabled' => !! $oUserCurrent ],
|
||||||
|
[ 'name' => 'all', 'url' => "{router page='stream'}all/", 'text' => $aLang.activity.nav.all ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_page_title'}
|
||||||
|
{$aLang.activity.title}
|
||||||
|
{/block}
|
|
@ -1,281 +1,259 @@
|
||||||
{**
|
{**
|
||||||
* Основной лэйаут
|
* Основной лэйаут, который наследуют все остальные лэйауты
|
||||||
*
|
*
|
||||||
* @param boolean $layoutShowSidebar Показывать сайдбар или нет, сайдбар не будет выводится если он не содержит блоков
|
* @param boolean $layoutShowSidebar Показывать сайдбар или нет, сайдбар не будет выводится если он не содержит блоков
|
||||||
* @param string $layoutNavContent Название навигации
|
* @param string $layoutNavContent Название навигации
|
||||||
* @param string $layoutNavContentPath Кастомный путь до навигации контента
|
* @param string $layoutNavContentPath Кастомный путь до навигации контента
|
||||||
* @param string $layoutShowSystemMessages Показывать системные уведомления или нет
|
* @param string $layoutShowSystemMessages Показывать системные уведомления или нет
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{extends 'Component@layout.layout'}
|
{extends 'component@layout.layout'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
{block 'layout_options' append}
|
||||||
{$layoutShowSidebar = $layoutShowSidebar|default:true}
|
{$layoutShowSidebar = $layoutShowSidebar|default:true}
|
||||||
{$layoutShowSystemMessages = $layoutShowSystemMessages|default:true}
|
{$layoutShowSystemMessages = $layoutShowSystemMessages|default:true}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{*
|
{*
|
||||||
{block 'layout_head_styles' append}
|
{block 'layout_head_styles' append}
|
||||||
|
<link href='//fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
||||||
|
<link rel="search" type="application/opensearchdescription+xml" href="{router page='search'}opensearch/" title="{Config::Get('view.name')}" />
|
||||||
{/block}
|
{/block}
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{block 'layout_head' append}
|
{block 'layout_head' append}
|
||||||
{* Получаем блоки для вывода в сайдбаре *}
|
{* Получаем блоки для вывода в сайдбаре *}
|
||||||
{if $layoutShowSidebar}
|
{if $layoutShowSidebar}
|
||||||
{show_blocks group='right' assign=layoutSidebarBlocks}
|
{show_blocks group='right' assign=layoutSidebarBlocks}
|
||||||
|
|
||||||
{$layoutSidebarBlocks = trim( $layoutSidebarBlocks )}
|
{$layoutSidebarBlocks = trim( $layoutSidebarBlocks )}
|
||||||
{$layoutShowSidebar = !!$layoutSidebarBlocks}
|
{$layoutShowSidebar = !!$layoutSidebarBlocks}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{**
|
{**
|
||||||
* Тип сетки сайта
|
* Тип сетки сайта
|
||||||
*}
|
*}
|
||||||
{if {Config::Get('view.grid.type')} == 'fluid'}
|
{if {Config::Get('view.grid.type')} == 'fluid'}
|
||||||
<style>
|
<style>
|
||||||
.layout-nav .ls-nav--main,
|
.layout-userbar,
|
||||||
.layout-container,
|
.layout-nav .ls-nav--main,
|
||||||
.container {
|
.layout-header .ls-jumbotron-inner,
|
||||||
min-width: {Config::Get('view.grid.fluid_min_width')};
|
.layout-container,
|
||||||
max-width: {Config::Get('view.grid.fluid_max_width')};
|
.container {
|
||||||
}
|
min-width: {Config::Get('view.grid.fluid_min_width')};
|
||||||
</style>
|
max-width: {Config::Get('view.grid.fluid_max_width')};
|
||||||
{else}
|
}
|
||||||
<style>
|
</style>
|
||||||
.layout-nav .ls-nav--main,
|
{else}
|
||||||
.layout-container,
|
<style>
|
||||||
.container { width: {Config::Get('view.grid.fixed_width')}; }
|
.layout-userbar,
|
||||||
</style>
|
.layout-nav .ls-nav--main,
|
||||||
{/if}
|
.layout-header .ls-jumbotron-inner,
|
||||||
|
.layout-container,
|
||||||
|
.container { width: {Config::Get('view.grid.fixed_width')}; }
|
||||||
|
</style>
|
||||||
|
{/if}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_body'}
|
{block 'layout_body'}
|
||||||
{**
|
{hook run='layout_body_begin'}
|
||||||
* Основная навигация
|
{**
|
||||||
*}
|
* Основная навигация
|
||||||
<div class="layout-container">
|
*}
|
||||||
<nav class="ls-grid-row layout-nav">
|
<div class="layout-container">
|
||||||
<h1 class="ls-userbar-logo">
|
<nav class="ls-grid-row layout-nav">
|
||||||
<a href="{router page='/'}"><img src="/application/frontend/skin/ifhub/assets/images/logo.png" height="60px"></a>
|
<h1 class="ls-userbar-logo">
|
||||||
</h1>
|
<a href="{router page='/'}"><img src="/application/frontend/skin/ifhub/assets/images/logo.png" height="60px"></a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
<nav class="ls-userbar-nav">
|
<nav class="ls-userbar-nav">
|
||||||
{if $oUserCurrent}
|
{if $oUserCurrent}
|
||||||
{$items = [
|
{$createMenu = []}
|
||||||
[
|
|
||||||
'text' => "<img src=\"{$oUserCurrent->getProfileAvatarPath(24)}\" alt=\"{$oUserCurrent->getDisplayName()}\" class=\"avatar\" /> {$oUserCurrent->getDisplayName()}",
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}",
|
|
||||||
'classes' => 'ls-nav-item--userbar-username',
|
|
||||||
'show' => true,
|
|
||||||
'menu' => [
|
|
||||||
[
|
|
||||||
'name' => 'whois',
|
|
||||||
'text' => {lang name='user.profile.nav.info'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'wall',
|
|
||||||
'text' => {lang name='user.profile.nav.wall'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}wall/",
|
|
||||||
'count' => $iUserCurrentCountWall
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'created',
|
|
||||||
'text' => {lang name='user.profile.nav.publications'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}created/topics/",
|
|
||||||
'count' => $iUserCurrentCountCreated
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'favourites',
|
|
||||||
'text' => {lang name='user.profile.nav.favourite'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}favourites/topics/",
|
|
||||||
'count' => $iUserCurrentCountFavourite
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'friends',
|
|
||||||
'text' => {lang name='user.profile.nav.friends'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}friends/",
|
|
||||||
'count' => $iUserCurrentCountFriends
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'activity',
|
|
||||||
'text' => {lang name='user.profile.nav.activity'},
|
|
||||||
'url' => "{$oUserCurrent->getUserWebPath()}stream/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'talk',
|
|
||||||
'text' => {lang name='user.profile.nav.messages'},
|
|
||||||
'url' => "{router page='talk'}",
|
|
||||||
'count' => $iUserCurrentCountTalkNew
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'settings',
|
|
||||||
'text' => {lang name='user.profile.nav.settings'},
|
|
||||||
'url' => "{router page='settings'}"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'admin',
|
|
||||||
'text' => {lang name='admin.title'},
|
|
||||||
'url' => "{router page='admin'}",
|
|
||||||
'is_enabled' => $oUserCurrent && $oUserCurrent->isAdministrator()
|
|
||||||
]
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[ 'text' => $aLang.common.create, 'url' => "{router page='content'}add/topic", 'classes' => 'js-modal-toggle-default', 'attributes' => [ 'data-lsmodaltoggle-modal' => 'modal-write' ] ],
|
|
||||||
[ 'text' => $aLang.talk.title, 'url' => "{router page='talk'}", 'title' => $aLang.talk.new_messages, 'is_enabled' => $iUserCurrentCountTalkNew, 'count' => $iUserCurrentCountTalkNew ],
|
|
||||||
[ 'text' => $aLang.auth.logout, 'url' => "{router page='auth'}logout/?security_ls_key={$LIVESTREET_SECURITY_KEY}" ]
|
|
||||||
]}
|
|
||||||
{else}
|
|
||||||
{$items = [
|
|
||||||
[
|
|
||||||
'text' => $aLang.auth.login.title,
|
|
||||||
'classes' => 'js-modal-toggle-login',
|
|
||||||
'url' => {router page='auth/login'}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'text' => $aLang.auth.registration.title,
|
|
||||||
'classes' => 'js-modal-toggle-registration',
|
|
||||||
'url' => {router page='auth/register'}
|
|
||||||
]
|
|
||||||
]}
|
|
||||||
{/if}
|
|
||||||
|
|
||||||
{component 'nav' name='userbar' activeItem=$sMenuHeadItemSelect mods='userbar' items=$items}
|
{foreach $LS->Topic_GetTopicTypes() as $type}
|
||||||
</nav>
|
{$createMenu[] = [ 'name' => $type->getCode(), 'text' => $type->getName(), 'url' => $type->getUrlForAdd() ]}
|
||||||
|
{/foreach}
|
||||||
|
|
||||||
{include 'navs/nav.main.tpl'}
|
{$createMenu[] = [ 'name' => 'blog', 'text' => {lang 'modal_create.items.blog'}, 'url' => {router page='blog'} ]}
|
||||||
|
{$createMenu[] = [ 'name' => 'talk', 'text' => {lang 'modal_create.items.talk'}, 'url' => {router page='talk'} ]}
|
||||||
|
{$createMenu[] = [ 'name' => 'drafts', 'text' => {lang 'topic.drafts'}, 'url' => "{router page='content'}drafts/", count => $iUserCurrentCountTopicDraft ]}
|
||||||
|
|
||||||
{component 'search' template='main' mods='light'}
|
{$items = [
|
||||||
</nav></div>
|
[
|
||||||
{if $oUserCurrent}
|
'text' => "<img src=\"{$oUserCurrent->getProfileAvatarPath(24)}\" alt=\"{$oUserCurrent->getDisplayName()}\" class=\"avatar\" /> {$oUserCurrent->getDisplayName()}",
|
||||||
{component 'modal-create'}
|
'url' => "{$oUserCurrent->getUserWebPath()}",
|
||||||
{/if}
|
'classes' => 'ls-nav-item--userbar-username',
|
||||||
|
'menu' => [
|
||||||
{**
|
'items' => [
|
||||||
* Основной контэйнер
|
[ 'name' => 'whois', 'text' => {lang name='user.profile.nav.info'}, 'url' => "{$oUserCurrent->getUserWebPath()}" ],
|
||||||
*}
|
[ 'name' => 'wall', 'text' => {lang name='user.profile.nav.wall'}, 'url' => "{$oUserCurrent->getUserWebPath()}wall/", 'count' => $iUserCurrentCountWall ],
|
||||||
<div id="container" class="ls-grid-row layout-container {hook run='container_class'} {if $layoutShowSidebar}layout-has-sidebar{else}layout-no-sidebar{/if}">
|
[ 'name' => 'created', 'text' => {lang name='user.profile.nav.publications'}, 'url' => "{$oUserCurrent->getUserWebPath()}created/topics/", 'count' => $iUserCurrentCountCreated ],
|
||||||
{* Вспомогательный контейнер-обертка *}
|
[ 'name' => 'favourites', 'text' => {lang name='user.profile.nav.favourite'}, 'url' => "{$oUserCurrent->getUserWebPath()}favourites/topics/", 'count' => $iUserCurrentCountFavourite ],
|
||||||
<div class="ls-grid-row layout-wrapper" class="{hook run='wrapper_class'}">
|
[ 'name' => 'friends', 'text' => {lang name='user.profile.nav.friends'}, 'url' => "{$oUserCurrent->getUserWebPath()}friends/", 'count' => $iUserCurrentCountFriends ],
|
||||||
{**
|
[ 'name' => 'activity', 'text' => {lang name='user.profile.nav.activity'}, 'url' => "{$oUserCurrent->getUserWebPath()}stream/" ],
|
||||||
* Контент
|
[ 'name' => 'talk', 'text' => {lang name='user.profile.nav.messages'}, 'url' => "{router page='talk'}", 'count' => $iUserCurrentCountTalkNew ],
|
||||||
*}
|
[ 'name' => 'settings', 'text' => {lang name='user.profile.nav.settings'}, 'url' => "{router page='settings'}" ],
|
||||||
<div class="ls-grid-col ls-grid-col-8 layout-content"
|
[ 'name' => 'admin', 'text' => {lang name='admin.title'}, 'url' => "{router page='admin'}", 'is_enabled' => $oUserCurrent && $oUserCurrent->isAdministrator() ]
|
||||||
role="main"
|
]
|
||||||
{if $sMenuItemSelect == 'profile'}itemscope itemtype="http://data-vocabulary.org/Person"{/if}>
|
]
|
||||||
|
],
|
||||||
{hook run='content_begin'}
|
[ 'text' => $aLang.common.create, menu => [ hook => 'create', items => $createMenu ] ],
|
||||||
|
[ 'text' => $aLang.talk.title, 'url' => "{router page='talk'}", 'title' => $aLang.talk.new_messages, 'is_enabled' => $iUserCurrentCountTalkNew, 'count' => $iUserCurrentCountTalkNew ],
|
||||||
{* Основной заголовок страницы *}
|
[ 'text' => $aLang.auth.logout, 'url' => "{router page='auth'}logout/?security_ls_key={$LIVESTREET_SECURITY_KEY}" ]
|
||||||
{block 'layout_page_title' hide}
|
]}
|
||||||
<h2 class="page-header">
|
|
||||||
{$smarty.block.child}
|
|
||||||
</h2>
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content_header'}
|
|
||||||
{* Навигация *}
|
|
||||||
{if $sNav}
|
|
||||||
{if in_array($sNav, $aMenuContainers)}
|
|
||||||
{$_navContent = $aMenuFetch.$sNav}
|
|
||||||
{else}
|
{else}
|
||||||
{include "{$sNavPath}navs/nav.$sNav.tpl" assign=_navContent}
|
{$items = [
|
||||||
|
[ 'text' => $aLang.auth.login.title, 'classes' => 'js-modal-toggle-login', 'url' => {router page='auth/login'} ],
|
||||||
|
[ 'text' => $aLang.auth.registration.title, 'classes' => 'js-modal-toggle-registration', 'url' => {router page='auth/register'} ]
|
||||||
|
]}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{* Проверяем наличие вывода на случай если меню с одним пунктом автоматом скрывается *}
|
{component 'nav' hook='userbar_nav' hookParams=[ user => $oUserCurrent ] activeItem=$sMenuHeadItemSelect mods='userbar' items=$items}
|
||||||
{if $_navContent|strip:''}
|
</nav>
|
||||||
<div class="ls-nav-group">
|
|
||||||
{$_navContent}
|
{include 'navs/nav.main.tpl'}
|
||||||
</div>
|
|
||||||
|
{component 'search' template='main' mods='light'}
|
||||||
|
</nav></div>
|
||||||
|
{if $oUserCurrent}
|
||||||
|
{component 'modal-create'}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{**
|
||||||
|
* Основной контэйнер
|
||||||
|
*}
|
||||||
|
<div id="container" class="ls-grid-row layout-container {hook run='layout_container_class' action=$sAction} {if $layoutShowSidebar}layout-has-sidebar{else}layout-no-sidebar{/if}">
|
||||||
|
{* Вспомогательный контейнер-обертка *}
|
||||||
|
<div class="ls-grid-row layout-wrapper {hook run='layout_wrapper_class' action=$sAction}">
|
||||||
|
{**
|
||||||
|
* Контент
|
||||||
|
*}
|
||||||
|
<div class="ls-grid-col ls-grid-col-8 layout-content"
|
||||||
|
role="main"
|
||||||
|
{if $sMenuItemSelect == 'profile'}itemscope itemtype="http://data-vocabulary.org/Person"{/if}>
|
||||||
|
|
||||||
|
{hook run='layout_content_header_begin' action=$sAction}
|
||||||
|
|
||||||
|
{* Основной заголовок страницы *}
|
||||||
|
{block 'layout_page_title' hide}
|
||||||
|
<h2 class="page-header">
|
||||||
|
{$smarty.block.child}
|
||||||
|
</h2>
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_content_header'}
|
||||||
|
{* Навигация *}
|
||||||
|
{if $layoutNav}
|
||||||
|
{$_layoutNavContent = ""}
|
||||||
|
|
||||||
|
{if is_array($layoutNav)}
|
||||||
|
{foreach $layoutNav as $layoutNavItem}
|
||||||
|
{if is_array($layoutNavItem)}
|
||||||
|
{component 'nav' mods='pills' params=$layoutNavItem assign=_layoutNavItemContent}
|
||||||
|
{$_layoutNavContent = "$_layoutNavContent $_layoutNavItemContent"}
|
||||||
|
{else}
|
||||||
|
{$_layoutNavContent = "$_layoutNavContent $layoutNavItem"}
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
{else}
|
||||||
|
{$_layoutNavContent = $layoutNav}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{* Проверяем наличие вывода на случай если меню с одним пунктом автоматом скрывается *}
|
||||||
|
{if $_layoutNavContent|strip:''}
|
||||||
|
<div class="ls-nav-group">
|
||||||
|
{$_layoutNavContent}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{* Системные сообщения *}
|
||||||
|
{if $layoutShowSystemMessages}
|
||||||
|
{if $aMsgError}
|
||||||
|
{component 'alert' text=$aMsgError mods='error' close=true}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{if $aMsgNotice}
|
||||||
|
{component 'alert' text=$aMsgNotice close=true}
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{hook run='layout_content_begin' action=$sAction}
|
||||||
|
{block 'layout_content'}{/block}
|
||||||
|
|
||||||
|
{hook run='layout_content_end' action=$sAction}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{**
|
||||||
|
* Сайдбар
|
||||||
|
* Показываем сайдбар
|
||||||
|
*}
|
||||||
|
{if $layoutShowSidebar}
|
||||||
|
<aside class="ls-grid-col ls-grid-col-4 layout-sidebar" role="complementary">
|
||||||
|
{$layoutSidebarBlocks}
|
||||||
|
</aside>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
</div> {* /wrapper *}
|
||||||
|
|
||||||
{* Системные сообщения *}
|
|
||||||
{if $layoutShowSystemMessages}
|
|
||||||
{if $aMsgError}
|
|
||||||
{component 'alert' text=$aMsgError mods='error' close=true}
|
|
||||||
{/if}
|
|
||||||
|
|
||||||
{if $aMsgNotice}
|
|
||||||
{component 'alert' text=$aMsgNotice close=true}
|
|
||||||
{/if}
|
|
||||||
{/if}
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block 'layout_content'}{/block}
|
|
||||||
|
|
||||||
{hook run='content_end'}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{**
|
|
||||||
* Сайдбар
|
|
||||||
* Показываем сайдбар
|
|
||||||
*}
|
|
||||||
{if $layoutShowSidebar}
|
|
||||||
<aside class="ls-grid-col ls-grid-col-4 layout-sidebar" role="complementary">
|
|
||||||
{$layoutSidebarBlocks}
|
|
||||||
</aside>
|
|
||||||
{/if}
|
|
||||||
</div> {* /wrapper *}
|
|
||||||
|
|
||||||
|
|
||||||
{* Подвал *}
|
{* Подвал *}
|
||||||
<footer class="ls-grid-row layout-footer">
|
<footer class="ls-grid-row layout-footer">
|
||||||
{block 'layout_footer'}
|
{block 'layout_footer'}
|
||||||
{hook run='footer_begin'}
|
{hook run='layout_footer_begin'}
|
||||||
{hook run='copyright'}
|
{hook run='copyright'}
|
||||||
{hook run='footer_end'}
|
{hook run='layout_footer_end'}
|
||||||
{/block}
|
{/block}
|
||||||
</footer>
|
</footer>
|
||||||
</div> {* /container *}
|
</div> {* /container *}
|
||||||
|
|
||||||
|
|
||||||
{* Подключение модальных окон *}
|
{* Подключение модальных окон *}
|
||||||
{if $oUserCurrent}
|
{if $oUserCurrent}
|
||||||
{component 'tags-personal' template='modal'}
|
{component 'tags-personal' template='modal'}
|
||||||
{else}
|
{else}
|
||||||
{component 'auth' template='modal'}
|
{component 'auth' template='modal'}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
{**
|
{**
|
||||||
* Тулбар
|
* Тулбар
|
||||||
* Добавление кнопок в тулбар
|
* Добавление кнопок в тулбар
|
||||||
*}
|
*}
|
||||||
{add_block group='toolbar' name='component@admin.toolbar.admin' priority=100}
|
{add_block group='toolbar' name='component@admin.toolbar.admin' priority=100}
|
||||||
{add_block group='toolbar' name='component@toolbar-scrollup.toolbar.scrollup' priority=-100}
|
{add_block group='toolbar' name='component@toolbar-scrollup.toolbar.scrollup' priority=-100}
|
||||||
|
|
||||||
{* Подключение тулбара *}
|
{* Подключение тулбара *}
|
||||||
{component 'toolbar' classes='js-toolbar-default' items={show_blocks group='toolbar'}}
|
{component 'toolbar' classes='js-toolbar-default' items={show_blocks group='toolbar'}}
|
||||||
|
|
||||||
<!-- Yandex.Metrika counter -->
|
<!-- Yandex.Metrika counter -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
(function (d, w, c) {
|
(function (d, w, c) {
|
||||||
(w[c] = w[c] || []).push(function() {
|
(w[c] = w[c] || []).push(function() {
|
||||||
try {
|
try {
|
||||||
w.yaCounter42008629 = new Ya.Metrika({
|
w.yaCounter42008629 = new Ya.Metrika({
|
||||||
id:42008629,
|
id:42008629,
|
||||||
clickmap:true,
|
clickmap:true,
|
||||||
trackLinks:true,
|
trackLinks:true,
|
||||||
accurateTrackBounce:true,
|
accurateTrackBounce:true,
|
||||||
webvisor:true
|
webvisor:true
|
||||||
|
});
|
||||||
|
} catch(e) { }
|
||||||
});
|
});
|
||||||
} catch(e) { }
|
|
||||||
});
|
|
||||||
|
|
||||||
var n = d.getElementsByTagName("script")[0],
|
var n = d.getElementsByTagName("script")[0],
|
||||||
s = d.createElement("script"),
|
s = d.createElement("script"),
|
||||||
f = function () { n.parentNode.insertBefore(s, n); };
|
f = function () { n.parentNode.insertBefore(s, n); };
|
||||||
s.type = "text/javascript";
|
s.type = "text/javascript";
|
||||||
s.async = true;
|
s.async = true;
|
||||||
s.src = "https://mc.yandex.ru/metrika/watch.js";
|
s.src = "https://mc.yandex.ru/metrika/watch.js";
|
||||||
|
|
||||||
if (w.opera == "[object Opera]") {
|
if (w.opera == "[object Opera]") {
|
||||||
d.addEventListener("DOMContentLoaded", f, false);
|
d.addEventListener("DOMContentLoaded", f, false);
|
||||||
} else { f(); }
|
} else { f(); }
|
||||||
})(document, window, "yandex_metrika_callbacks");
|
})(document, window, "yandex_metrika_callbacks");
|
||||||
</script>
|
</script>
|
||||||
<noscript><div><img src="https://mc.yandex.ru/watch/42008629" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
<noscript><div><img src="https://mc.yandex.ru/watch/42008629" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
<!-- /Yandex.Metrika counter -->
|
<!-- /Yandex.Metrika counter -->
|
||||||
{hook run='layout_body_end'}
|
{hook run='layout_body_end'}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
{**
|
||||||
|
* Форма ред-ия блога
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.base.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{if $sEvent != 'add'}
|
||||||
|
{$layoutNav = [[
|
||||||
|
hook => 'blog_edit',
|
||||||
|
activeItem => $sMenuItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'profile', 'url' => "{router page='blog'}edit/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.profile ],
|
||||||
|
[ 'name' => 'admin', 'url' => "{router page='blog'}admin/{$blogEdit->getId()}/", 'text' => $aLang.blog.admin.nav.users ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/if}
|
||||||
|
{/block}
|
|
@ -0,0 +1,40 @@
|
||||||
|
{**
|
||||||
|
* Страница добавления контента
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.base.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{if $sEvent != 'edit'}
|
||||||
|
{$_items = []}
|
||||||
|
|
||||||
|
{* Формируем список пунктов *}
|
||||||
|
{$_topicTypes = $LS->Topic_GetTopicTypes()}
|
||||||
|
|
||||||
|
{foreach $_topicTypes as $type}
|
||||||
|
{$_items[] = [ 'name' => $type->getCode(), 'url' => $type->getUrlForAdd(), 'text' => $type->getName() ]}
|
||||||
|
{/foreach}
|
||||||
|
|
||||||
|
{* Пункт "Черновики" *}
|
||||||
|
{$_items[] = [
|
||||||
|
'name' => 'drafts',
|
||||||
|
'url' => "{router page='content'}drafts/",
|
||||||
|
'text' => $aLang.topic.drafts,
|
||||||
|
'count' => $iUserCurrentCountTopicDraft
|
||||||
|
]}
|
||||||
|
|
||||||
|
{$layoutNav = [[
|
||||||
|
name => 'content_form',
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => $_items
|
||||||
|
]]}
|
||||||
|
{/if}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_page_title'}
|
||||||
|
{if $sEvent == 'add'}
|
||||||
|
{$aLang.topic.add.title.add}
|
||||||
|
{else}
|
||||||
|
{$aLang.topic.add.title.edit}
|
||||||
|
{/if}
|
||||||
|
{/block}
|
|
@ -0,0 +1,18 @@
|
||||||
|
{**
|
||||||
|
* Главная страница
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.topics.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' prepend}
|
||||||
|
{* Все / Лента *}
|
||||||
|
{$layoutNav = [[
|
||||||
|
hook => 'topics',
|
||||||
|
activeItem => $sMenuItemSelect,
|
||||||
|
showSingle => false,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'index', 'url' => {router page='/'}, 'text' => {lang name='blog.menu.all'}, 'count' => $iCountTopicsNew ],
|
||||||
|
[ 'name' => 'feed', 'url' => {router page='feed'}, 'text' => $aLang.feed.title, 'is_enabled' => !! $oUserCurrent ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/block}
|
|
@ -0,0 +1,52 @@
|
||||||
|
{**
|
||||||
|
* Список топиков
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.base.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{* Меню фильтрации топиков *}
|
||||||
|
{if $sNavTopicsSubUrl}
|
||||||
|
{if ! isset($layoutNav)}
|
||||||
|
{$layoutNav = []}
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{$layoutNav[] = [
|
||||||
|
hook => 'topics_sub',
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'good', 'url' => $sNavTopicsSubUrl, 'text' => {lang name='blog.menu.all_good'} ],
|
||||||
|
[ 'name' => 'new', 'url' => "{$sNavTopicsSubUrl}newall/", 'text' => {lang name='blog.menu.all_new'} ],
|
||||||
|
[ 'name' => 'discussed', 'url' => "{$sNavTopicsSubUrl}discussed/", 'text' => {lang name='blog.menu.all_discussed'} ],
|
||||||
|
[ 'name' => 'top', 'url' => "{$sNavTopicsSubUrl}top/", 'text' => {lang name='blog.menu.all_top'} ]
|
||||||
|
]
|
||||||
|
]}
|
||||||
|
|
||||||
|
{if $periodSelectCurrent}
|
||||||
|
{* Фильтр по времени *}
|
||||||
|
{$layoutNav[] = [
|
||||||
|
hook => 'topics_sub_timespan',
|
||||||
|
activeItem => $periodSelectCurrent,
|
||||||
|
items => [
|
||||||
|
[
|
||||||
|
'name' => 'good',
|
||||||
|
'text' => {lang name='blog.menu.all_good'},
|
||||||
|
'menu' => [
|
||||||
|
activeItem => $periodSelectCurrent,
|
||||||
|
items => [
|
||||||
|
[ 'name' => '1', 'url' => "{$periodSelectRoot}?period=1", 'text' => {lang 'blog.menu.top_period_1'} ],
|
||||||
|
[ 'name' => '7', 'url' => "{$periodSelectRoot}?period=7", 'text' => {lang 'blog.menu.top_period_7'} ],
|
||||||
|
[ 'name' => '30', 'url' => "{$periodSelectRoot}?period=30", 'text' => {lang 'blog.menu.top_period_30'} ],
|
||||||
|
[ 'name' => 'all', 'url' => "{$periodSelectRoot}?period=all", 'text' => {lang 'blog.menu.top_period_all'} ]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]}
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block 'layout_content'}
|
||||||
|
{component 'topic.list' topics=$topics paging=$paging}
|
||||||
|
{/block}
|
|
@ -0,0 +1,18 @@
|
||||||
|
{**
|
||||||
|
* Публикации пользователя
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.user.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{$layoutNav = [[
|
||||||
|
hook => 'profile_created',
|
||||||
|
hookParams => [ 'oUserProfile' => $oUserProfile ],
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'topics', 'url' => "{$oUserProfile->getUserWebPath()}created/topics/", 'text' => {lang name='user.publications.nav.topics'}, 'count' => $iCountTopicUser ],
|
||||||
|
[ 'name' => 'comments', 'url' => "{$oUserProfile->getUserWebPath()}created/comments/", 'text' => {lang name='user.publications.nav.comments'}, 'count' => $iCountCommentUser ],
|
||||||
|
[ 'name' => 'notes', 'url' => "{$oUserProfile->getUserWebPath()}created/notes/", 'text' => {lang name='user.publications.nav.notes'}, 'count' => $iCountNoteUser, 'is_enabled' => $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId() ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/block}
|
|
@ -0,0 +1,17 @@
|
||||||
|
{**
|
||||||
|
* Избранное пользователя
|
||||||
|
*}
|
||||||
|
|
||||||
|
{extends './layout.user.tpl'}
|
||||||
|
|
||||||
|
{block 'layout_options' append}
|
||||||
|
{$layoutNav = [[
|
||||||
|
hook => 'profile_created',
|
||||||
|
hookParams => [ 'oUserProfile' => $oUserProfile ],
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'topics', 'text' => {lang name='user.favourites.nav.topics'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/topics/", 'count' => $iCountTopicFavourite ],
|
||||||
|
[ 'name' => 'comments', 'text' => {lang name='user.favourites.nav.comments'}, 'url' => "{$oUserProfile->getUserWebPath()}favourites/comments/", 'count' => $iCountCommentFavourite ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
|
{/block}
|
|
@ -5,7 +5,17 @@
|
||||||
{extends './layout.user.tpl'}
|
{extends './layout.user.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
{block 'layout_options' append}
|
||||||
{$sNav = 'messages'}
|
{$layoutNav = [[
|
||||||
|
hook => 'talk',
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'name' => 'inbox', 'url' => "{router page='talk'}", 'text' => $aLang.talk.nav.inbox ],
|
||||||
|
[ 'name' => 'new', 'url' => "{router page='talk'}inbox/new/", 'text' => $aLang.talk.nav.new, 'count' => $iUserCurrentCountTalkNew, 'is_enabled' => $iUserCurrentCountTalkNew ],
|
||||||
|
[ 'name' => 'add', 'url' => "{router page='talk'}add/", 'text' => $aLang.talk.nav.add ],
|
||||||
|
[ 'name' => 'favourites', 'url' => "{router page='talk'}favourites/", 'text' => $aLang.talk.nav.favourites, 'count' => $iCountTalkFavourite ],
|
||||||
|
[ 'name' => 'blacklist', 'url' => "{router page='talk'}blacklist/", 'text' => $aLang.talk.nav.blacklist ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
|
|
|
@ -5,7 +5,16 @@
|
||||||
{extends './layout.user.tpl'}
|
{extends './layout.user.tpl'}
|
||||||
|
|
||||||
{block 'layout_options' append}
|
{block 'layout_options' append}
|
||||||
{$sNav = 'settings'}
|
{$layoutNav = [[
|
||||||
|
hook => 'settings',
|
||||||
|
activeItem => $sMenuSubItemSelect,
|
||||||
|
items => [
|
||||||
|
[ 'url' => "{router page='settings'}profile/", 'text' => {lang name='user.settings.nav.profile'}, 'name' => 'profile' ],
|
||||||
|
[ 'url' => "{router page='settings'}account/", 'text' => {lang name='user.settings.nav.account'}, 'name' => 'account' ],
|
||||||
|
[ 'url' => "{router page='settings'}tuning/", 'text' => {lang name='user.settings.nav.tuning'}, 'name' => 'tuning' ],
|
||||||
|
[ 'url' => "{router page='settings'}invite/", 'text' => {lang name='user.settings.nav.invites'}, 'name' => 'invite' ]
|
||||||
|
]
|
||||||
|
]]}
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block 'layout_user_page_title'}
|
{block 'layout_user_page_title'}
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
[ 'name' => 'top', 'url' => "{$sNavTopicsSubUrl}top/", 'text' => {lang name='blog.menu.all_top'} ]
|
[ 'name' => 'top', 'url' => "{$sNavTopicsSubUrl}top/", 'text' => {lang name='blog.menu.all_top'} ]
|
||||||
]}
|
]}
|
||||||
|
|
||||||
{component 'sort' activeItem=$periodSelectCurrent}
|
{component 'sort' template='timespan' activeItem=$periodSelectCurrent}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{hook run='nav_topics_sub_after' sMenuSubItemSelect=$sMenuSubItemSelect sNavTopicsSubUrl=$sNavTopicsSubUrl}
|
{hook run='nav_topics_sub_after' sMenuSubItemSelect=$sMenuSubItemSelect sNavTopicsSubUrl=$sNavTopicsSubUrl}
|
Loading…
Reference in New Issue