diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1cdab37 --- /dev/null +++ b/.editorconfig @@ -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 diff --git a/actions/ActionAdmin/index.tpl b/actions/ActionAdmin/index.tpl index dc2da34..3e92e26 100644 --- a/actions/ActionAdmin/index.tpl +++ b/actions/ActionAdmin/index.tpl @@ -12,7 +12,7 @@ {block 'layout_content'} {component 'nav' - name = 'admin' + hook = 'admin' mods = 'stacked pills' 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 ], diff --git a/actions/ActionBlog/add.tpl b/actions/ActionBlog/add.tpl index 2e46db9..05bca29 100644 --- a/actions/ActionBlog/add.tpl +++ b/actions/ActionBlog/add.tpl @@ -3,17 +3,9 @@ * * @param array $blogCategories Список категорий блогов * @param object $blogEdit Блог, передается в случае если блог редактируется - * - * TODO: Вынести 'rangelength' в конфиг *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {if $sEvent == 'edit'} - {$sNav = 'blog.edit'} - {/if} -{/block} +{extends 'layouts/layout.blog.edit.tpl'} {block 'layout_page_title'} {if $sEvent == 'add'} diff --git a/actions/ActionBlog/admin.tpl b/actions/ActionBlog/admin.tpl index 2cefb09..a2a9091 100644 --- a/actions/ActionBlog/admin.tpl +++ b/actions/ActionBlog/admin.tpl @@ -6,11 +6,7 @@ * @param array $blogUsersInvited Список приглашенных пользователей, передается в случае если блог закрытый *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'blog.edit'} -{/block} +{extends 'layouts/layout.blog.edit.tpl'} {block 'layout_page_title'} {$aLang.blog.admin.title}: {$blogEdit->getTitle()|escape} diff --git a/actions/ActionBlog/blog.tpl b/actions/ActionBlog/blog.tpl index f102ab8..32ff372 100644 --- a/actions/ActionBlog/blog.tpl +++ b/actions/ActionBlog/blog.tpl @@ -15,11 +15,7 @@ * @param integer $countBlogAdministrators Кол-во администраторов *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'topics.sub'} -{/block} +{extends 'layouts/layout.topics.tpl'} {block 'layout_content_header'} {component 'blog' blog=$blog blogs=$blogs} @@ -34,7 +30,5 @@ {* Список топиков *} {if $isPrivateBlog} {component 'alert' text=$aLang.blog.alerts.private mods='error'} - {else} - {component 'topic' template='list' topics=$topics paging=$paging} {/if} {/block} \ No newline at end of file diff --git a/actions/ActionBlog/index.tpl b/actions/ActionBlog/index.tpl index 6650e72..17f9bd0 100644 --- a/actions/ActionBlog/index.tpl +++ b/actions/ActionBlog/index.tpl @@ -7,12 +7,4 @@ * @param string $periodSelectRoot *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'topics'} -{/block} - -{block 'layout_content'} - {component 'topic' template='list' topics=$topics paging=$paging} -{/block} \ No newline at end of file +{extends 'layouts/layout.topics.tpl'} \ No newline at end of file diff --git a/actions/ActionContent/add.tpl b/actions/ActionContent/add.tpl index 25b11d8..f0a3f0c 100644 --- a/actions/ActionContent/add.tpl +++ b/actions/ActionContent/add.tpl @@ -7,22 +7,8 @@ * @parama integer $blogId *} -{extends 'layouts/layout.base.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} +{extends 'layouts/layout.content.form.tpl'} {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} \ No newline at end of file diff --git a/actions/ActionContent/drafts.tpl b/actions/ActionContent/drafts.tpl index fa6945b..99c6701 100644 --- a/actions/ActionContent/drafts.tpl +++ b/actions/ActionContent/drafts.tpl @@ -5,16 +5,12 @@ * @parama array $paging *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'create'} -{/block} +{extends 'layouts/layout.content.form.tpl'} {block 'layout_page_title'} {$aLang.topic.add.title.add} {/block} {block 'layout_content'} - {component 'topic' template='list' topics=$topics paging=$paging} + {component 'topic.list' topics=$topics paging=$paging} {/block} \ No newline at end of file diff --git a/actions/ActionIndex/index.tpl b/actions/ActionIndex/index.tpl index bc0a6c9..69afceb 100644 --- a/actions/ActionIndex/index.tpl +++ b/actions/ActionIndex/index.tpl @@ -5,12 +5,4 @@ * @parama array $paging *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'topics'} -{/block} - -{block 'layout_content'} - {component 'topic' template='list' topics=$topics paging=$paging} -{/block} \ No newline at end of file +{extends 'layouts/layout.index.tpl'} \ No newline at end of file diff --git a/actions/ActionProfile/created.comments.tpl b/actions/ActionProfile/created.comments.tpl index c6a4890..8f25603 100644 --- a/actions/ActionProfile/created.comments.tpl +++ b/actions/ActionProfile/created.comments.tpl @@ -5,13 +5,12 @@ * @param array $paging *} -{extends 'layouts/layout.user.tpl'} +{extends 'layouts/layout.user.created.tpl'} {block 'layout_user_page_title'} - {lang name='user.publications.title'} + {lang 'user.publications.title'} {/block} {block 'layout_content' append} - {include 'navs/nav.user.created.tpl'} - {component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'} + {component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'} {/block} \ No newline at end of file diff --git a/actions/ActionProfile/created.notes.tpl b/actions/ActionProfile/created.notes.tpl index a94a20c..1ceaf12 100644 --- a/actions/ActionProfile/created.notes.tpl +++ b/actions/ActionProfile/created.notes.tpl @@ -5,13 +5,12 @@ * @param array $paging *} -{extends 'layouts/layout.user.tpl'} +{extends 'layouts/layout.user.created.tpl'} {block 'layout_user_page_title'} {lang 'user.publications.title'} {/block} {block 'layout_content' append} - {include 'navs/nav.user.created.tpl'} - {component 'user' template='list' users=$notesUsers pagination=$paging} + {component 'user.list' users=$notesUsers pagination=$paging} {/block} \ No newline at end of file diff --git a/actions/ActionProfile/created.topics.tpl b/actions/ActionProfile/created.topics.tpl index 1399d59..f8a7eaf 100644 --- a/actions/ActionProfile/created.topics.tpl +++ b/actions/ActionProfile/created.topics.tpl @@ -5,13 +5,12 @@ * @param array $paging *} -{extends 'layouts/layout.user.tpl'} +{extends 'layouts/layout.user.created.tpl'} {block 'layout_user_page_title'} - {lang name='user.publications.title'} + {lang 'user.publications.title'} {/block} {block 'layout_content' append} - {include 'navs/nav.user.created.tpl'} - {component 'topic' template='list' topics=$topics paging=$paging} + {component 'topic.list' topics=$topics paging=$paging} {/block} \ No newline at end of file diff --git a/actions/ActionProfile/favourite.comments.tpl b/actions/ActionProfile/favourite.comments.tpl index 84b669a..34091b9 100644 --- a/actions/ActionProfile/favourite.comments.tpl +++ b/actions/ActionProfile/favourite.comments.tpl @@ -5,13 +5,12 @@ * @param array $paging *} -{extends 'layouts/layout.user.tpl'} +{extends 'layouts/layout.user.favourite.tpl'} {block 'layout_user_page_title'} - {lang name='user.favourites.title'} + {lang 'user.favourites.title'} {/block} {block 'layout_content' append} - {include 'navs/nav.user.favourite.tpl'} - {component 'comment' template='list' comments=$comments paging=$paging classes='js-topic-comments-list'} + {component 'comment.list' comments=$comments paging=$paging classes='js-topic-comments-list'} {/block} diff --git a/actions/ActionProfile/favourite.topics.tpl b/actions/ActionProfile/favourite.topics.tpl index 5ed2c6e..4c0333e 100644 --- a/actions/ActionProfile/favourite.topics.tpl +++ b/actions/ActionProfile/favourite.topics.tpl @@ -6,15 +6,13 @@ * @param array $activeFavouriteTag *} -{extends 'layouts/layout.user.tpl'} +{extends 'layouts/layout.user.favourite.tpl'} {block 'layout_user_page_title'} - {lang name='user.favourites.title'} + {lang 'user.favourites.title'} {/block} {block 'layout_content' append} - {include 'navs/nav.user.favourite.tpl'} - {* Блок с тегами избранного *} {if $oUserCurrent && $oUserCurrent->getId() == $oUserProfile->getId()} {insert name='block' block='tagsPersonalTopic' params=[ @@ -23,5 +21,5 @@ ]} {/if} - {component 'topic' template='list' topics=$topics paging=$paging} + {component 'topic.list' topics=$topics paging=$paging} {/block} \ No newline at end of file diff --git a/actions/ActionSearch/index.tpl b/actions/ActionSearch/index.tpl index bd71efb..8a1efc0 100644 --- a/actions/ActionSearch/index.tpl +++ b/actions/ActionSearch/index.tpl @@ -14,10 +14,22 @@ {$aLang.search.search} {/block} -{block 'layout_content'} - {component 'search' template='main' searchType=$searchType} - {include 'navs/nav.search.tpl'} +{block 'layout_content_header' prepend} + {component 'search.main' searchType=$searchType} +{/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 $searchType == 'topics'} {component 'topic' template='list' topics=$resultItems paging=$paging} diff --git a/actions/ActionStream/all.tpl b/actions/ActionStream/all.tpl index d9a2636..9f7ead9 100644 --- a/actions/ActionStream/all.tpl +++ b/actions/ActionStream/all.tpl @@ -5,15 +5,7 @@ * @param integer $activityEventsAllCount *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'activity'} -{/block} - -{block 'layout_page_title'} - {$aLang.activity.title} -{/block} +{extends 'layouts/layout.activity.tpl'} {block 'layout_content'} {component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--all'} diff --git a/actions/ActionStream/personal.tpl b/actions/ActionStream/personal.tpl index 0904abf..0a47ed6 100644 --- a/actions/ActionStream/personal.tpl +++ b/actions/ActionStream/personal.tpl @@ -5,15 +5,7 @@ * @param integer $activityEventsAllCount *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'activity'} -{/block} - -{block 'layout_page_title'} - {$aLang.activity.title} -{/block} +{extends 'layouts/layout.activity.tpl'} {block 'layout_content'} {component 'activity' events=$activityEvents count=$activityEventsAllCount classes='js-activity--personal'} diff --git a/actions/ActionTalk/favourites.tpl b/actions/ActionTalk/favourites.tpl index 3f7bd79..7e5b781 100644 --- a/actions/ActionTalk/favourites.tpl +++ b/actions/ActionTalk/favourites.tpl @@ -8,5 +8,5 @@ {extends 'layouts/layout.user.messages.tpl'} {block 'layout_content'} - {component 'talk' template='list.tpl' talks=$talks paging=$paging} + {component 'talk.list' talks=$talks paging=$paging} {/block} \ No newline at end of file diff --git a/actions/ActionUserfeed/list.tpl b/actions/ActionUserfeed/list.tpl index 1bb63bb..05550fb 100644 --- a/actions/ActionUserfeed/list.tpl +++ b/actions/ActionUserfeed/list.tpl @@ -5,12 +5,4 @@ * @param array $paging *} -{extends 'layouts/layout.base.tpl'} - -{block 'layout_options' append} - {$sNav = 'topics'} -{/block} - -{block 'layout_content'} - {component 'topic' template='list' topics=$topics paging=$paging} -{/block} \ No newline at end of file +{extends 'layouts/layout.index.tpl'} \ No newline at end of file diff --git a/assets/css/colors.css b/assets/css/colors.css index 688c8fe..1fe550a 100644 --- a/assets/css/colors.css +++ b/assets/css/colors.css @@ -12,3 +12,23 @@ .ls-nav-item--userbar-username img.avatar { 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; +} diff --git a/assets/css/layout.css b/assets/css/layout.css index 1d281c4..a3c196a 100644 --- a/assets/css/layout.css +++ b/assets/css/layout.css @@ -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-nav--userbar > .ls-nav-item > a:hover{ - color: #ddd !important; - background: #333 !important; -} -.ls-nav--userbar > .ls-nav-item > a > img { - display: none; -} +/** + * Шапка сайта + */ +.ls-jumbotron { + background-image: url(../images/header.jpg); +} \ No newline at end of file diff --git a/assets/js/init.js b/assets/js/init.js index ada3496..3195cdf 100644 --- a/assets/js/init.js +++ b/assets/js/init.js @@ -37,6 +37,31 @@ jQuery(document).ready(function($){ $('.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 () { - $(this).lsFieldDate({ + $(this).lsDate({ language: LANGUAGE }); }); $('.js-field-time-default').livequery(function () { - $(this).lsFieldTime(); + $(this).lsTime(); }); $('[data-type=captcha]').livequery(function () { @@ -366,7 +391,7 @@ jQuery(document).ready(function($){ cancel_photo: aRouter.settings + 'ajax-crop-cancel-photo' }, 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() ); } }); diff --git a/layouts/layout.activity.tpl b/layouts/layout.activity.tpl new file mode 100644 index 0000000..86d004c --- /dev/null +++ b/layouts/layout.activity.tpl @@ -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} \ No newline at end of file diff --git a/layouts/layout.base.tpl b/layouts/layout.base.tpl index 5db698a..e94d771 100644 --- a/layouts/layout.base.tpl +++ b/layouts/layout.base.tpl @@ -1,281 +1,259 @@ {** - * Основной лэйаут + * Основной лэйаут, который наследуют все остальные лэйауты * - * @param boolean $layoutShowSidebar Показывать сайдбар или нет, сайдбар не будет выводится если он не содержит блоков - * @param string $layoutNavContent Название навигации - * @param string $layoutNavContentPath Кастомный путь до навигации контента + * @param boolean $layoutShowSidebar Показывать сайдбар или нет, сайдбар не будет выводится если он не содержит блоков + * @param string $layoutNavContent Название навигации + * @param string $layoutNavContentPath Кастомный путь до навигации контента * @param string $layoutShowSystemMessages Показывать системные уведомления или нет *} -{extends 'Component@layout.layout'} +{extends 'component@layout.layout'} {block 'layout_options' append} - {$layoutShowSidebar = $layoutShowSidebar|default:true} - {$layoutShowSystemMessages = $layoutShowSystemMessages|default:true} + {$layoutShowSidebar = $layoutShowSidebar|default:true} + {$layoutShowSystemMessages = $layoutShowSystemMessages|default:true} {/block} {* {block 'layout_head_styles' append} + + {/block} *} {block 'layout_head' append} - {* Получаем блоки для вывода в сайдбаре *} - {if $layoutShowSidebar} - {show_blocks group='right' assign=layoutSidebarBlocks} + {* Получаем блоки для вывода в сайдбаре *} + {if $layoutShowSidebar} + {show_blocks group='right' assign=layoutSidebarBlocks} - {$layoutSidebarBlocks = trim( $layoutSidebarBlocks )} - {$layoutShowSidebar = !!$layoutSidebarBlocks} - {/if} + {$layoutSidebarBlocks = trim( $layoutSidebarBlocks )} + {$layoutShowSidebar = !!$layoutSidebarBlocks} + {/if} - {** - * Тип сетки сайта - *} - {if {Config::Get('view.grid.type')} == 'fluid'} - - {else} - - {/if} + {** + * Тип сетки сайта + *} + {if {Config::Get('view.grid.type')} == 'fluid'} + + {else} + + {/if} {/block} {block 'layout_body'} - {** - * Основная навигация - *} -