1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-01 05:55:02 +03:00

Верстка Synio

This commit is contained in:
Denis Shakhov 2012-05-07 09:02:25 +07:00
parent a7822a1f29
commit 78242baad8
67 changed files with 1035 additions and 830 deletions

View file

@ -2,12 +2,10 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}
{hook run='settings_account_begin'}
<form method="post" enctype="multipart/form-data">

View file

@ -2,6 +2,10 @@
{include file='header.tpl' menu='settings'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.settings.tpl'}
<small class="note note-header input-width-400">{$aLang.settings_invite_notice} "{$aLang.settings_invite_submit}"</small>
{hook run='settings_invite_begin'}

View file

@ -2,10 +2,7 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}

View file

@ -2,10 +2,7 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}

View file

@ -1,3 +1,6 @@
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
<ul class="nav nav-pills">
<li {if $sMenuSubItemSelect=='profile'}class="active"{/if}><a href="{router page='settings'}profile/">{$aLang.settings_menu_profile}</a></li>
<li {if $sMenuSubItemSelect=='account'}class="active"{/if}><a href="{router page='settings'}account/">{$aLang.settings_menu_account}</a></li>

View file

@ -2,7 +2,7 @@
<h2 class="page-header">{$aLang.blogs}</h2>
<form action="" method="POST" id="form-blogs-search" onsubmit="return false;" class="search search-item">
<form action="" method="POST" id="form-blogs-search" onsubmit="return false;" class="search-item">
<input type="text" placeholder="{$aLang.blogs_search_title_hint}" autocomplete="off" name="blog_title" class="input-text" value="" onkeyup="ls.timer.run(ls.blog.searchBlogs,'blogs_search',['form-blogs-search'],1000);">
</form>

View file

@ -1,15 +1,19 @@
{include file='header.tpl' menu='people'}
<form action="" method="POST" id="form-users-search" onsubmit="return false;" class="search search-item">
<h2 class="page-header">{$aLang.people}</h2>
<form action="" method="POST" id="form-users-search" onsubmit="return false;" class="search-item search-item-abc">
<input id="search-user-login" type="text" placeholder="{$aLang.user_search_title_hint}" autocomplete="off" name="user_login" value="" class="input-text" onkeyup="ls.timer.run(ls.user.searchUsers,'users_search',['form-users-search'],1000);">
<ul id="user-prefix-filter" class="search-abc">
<li class="active"><a href="#" onclick="return ls.user.searchUsersByPrefix('',this);"><span>{$aLang.user_search_filter_all}</span></a></li>
{foreach from=$aPrefixUser item=sPrefixUser}
<li><a href="#" onclick="return ls.user.searchUsersByPrefix('{$sPrefixUser}',this);"><span>{$sPrefixUser}</span></a></li>
{/foreach}
</ul>
</form>
<ul id="user-prefix-filter" class="search-abc">
<li class="active"><a href="#" class="link-dotted" onclick="return ls.user.searchUsersByPrefix('',this);">{$aLang.user_search_filter_all}</a></li>
{foreach from=$aPrefixUser item=sPrefixUser}
<li><a href="#" class="link-dotted" onclick="return ls.user.searchUsersByPrefix('{$sPrefixUser}',this);">{$sPrefixUser}</a></li>
{/foreach}
</ul>
<div id="users-list-search" style="display:none;"></div>

View file

@ -4,6 +4,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile.content.tpl'}
{include file='menu.profile_created.tpl'}

View file

@ -4,6 +4,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile.content.tpl'}
{include file='menu.profile_created.tpl'}

View file

@ -4,6 +4,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile.content.tpl'}
{include file='menu.profile_created.tpl'}

View file

@ -4,7 +4,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile.content.tpl'}
{include file='menu.profile_favourite.tpl'}
{include file='comment_list.tpl'}

View file

@ -4,7 +4,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile.content.tpl'}
{include file='menu.profile_favourite.tpl'}
{if $oUserCurrent and $oUserCurrent->getId()==$oUserProfile->getId()}

View file

@ -2,7 +2,7 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_friends}</h3>
{include file='menu.profile.content.tpl'}
{include file='user_list.tpl' aUsersList=$aFriends}

View file

@ -1,20 +1,46 @@
<div class="profile">
{hook run='profile_top_begin' oUserProfile=$oUserProfile}
<a href="{$oUserProfile->getUserWebPath()}"><img src="{$oUserProfile->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<div id="vote_area_user_{$oUserProfile->getId()}" class="vote {if $oUserProfile->getRating()>=0}vote-count-positive{else}vote-count-negative{/if} {if $oVote} voted {if $oVote->getDirection()>0}voted-up{elseif $oVote->getDirection()<0}voted-down{/if}{/if}">
<div class="vote-profile">
<div id="vote_area_user_{$oUserProfile->getId()}" class="vote-topic
{if $oUserProfile->getRating() > 0}
vote-count-positive
{elseif $oUserProfile->getRating() < 0}
vote-count-negative
{elseif $oUserProfile->getRating() == 0}
vote-count-zero
{/if}
{if $oVote}
voted
{if $oVote->getDirection() > 0}
voted-up
{elseif $oVote->getDirection() < 0}
voted-down
{/if}
{/if}
{if $oUserCurrent && $oUserProfile->getId() == $oUserCurrent->getId()}
vote-nobuttons
{/if}">
<div href="#" class="vote-item vote-down" onclick="return ls.vote.vote({$oUserProfile->getId()},this,-1,'user');"><span><i></i></span></div>
<div id="vote_total_user_{$oUserProfile->getId()}" class="vote-item vote-count" title="{$aLang.user_vote_count}: {$oUserProfile->getCountVote()}">
<span>{if $oUserProfile->getRating() > 0}+{/if}{$oUserProfile->getRating()}</span>
</div>
<div href="#" class="vote-item vote-up" onclick="return ls.vote.vote({$oUserProfile->getId()},this,1,'user');"><span><i></i></span></div>
</div>
<div class="vote-label">{$aLang.user_rating}</div>
<a href="#" class="vote-up" onclick="return ls.vote.vote({$oUserProfile->getId()},this,1,'user');"></a>
<a href="#" class="vote-down" onclick="return ls.vote.vote({$oUserProfile->getId()},this,-1,'user');"></a>
<div id="vote_total_user_{$oUserProfile->getId()}" class="vote-count count" title="{$aLang.user_vote_count}: {$oUserProfile->getCountVote()}">{if $oUserProfile->getRating() > 0}+{/if}{$oUserProfile->getRating()}</div>
</div>
<div class="strength">
<div class="vote-label">{$aLang.user_skill}</div>
<div class="count" id="user_skill_{$oUserProfile->getId()}">{$oUserProfile->getSkill()}</div>
<div class="vote-label">{$aLang.user_skill}</div>
</div>
<button class="button button-action button-action-add-friend"><i class="icon-synio-add-friend"></i><span>В друзья</span></button>
<button class="button button-action button-action-send-message"><i class="icon-synio-send-message"></i></button>
<h2 class="page-header user-login word-wrap {if !$oUserProfile->getProfileName()}no-user-name{/if}">{$oUserProfile->getLogin()}</h2>
{if $oUserProfile->getProfileName()}

View file

@ -33,31 +33,32 @@
</div>
{/if}
</section>
{if $oUserCurrent && $oUserCurrent->getId()!=$oUserProfile->getId()}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="profile_user_unfollow,profile_user_follow"});
});
</script>
<section class="block block-type-profile-actions">
<div class="block-content">
<ul class="profile-actions" id="profile_actions">
{include file='actions/ActionProfile/friend_item.tpl' oUserFriend=$oUserProfile->getUserFriend()}
<li><a href="{router page='talk'}add/?talk_users={$oUserProfile->getLogin()}">{$aLang.user_write_prvmsg}</a></li>
<li>
<a href="#" onclick="ls.user.followToggle(this, {$oUserProfile->getId()}); return false;" class="{if $oUserProfile->isFollow()}followed{/if}">
{if $oUserProfile->isFollow()}{$aLang.profile_user_unfollow}{else}{$aLang.profile_user_follow}{/if}
</a>
</li>
</ul>
</div>
</section>
{/if}
{hook run='profile_sidebar_menu_before' oUserProfile=$oUserProfile}
<section class="block block-type-profile-nav">
<ul class="nav nav-profile">
{hook run='profile_sidebar_menu_item_first' oUserProfile=$oUserProfile}
<li {if $sAction=='profile' && ($aParams[0]=='whois' or $aParams[0]=='')}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}">{$aLang.user_menu_profile_whois}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='wall'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}wall/">{$aLang.user_menu_profile_wall}{if ($iCountWallUser)>0} ({$iCountWallUser}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='created'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}created/topics/">{$aLang.user_menu_publication}{if ($iCountCreated)>0} ({$iCountCreated}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='favourites'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}favourites/topics/">{$aLang.user_menu_profile_favourites}{if ($iCountFavourite)>0} ({$iCountFavourite}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='friends'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}friends/">{$aLang.user_menu_profile_friends}{if ($iCountFriendsUser)>0} ({$iCountFriendsUser}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='stream'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}stream/">{$aLang.user_menu_profile_stream}</a></li>
{if $oUserCurrent and $oUserCurrent->getId() == $oUserProfile->getId()}
<li {if $sAction=='talk'}class="active"{/if}><a href="{router page='talk'}">{$aLang.talk_menu_inbox}{if $iUserCurrentCountTalkNew} ({$iUserCurrentCountTalkNew}){/if}</a></li>
<li {if $sAction=='settings'}class="active"{/if}><a href="{router page='settings'}">{$aLang.settings_menu}</a></li>
{/if}
{hook run='profile_sidebar_menu_item_last' oUserProfile=$oUserProfile}
</ul>
</section>
{hook run='profile_sidebar_end' oUserProfile=$oUserProfile}
{if $oUserCurrent && $oUserCurrent->getId() != $oUserProfile->getId()}
@ -91,24 +92,25 @@
</section>
{/if}
{hook run='profile_sidebar_menu_before' oUserProfile=$oUserProfile}
<section class="block block-type-profile-nav">
<ul class="nav nav-profile">
{hook run='profile_sidebar_menu_item_first' oUserProfile=$oUserProfile}
<li {if $sAction=='profile' && ($aParams[0]=='whois' or $aParams[0]=='')}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}">{$aLang.user_menu_profile_whois}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='wall'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}wall/">{$aLang.user_menu_profile_wall}{if ($iCountWallUser)>0} ({$iCountWallUser}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='created'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}created/topics/">{$aLang.user_menu_publication}{if ($iCountCreated)>0} ({$iCountCreated}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='favourites'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}favourites/topics/">{$aLang.user_menu_profile_favourites}{if ($iCountFavourite)>0} ({$iCountFavourite}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='friends'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}friends/">{$aLang.user_menu_profile_friends}{if ($iCountFriendsUser)>0} ({$iCountFriendsUser}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='stream'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}stream/">{$aLang.user_menu_profile_stream}</a></li>
{if $oUserCurrent and $oUserCurrent->getId() == $oUserProfile->getId()}
<li {if $sAction=='talk'}class="active"{/if}><a href="{router page='talk'}">{$aLang.talk_menu_inbox}{if $iUserCurrentCountTalkNew} ({$iUserCurrentCountTalkNew}){/if}</a></li>
<li {if $sAction=='settings'}class="active"{/if}><a href="{router page='settings'}">{$aLang.settings_menu}</a></li>
{/if}
{hook run='profile_sidebar_menu_item_last' oUserProfile=$oUserProfile}
</ul>
</section>
{if $oUserCurrent && $oUserCurrent->getId()!=$oUserProfile->getId()}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="profile_user_unfollow,profile_user_follow"});
});
</script>
{hook run='profile_sidebar_end' oUserProfile=$oUserProfile}
<section class="block block-type-profile-actions">
<div class="block-content">
<ul class="profile-actions" id="profile_actions">
{include file='actions/ActionProfile/friend_item.tpl' oUserFriend=$oUserProfile->getUserFriend()}
<li><a href="{router page='talk'}add/?talk_users={$oUserProfile->getLogin()}">{$aLang.user_write_prvmsg}</a></li>
<li>
<a href="#" onclick="ls.user.followToggle(this, {$oUserProfile->getId()}); return false;" class="{if $oUserProfile->isFollow()}followed{/if}">
{if $oUserProfile->isFollow()}{$aLang.profile_user_unfollow}{else}{$aLang.profile_user_follow}{/if}
</a>
</li>
</ul>
</div>
</section>
{/if}

View file

@ -2,7 +2,7 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_stream}</h3>
{include file='menu.profile.content.tpl'}
{if count($aStreamEvents)}

View file

@ -7,7 +7,7 @@
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_wall}</h3>
{include file='menu.profile.content.tpl'}
<script type="text/javascript">
@ -26,13 +26,13 @@
{/if}
<div id="wall-container" class="comments wall">
<div id="wall-container" class="wall">
{include file='actions/ActionProfile/wall_items.tpl'}
</div>
{if $iCountWall-count($aWall)}
<a href="#" onclick="return ls.wall.loadNext();" id="wall-button-next" class="wall-more"><span class="wall-more-inner">{$aLang.wall_load_more} (<span id="wall-count-next">{$iCountWall-count($aWall)}</span>)</span></a>
<a href="#" onclick="return ls.wall.loadNext();" id="wall-button-next" class="stream-get-more"><span class="wall-more-inner">{$aLang.wall_load_more} (<span id="wall-count-next">{$iCountWall-count($aWall)}</span>)</span></a>
{/if}

View file

@ -2,43 +2,43 @@
{assign var="oWallUser" value=$oWall->getUser()}
{assign var="aReplyWall" value=$oWall->getLastReplyWall()}
<div id="wall-item-{$oWall->getId()}" class="js-wall-item comment-wrapper">
<div class="comment">
<a href="{$oWallUser->getUserWebPath()}"><img src="{$oWallUser->getProfileAvatarPath(48)}" alt="avatar" class="comment-avatar" /></a>
<div id="wall-item-{$oWall->getId()}" class="js-wall-item wall-item-wrapper">
<div class="wall-item">
<a href="{$oWallUser->getUserWebPath()}"><img src="{$oWallUser->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<ul class="comment-info">
<li class="comment-author"><a href="{$oWallUser->getUserWebPath()}">{$oWallUser->getLogin()}</a></li>
<li class="comment-date"><time datetime="{date_format date=$oWall->getDateAdd() format='c'}">{date_format date=$oWall->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time></li>
{if $oWall->isAllowDelete()}
<li><a href="#" onclick="return ls.wall.remove({$oWall->getId()});" class="link-dotted">{$aLang.wall_action_delete}</a></li>
{/if}
</ul>
<p class="info">
<a href="{$oWallUser->getUserWebPath()}">{$oWallUser->getLogin()}</a> ·
<time class="date" datetime="{date_format date=$oWall->getDateAdd() format='c'}">{date_format date=$oWall->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time>
</p>
<div class="comment-content text">
<div class="wall-item-content text">
{$oWall->getText()}
</div>
{if $oUserCurrent and !$aReplyWall}
<ul class="comment-actions">
<ul class="actions wall-item-actions">
<li><a href="#" class="link-dotted" onclick="return ls.wall.toggleReply({$oWall->getId()});">{$aLang.wall_action_reply}</a></li>
{if $oWall->isAllowDelete()}
<li><a href="#" onclick="return ls.wall.remove({$oWall->getId()});" class="link-dotted">{$aLang.wall_action_delete}</a></li>
{/if}
</ul>
{/if}
</div>
{if count($aReplyWall) < $oWall->getCountReply()}
<a href="#" onclick="return ls.wall.loadReplyNext({$oWall->getId()});" id="wall-reply-button-next-{$oWall->getId()}" class="wall-more wall-more-reply">
<span class="wall-more-inner">{$aLang.wall_load_reply_more} <span id="wall-reply-count-next-{$oWall->getId()}">{$oWall->getCountReply()}</span> {$oWall->getCountReply()|declension:$aLang.comment_declension:'russian'}</span>
</a>
{if $aReplyWall}
<div id="wall-reply-container-{$oWall->getId()}" class="wall-item-replies">
{if count($aReplyWall) < $oWall->getCountReply()}
<a href="#" onclick="return ls.wall.loadReplyNext({$oWall->getId()});" id="wall-reply-button-next-{$oWall->getId()}" class="wall-more-reply">
<span class="wall-more-inner">{$aLang.wall_load_reply_more} <span id="wall-reply-count-next-{$oWall->getId()}">{$oWall->getCountReply()}</span> {$oWall->getCountReply()|declension:$aLang.comment_declension:'russian'}</span>
</a>
{/if}
{if $aReplyWall}
{include file='actions/ActionProfile/wall_items_reply.tpl'}
{/if}
</div>
{/if}
<div id="wall-reply-container-{$oWall->getId()}" class="comment-wrapper">
{if $aReplyWall}
{include file='actions/ActionProfile/wall_items_reply.tpl'}
{/if}
</div>
{if $oUserCurrent}
<form class="wall-submit wall-submit-reply" {if !$aReplyWall}style="display: none"{/if}>
<textarea rows="4" id="wall-reply-text-{$oWall->getId()}" class="input-text input-width-full js-wall-reply-text" placeholder="{$aLang.wall_reply_placeholder}" onclick="return ls.wall.expandReply({$oWall->getId()});"></textarea>

View file

@ -1,18 +1,16 @@
{foreach from=$aReplyWall item=oReplyWall}
{assign var="oReplyUser" value=$oReplyWall->getUser()}
<div id="wall-reply-item-{$oReplyWall->getId()}" class="js-wall-reply-item comment wall-comment-reply">
<a href="{$oReplyUser->getUserWebPath()}"><img src="{$oReplyUser->getProfileAvatarPath(48)}" alt="avatar" class="comment-avatar" /></a>
<div id="wall-reply-item-{$oReplyWall->getId()}" class="js-wall-reply-item wall-item-reply">
<a href="{$oReplyUser->getUserWebPath()}"><img src="{$oReplyUser->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<ul class="comment-info">
<li class="comment-author"><a href="{$oReplyUser->getUserWebPath()}">{$oReplyUser->getLogin()}</a></li>
<li class="comment-date"><time datetime="{date_format date=$oReplyWall->getDateAdd() format='c'}">{date_format date=$oReplyWall->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time></li>
<a href="{$oReplyUser->getUserWebPath()}" class="author">{$oReplyUser->getLogin()}</a> ·
<span class="comment-content text">{$oReplyWall->getText()}</span>
<ul class="actions">
<li class="date"><time datetime="{date_format date=$oReplyWall->getDateAdd() format='c'}">{date_format date=$oReplyWall->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time></li>
{if $oReplyWall->isAllowDelete()}
<li><a href="#" onclick="return ls.wall.remove({$oReplyWall->getId()});" class="link-dotted">{$aLang.wall_action_delete}</a></li>
{/if}
</ul>
<div class="comment-content text">
{$oReplyWall->getText()}
</div>
</div>
{/foreach}

View file

@ -8,210 +8,224 @@
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_whois}</h3>
{include file='menu.profile.content.tpl'}
{if $oUserProfile->getProfileAbout()}
<div class="profile-info-about">
<a href="{$oUserProfile->getUserWebPath()}" class="avatar"><img src="{$oUserProfile->getProfileAvatarPath(100)}" alt="avatar" /></a>
<h3>{$aLang.profile_about}</h3>
{$oUserProfile->getProfileAbout()}
</div>
{/if}
{assign var="aUserFieldValues" value=$oUserProfile->getUserFieldValues(true,array(''))}
{if $oUserProfile->getProfileSex()!='other' || $oUserProfile->getProfileBirthday() || $oGeoTarget || $oUserProfile->getProfileAbout() || count($aUserFieldValues)}
<h2 class="header-table">{$aLang.profile_privat}</h2>
<table class="table table-profile-info">
{if $oUserProfile->getProfileSex()!='other'}
<tr>
<td class="cell-label">{$aLang.profile_sex}:</td>
<td>
{if $oUserProfile->getProfileSex()=='man'}
{$aLang.profile_sex_man}
{else}
{$aLang.profile_sex_woman}
{/if}
</td>
</tr>
{/if}
<div class="wrapper">
<div class="profile-left">
{assign var="aUserFieldValues" value=$oUserProfile->getUserFieldValues(true,array(''))}
{if $oUserProfile->getProfileSex()!='other' || $oUserProfile->getProfileBirthday() || $oGeoTarget || $oUserProfile->getProfileAbout() || count($aUserFieldValues)}
<h2 class="header-table">{$aLang.profile_privat}</h2>
{if $oUserProfile->getProfileBirthday()}
<tr>
<td class="cell-label">{$aLang.profile_birthday}:</td>
<td>{date_format date=$oUserProfile->getProfileBirthday() format="j F Y"}</td>
</tr>
{/if}
{if $oGeoTarget}
<tr>
<td class="cell-label">{$aLang.profile_place}:</td>
<td>
{if $oGeoTarget->getCountryId()}
<a href="{router page='people'}country/{$oGeoTarget->getCountryId()}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oGeoTarget->getCityId()},{/if}
{/if}
<ul class="profile-dotted-list">
{if $oUserProfile->getProfileSex()!='other'}
<li>
<span>{$aLang.profile_sex}:</span>
<strong>
{if $oUserProfile->getProfileSex()=='man'}
{$aLang.profile_sex_man}
{else}
{$aLang.profile_sex_woman}
{/if}
</strong>
</li>
{/if}
{if $oGeoTarget->getCityId()}
<a href="{router page='people'}city/{$oGeoTarget->getCityId()}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
{/if}
</td>
</tr>
{if $oUserProfile->getProfileBirthday()}
<li>
<span>{$aLang.profile_birthday}:</span>
<strong>{date_format date=$oUserProfile->getProfileBirthday() format="j F Y"}</strong>
</li>
{/if}
{if $oGeoTarget}
<li>
<span>{$aLang.profile_place}:</span>
<strong>
{if $oGeoTarget->getCountryId()}
<a href="{router page='people'}country/{$oGeoTarget->getCountryId()}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oGeoTarget->getCityId()},{/if}
{/if}
{if $oGeoTarget->getCityId()}
<a href="{router page='people'}city/{$oGeoTarget->getCityId()}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
{/if}
</strong>
</li>
{/if}
{if $aUserFieldValues}
{foreach from=$aUserFieldValues item=oField}
<li>
<span><i class="icon-contact icon-contact-{$oField->getName()}"></i> {$oField->getTitle()|escape:'html'}:</span>
<strong>{$oField->getValue(true,true)}</strong>
</li>
{/foreach}
{/if}
{hook run='profile_whois_privat_item' oUserProfile=$oUserProfile}
</ul>
{/if}
{if $aUserFieldValues}
{foreach from=$aUserFieldValues item=oField}
<tr>
<td class="cell-label"><i class="icon-contact icon-contact-{$oField->getName()}"></i> {$oField->getTitle()|escape:'html'}:</td>
<td>{$oField->getValue(true,true)}</td>
</tr>
{/foreach}
{hook run='profile_whois_item_after_privat' oUserProfile=$oUserProfile}
<h2 class="header-table">{$aLang.profile_activity}</h2>
<ul class="profile-dotted-list">
{if $oConfig->GetValue('general.reg.invite') and $oUserInviteFrom}
<li>
<span>{$aLang.profile_invite_from}:</span>
<strong>
<a href="{$oUserInviteFrom->getUserWebPath()}">{$oUserInviteFrom->getLogin()}</a>&nbsp;
</strong>
</li>
{/if}
{if $oConfig->GetValue('general.reg.invite') and $aUsersInvite}
<li>
<span>{$aLang.profile_invite_to}:</span>
<strong>
{foreach from=$aUsersInvite item=oUserInvite}
<a href="{$oUserInvite->getUserWebPath()}">{$oUserInvite->getLogin()}</a>&nbsp;
{/foreach}
</strong>
</li>
{/if}
{if $aBlogsOwner}
<li>
<span>{$aLang.profile_blogs_self}:</span>
<strong>
{foreach from=$aBlogsOwner item=oBlog name=blog_owner}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
{/foreach}
</strong>
</li>
{/if}
{if $aBlogAdministrators}
<li>
<span>{$aLang.profile_blogs_administration}:</span>
<strong>
{foreach from=$aBlogAdministrators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</strong>
</li>
{/if}
{if $aBlogModerators}
<li>
<span>{$aLang.profile_blogs_moderation}:</span>
<strong>
{foreach from=$aBlogModerators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</strong>
</li>
{/if}
{if $aBlogUsers}
<li>
<span>{$aLang.profile_blogs_join}:</span>
<strong>
{foreach from=$aBlogUsers item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</strong>
</li>
{/if}
{hook run='profile_whois_activity_item' oUserProfile=$oUserProfile}
<li>
<span>{$aLang.profile_date_registration}:</span>
<strong>{date_format date=$oUserProfile->getDateRegister()}</strong>
</li>
{if $oSession}
<li>
<span>{$aLang.profile_date_last}:</span>
<strong>{date_format date=$oSession->getDateLast()}</strong>
</li>
{/if}
</ul>
{if $aUsersFriend}
<h2 class="header-table mb-15"><a href="{$oUserProfile->getUserWebPath()}friends/">{$aLang.profile_friends}</a> <span>{$iCountFriendsUser}</span></h2>
{include file='user_list_avatar.tpl' aUsersList=$aUsersFriend}
{/if}
{hook run='profile_whois_privat_item' oUserProfile=$oUserProfile}
</table>
{/if}
{hook run='profile_whois_item_after_privat' oUserProfile=$oUserProfile}
{assign var="aUserFieldContactValues" value=$oUserProfile->getUserFieldValues(true,array('contact'))}
{if $aUserFieldContactValues}
<h2 class="header-table">{$aLang.profile_contacts}</h2>
<table class="table table-profile-info">
{foreach from=$aUserFieldContactValues item=oField}
<tr>
<td class="cell-label"><i class="icon-contact icon-contact-{$oField->getName()}"></i> {$oField->getTitle()|escape:'html'}:</td>
<td>{$oField->getValue(true,true)}</td>
</tr>
{/foreach}
</table>
{/if}
{assign var="aUserFieldContactValues" value=$oUserProfile->getUserFieldValues(true,array('social'))}
{if $aUserFieldContactValues}
<h2 class="header-table">{$aLang.profile_social}</h2>
<table class="table table-profile-info">
{foreach from=$aUserFieldContactValues item=oField}
<tr>
<td class="cell-label"><i class="icon-contact icon-contact-{$oField->getName()}"></i> {$oField->getTitle()|escape:'html'}:</td>
<td>{$oField->getValue(true,true)}</td>
</tr>
{/foreach}
</table>
{/if}
{hook run='profile_whois_item' oUserProfile=$oUserProfile}
<h2 class="header-table">{$aLang.profile_activity}</h2>
<table class="table table-profile-info">
{if $oConfig->GetValue('general.reg.invite') and $oUserInviteFrom}
<tr>
<td class="cell-label">{$aLang.profile_invite_from}:</td>
<td>
<a href="{$oUserInviteFrom->getUserWebPath()}">{$oUserInviteFrom->getLogin()}</a>&nbsp;
</td>
</tr>
{/if}
{hook run='profile_whois_item_end' oUserProfile=$oUserProfile}
</div>
<!-- /profile-left -->
{if $oConfig->GetValue('general.reg.invite') and $aUsersInvite}
<tr>
<td class="cell-label">{$aLang.profile_invite_to}:</td>
<td>
{foreach from=$aUsersInvite item=oUserInvite}
<a href="{$oUserInvite->getUserWebPath()}">{$oUserInvite->getLogin()}</a>&nbsp;
<div class="profile-right">
{assign var="aUserFieldContactValues" value=$oUserProfile->getUserFieldValues(true,array('contact'))}
{if $aUserFieldContactValues}
<h2 class="header-table">{$aLang.profile_contacts}</h2>
<ul class="profile-contact-list">
{foreach from=$aUserFieldContactValues item=oField}
<li><i class="icon-contact icon-contact-{$oField->getName()}" title="{$oField->getName()}"></i> {$oField->getValue(true,true)}</li>
{/foreach}
</td>
</tr>
{/if}
{if $aBlogsOwner}
<tr>
<td class="cell-label">{$aLang.profile_blogs_self}:</td>
<td>
{foreach from=$aBlogsOwner item=oBlog name=blog_owner}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
</ul>
{/if}
{assign var="aUserFieldContactValues" value=$oUserProfile->getUserFieldValues(true,array('social'))}
{if $aUserFieldContactValues}
<h2 class="header-table">{$aLang.profile_social}</h2>
<ul class="profile-contact-list">
{foreach from=$aUserFieldContactValues item=oField}
<tr>
<li><i class="icon-contact icon-contact-{$oField->getName()}" title="{$oField->getName()}"></i> {$oField->getValue(true,true)}</li>
</tr>
{/foreach}
</td>
</tr>
{/if}
{if $aBlogAdministrators}
<tr>
<td class="cell-label">{$aLang.profile_blogs_administration}:</td>
<td>
{foreach from=$aBlogAdministrators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogModerators}
<tr>
<td class="cell-label">{$aLang.profile_blogs_moderation}:</td>
<td>
{foreach from=$aBlogModerators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogUsers}
<tr>
<td class="cell-label">{$aLang.profile_blogs_join}:</td>
<td>
{foreach from=$aBlogUsers item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{hook run='profile_whois_activity_item' oUserProfile=$oUserProfile}
<tr>
<td class="cell-label">{$aLang.profile_date_registration}:</td>
<td>{date_format date=$oUserProfile->getDateRegister()}</td>
</tr>
{if $oSession}
<tr>
<td class="cell-label">{$aLang.profile_date_last}:</td>
<td>{date_format date=$oSession->getDateLast()}</td>
</tr>
{/if}
</table>
</ul>
{/if}
{hook run='profile_whois_item' oUserProfile=$oUserProfile}
</div>
</div>
{if $aUsersFriend}
<h2 class="header-table mb-15"><a href="{$oUserProfile->getUserWebPath()}friends/">{$aLang.profile_friends}</a> ({$iCountFriendsUser})</h2>
{include file='user_list_avatar.tpl' aUsersList=$aUsersFriend}
{/if}
{hook run='profile_whois_item_end' oUserProfile=$oUserProfile}
{include file='footer.tpl'}

View file

@ -3,52 +3,47 @@
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}
{hook run='settings_account_begin'}
<form method="post" enctype="multipart/form-data">
<form method="post" enctype="multipart/form-data" class="wrapper-content">
{hook run='form_settings_account_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}">
<fieldset>
<legend>{$aLang.settings_account}</legend>
<h3>{$aLang.settings_account}</h3>
<dl class="form-item">
<dt><label for="mail">{$aLang.settings_profile_mail}:</label></dt>
<dd>
<input type="email" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}" class="input-text input-width-300" required />
<small class="note">{$aLang.settings_profile_mail_notice}</small>
</dd>
</dl>
</fieldset>
<dl class="form-item">
<dt><label for="mail">{$aLang.settings_profile_mail}:</label></dt>
<dd>
<input type="email" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}" class="input-text input-width-300" required />
<small class="note">{$aLang.settings_profile_mail_notice}</small>
</dd>
</dl>
<br />
<br />
<fieldset>
<legend>{$aLang.settings_account_password}</legend>
<h3>{$aLang.settings_account_password}</h3>
<small class="note note-header">{$aLang.settings_account_password_notice}</small>
<dl class="form-item">
<dt><label for="password_now">{$aLang.settings_profile_password_current}:</label></dt>
<dd><input type="password" name="password_now" id="password_now" value="" class="input-text input-width-200" /></dd>
</dl>
<small class="note note-header">{$aLang.settings_account_password_notice}</small>
<dl class="form-item">
<dt><label for="password">{$aLang.settings_profile_password_new}:</label></dt>
<dd><input type="password" id="password" name="password" value="" class="input-text input-width-200" /></dd>
</dl>
<dl class="form-item">
<dt><label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label></dt>
<dd><input type="password" id="password_confirm" name="password_confirm" value="" class="input-text input-width-200" /></dd>
</dl>
</fieldset>
<dl class="form-item">
<dt><label for="password_now">{$aLang.settings_profile_password_current}:</label></dt>
<dd><input type="password" name="password_now" id="password_now" value="" class="input-text input-width-200" /></dd>
</dl>
<dl class="form-item">
<dt><label for="password">{$aLang.settings_profile_password_new}:</label></dt>
<dd><input type="password" id="password" name="password" value="" class="input-text input-width-200" /></dd>
</dl>
<dl class="form-item">
<dt><label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label></dt>
<dd><input type="password" id="password_confirm" name="password_confirm" value="" class="input-text input-width-200" /></dd>
</dl>
{hook run='form_settings_account_end'}

View file

@ -1,28 +1,31 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl' menu='settings'}
{include file='menu.settings.tpl'}
<small class="note note-header input-width-400">{$aLang.settings_invite_notice} "{$aLang.settings_invite_submit}"</small>
{hook run='settings_invite_begin'}
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_settings_invite_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<div class="wrapper-content">
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_settings_invite_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p>
{$aLang.settings_invite_available}: <strong>{if $oUserCurrent->isAdministrator()}{$aLang.settings_invite_many}{else}{$iCountInviteAvailable}{/if}</strong><br />
{$aLang.settings_invite_used}: <strong>{$iCountInviteUsed}</strong>
</p>
<p>
{$aLang.settings_invite_available}: <strong>{if $oUserCurrent->isAdministrator()}{$aLang.settings_invite_many}{else}{$iCountInviteAvailable}{/if}</strong><br />
{$aLang.settings_invite_used}: <strong>{$iCountInviteUsed}</strong>
</p>
<p><label for="invite_mail">{$aLang.settings_invite_mail}:</label>
<input type="text" name="invite_mail" id="invite_mail" class="input-text input-width-200" /><br />
<small class="note">{$aLang.settings_invite_mail_notice}</small></p>
<p><label for="invite_mail">{$aLang.settings_invite_mail}:</label>
<input type="text" name="invite_mail" id="invite_mail" class="input-text input-width-200" /><br />
<small class="note">{$aLang.settings_invite_mail_notice}</small></p>
{hook run='form_settings_invite_end'}
{hook run='form_settings_invite_end'}
<button name="submit_invite" class="button button-primary" />{$aLang.settings_invite_submit}</button>
</form>
<button name="submit_invite" class="button button-primary" />{$aLang.settings_invite_submit}</button>
</form>
</div>
{hook run='settings_invite_end'}

View file

@ -3,8 +3,6 @@
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}
@ -17,40 +15,60 @@
});
</script>
<p id="profile_user_field_template" style="display:none;" class="js-user-field-item">
<select name="profile_user_field_type[]" onchange="ls.userfield.changeFormField(this);">
{foreach from=$aUserFieldsContact item=oFieldAll}
<option value="{$oFieldAll->getId()}">{$oFieldAll->getTitle()|escape:'html'}</option>
{/foreach}
</select>
<input type="text" name="profile_user_field_value[]" value="" class="input-text input-width-200">
<a class="icon-remove" title="{$aLang.user_field_delete}" href="#" onclick="return ls.userfield.removeFormField(this);"></a>
</p>
{hook run='settings_profile_begin'}
<form method="post" enctype="multipart/form-data" class="form-profile">
{hook run='form_settings_profile_begin'}
<div class="wrapper-content">
<p id="profile_user_field_template" style="display:none;" class="js-user-field-item">
<select name="profile_user_field_type[]" onchange="ls.userfield.changeFormField(this);">
{foreach from=$aUserFieldsContact item=oFieldAll}
<option value="{$oFieldAll->getId()}">{$oFieldAll->getTitle()|escape:'html'}</option>
{/foreach}
</select>
<input type="text" name="profile_user_field_value[]" value="" class="input-text input-width-200">
<a class="icon-remove" title="{$aLang.user_field_delete}" href="#" onclick="return ls.userfield.removeFormField(this);"></a>
</p>
<div class="avatar-change">
<div class="avatar"><img src="{$oUserCurrent->getProfileAvatarPath(100)}" id="avatar-img" /></div>
<div>
<a href="#" id="avatar-upload" class="link-dotted">{if $oUserCurrent->getProfileAvatar()}{$aLang.settings_profile_avatar_change}{else}{$aLang.settings_profile_avatar_upload}{/if}</a><br />
<a href="#" id="avatar-remove" class="link-dotted" onclick="return ls.user.removeAvatar();" style="{if !$oUserCurrent->getProfileAvatar()}display:none;{/if}">{$aLang.settings_profile_avatar_delete}</a>
</div>
<div id="avatar-resize" class="modal">
<header class="modal-header">
<h3>{$aLang.uploadimg}</h3>
</header>
<div class="modal-content">
<p><img src="" alt="" id="avatar-resize-original-img"></p>
<button class="button button-primary" onclick="return ls.user.resizeAvatar();">{$aLang.settings_profile_avatar_resize_apply}</button>
<button class="button" onclick="return ls.user.cancelAvatar();">{$aLang.settings_profile_avatar_resize_cancel}</button>
</div>
</div>
</div>
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}">
<fieldset>
<legend>{$aLang.settings_profile_section_base}</legend>
{hook run='form_settings_profile_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}">
<dl class="form-item">
<dt><label for="profile_name">{$aLang.settings_profile_name}:</label></dt>
<dd>
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="input-text input-width-300">
<small class="note">{$aLang.settings_profile_name_notice}</small>
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="input-text input-width-250">
</dd>
</dl>
<dl class="form-item">
<dt><label for="profile_sex">{$aLang.settings_profile_sex}:</label></dt>
<dd>
<select name="profile_sex" id="profile_sex" class="input-width-300">
<select name="profile_sex" id="profile_sex" class="input-width-250">
<option value="man" {if $oUserCurrent->getProfileSex()=='man'}selected{/if}>{$aLang.settings_profile_sex_man}</option>
<option value="woman" {if $oUserCurrent->getProfileSex()=='woman'}selected{/if}>{$aLang.settings_profile_sex_woman}</option>
<option value="other" {if $oUserCurrent->getProfileSex()=='other'}selected{/if}>{$aLang.settings_profile_sex_other}</option>
@ -61,21 +79,21 @@
<dl class="form-item">
<dt><label for="">{$aLang.settings_profile_birthday}:</label></dt>
<dd>
<select name="profile_birthday_day">
<select name="profile_birthday_day" style="width: 58px; margin-right: 4px;">
<option value="">{$aLang.date_day}</option>
{section name=date_day start=1 loop=32 step=1}
<option value="{$smarty.section.date_day.index}" {if $smarty.section.date_day.index==$oUserCurrent->getProfileBirthday()|date_format:"%d"}selected{/if}>{$smarty.section.date_day.index}</option>
{/section}
</select>
<select name="profile_birthday_month" style="width: 165px">
<select name="profile_birthday_month" style="width: 103px; margin-right: 4px;">
<option value="">{$aLang.date_month}</option>
{section name=date_month start=1 loop=13 step=1}
<option value="{$smarty.section.date_month.index}" {if $smarty.section.date_month.index==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.month_array[$smarty.section.date_month.index][0]}</option>
{/section}
</select>
<select name="profile_birthday_year">
<select name="profile_birthday_year" style="width: 72px">
<option value="">{$aLang.date_year}</option>
{section name=date_year loop=$smarty.now|date_format:"%Y"+1 max=$smarty.now|date_format:"%Y"-2012+130 step=-1}
<option value="{$smarty.section.date_year.index}" {if $smarty.section.date_year.index==$oUserCurrent->getProfileBirthday()|date_format:"%Y"}selected{/if}>{$smarty.section.date_year.index}</option>
@ -83,49 +101,49 @@
</select>
</dd>
</dl>
<dl class="form-item js-geo-select">
<dt><label for="">{$aLang.profile_place}:</label></dt>
<dd>
<p>
<select class="js-geo-country input-width-300" name="geo_country">
<option value="">{$aLang.geo_select_country}</option>
{if $aGeoCountries}
{foreach from=$aGeoCountries item=oGeoCountry}
<option value="{$oGeoCountry->getId()}" {if $oGeoTarget and $oGeoTarget->getCountryId()==$oGeoCountry->getId()}selected="selected"{/if}>{$oGeoCountry->getName()}</option>
{/foreach}
{/if}
</select>
</p>
<p>
<select class="js-geo-region input-width-300" name="geo_region" {if !$oGeoTarget or !$oGeoTarget->getCountryId()}style="display:none;"{/if}>
<option value="">{$aLang.geo_select_region}</option>
{if $aGeoRegions}
{foreach from=$aGeoRegions item=oGeoRegion}
<option value="{$oGeoRegion->getId()}" {if $oGeoTarget and $oGeoTarget->getRegionId()==$oGeoRegion->getId()}selected="selected"{/if}>{$oGeoRegion->getName()}</option>
{/foreach}
{/if}
</select>
</p>
<select class="js-geo-city input-width-300" name="geo_city" {if !$oGeoTarget or !$oGeoTarget->getRegionId()}style="display:none;"{/if}>
<option value="">{$aLang.geo_select_city}</option>
{if $aGeoCities}
{foreach from=$aGeoCities item=oGeoCity}
<option value="{$oGeoCity->getId()}" {if $oGeoTarget and $oGeoTarget->getCityId()==$oGeoCity->getId()}selected="selected"{/if}>{$oGeoCity->getName()}</option>
{/foreach}
{/if}
</select>
</dd>
</dl>
<dl class="form-item">
<dt><label for="profile_about">{$aLang.settings_profile_about}:</label></dt>
<dd><textarea name="profile_about" id="profile_about" class="input-text input-width-300" rows="5">{$oUserCurrent->getProfileAbout()|escape:'html'}</textarea></dd>
</dl>
<br />
<label for="profile_about" style="margin-bottom: 7px">{$aLang.settings_profile_about}:</label>
<textarea name="profile_about" id="profile_about" class="input-text input-width-full" rows="7">{$oUserCurrent->getProfileAbout()|escape:'html'}</textarea>
<br />
<br />
<br />
<label for="" style="margin-bottom: 7px">{$aLang.profile_place}:</label>
<p style="margin-bottom: 15px">
<select class="js-geo-country input-width-200" name="geo_country">
<option value="">{$aLang.geo_select_country}</option>
{if $aGeoCountries}
{foreach from=$aGeoCountries item=oGeoCountry}
<option value="{$oGeoCountry->getId()}" {if $oGeoTarget and $oGeoTarget->getCountryId()==$oGeoCountry->getId()}selected="selected"{/if}>{$oGeoCountry->getName()}</option>
{/foreach}
{/if}
</select>
</p>
<p style="margin-bottom: 15px">
<select class="js-geo-region input-width-200" name="geo_region" {if !$oGeoTarget or !$oGeoTarget->getCountryId()}style="display:none;"{/if}>
<option value="">{$aLang.geo_select_region}</option>
{if $aGeoRegions}
{foreach from=$aGeoRegions item=oGeoRegion}
<option value="{$oGeoRegion->getId()}" {if $oGeoTarget and $oGeoTarget->getRegionId()==$oGeoRegion->getId()}selected="selected"{/if}>{$oGeoRegion->getName()}</option>
{/foreach}
{/if}
</select>
</p>
<p style="margin-bottom: 15px">
<select class="js-geo-city input-width-200" name="geo_city" {if !$oGeoTarget or !$oGeoTarget->getRegionId()}style="display:none;"{/if}>
<option value="">{$aLang.geo_select_city}</option>
{if $aGeoCities}
{foreach from=$aGeoCities item=oGeoCity}
<option value="{$oGeoCity->getId()}" {if $oGeoTarget and $oGeoTarget->getCityId()==$oGeoCity->getId()}selected="selected"{/if}>{$oGeoCity->getName()}</option>
{/foreach}
{/if}
</select>
</p>
{assign var="aUserFieldValues" value=$oUserCurrent->getUserFieldValues(false,'')}
{if count($aUserFieldValues)}
{foreach from=$aUserFieldValues item=oField}
@ -135,13 +153,12 @@
</dl>
{/foreach}
{/if}
</fieldset>
<fieldset>
<legend>{$aLang.settings_profile_section_contacts}</legend>
</div>
<div class="wrapper-content wrapper-content-dark">
<h3>{$aLang.settings_profile_section_contacts}</h3>
{assign var="aUserFieldContactValues" value=$oUserCurrent->getUserFieldValues(true,array('contact','social'))}
<div id="user-field-contact-contener">
@ -160,46 +177,28 @@
{if $aUserFieldsContact}
<a href="#" onclick="return ls.userfield.addFormField();">{$aLang.user_field_add}</a>
{/if}
</fieldset>
<script type="text/javascript">
jQuery(function($){
$('#avatar-upload').file({ name:'avatar' }).choose(function(e, input) {
ls.user.uploadAvatar(null,input);
});
});
</script>
<div class="avatar-change">
<img src="{$oUserCurrent->getProfileAvatarPath(100)}" id="avatar-img" />
<div>
<a href="#" id="avatar-upload" class="link-dotted">{if $oUserCurrent->getProfileAvatar()}{$aLang.settings_profile_avatar_change}{else}{$aLang.settings_profile_avatar_upload}{/if}</a><br />
<a href="#" id="avatar-remove" class="link-dotted" onclick="return ls.user.removeAvatar();" style="{if !$oUserCurrent->getProfileAvatar()}display:none;{/if}">{$aLang.settings_profile_avatar_delete}</a>
</div>
<div id="avatar-resize" class="modal">
<header class="modal-header">
<h3>{$aLang.uploadimg}</h3>
</header>
<div class="modal-content">
<p><img src="" alt="" id="avatar-resize-original-img"></p>
<button class="button button-primary" onclick="return ls.user.resizeAvatar();">{$aLang.settings_profile_avatar_resize_apply}</button>
<button class="button" onclick="return ls.user.cancelAvatar();">{$aLang.settings_profile_avatar_resize_cancel}</button>
</div>
</div>
</div>
{hook run='form_settings_profile_end'}
<button name="submit_profile_edit" class="button button-primary" />{$aLang.settings_profile_submit}</button>
<div class="wrapper-content">
<script type="text/javascript">
jQuery(function($){
$('#avatar-upload').file({ name:'avatar' }).choose(function(e, input) {
ls.user.uploadAvatar(null,input);
});
});
</script>
{hook run='form_settings_profile_end'}
<button name="submit_profile_edit" class="button button-primary" />{$aLang.settings_profile_submit}</button>
</div>
</form>
{hook run='settings_profile_end'}
{include file='footer.tpl'}

View file

@ -2,32 +2,26 @@
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.settings_menu}</h3>
{include file='menu.settings.tpl'}
{hook run='settings_tuning_begin'}
<form action="{router page='settings'}tuning/" method="POST" enctype="multipart/form-data">
<form action="{router page='settings'}tuning/" method="POST" enctype="multipart/form-data" class="wrapper-content">
{hook run='form_settings_tuning_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<fieldset>
<legend>{$aLang.settings_tuning_notice}</legend>
<h3>{$aLang.settings_tuning_notice}</h3>
<label><input {if $oUserCurrent->getSettingsNoticeNewTopic()}checked{/if} type="checkbox" id="settings_notice_new_topic" name="settings_notice_new_topic" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_topic}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewComment()}checked{/if} type="checkbox" id="settings_notice_new_comment" name="settings_notice_new_comment" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_comment}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewTalk()}checked{/if} type="checkbox" id="settings_notice_new_talk" name="settings_notice_new_talk" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_talk}</label>
<label><input {if $oUserCurrent->getSettingsNoticeReplyComment()}checked{/if} type="checkbox" id="settings_notice_reply_comment" name="settings_notice_reply_comment" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_reply_comment}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_friend}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewTopic()}checked{/if} type="checkbox" id="settings_notice_new_topic" name="settings_notice_new_topic" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_topic}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewComment()}checked{/if} type="checkbox" id="settings_notice_new_comment" name="settings_notice_new_comment" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_comment}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewTalk()}checked{/if} type="checkbox" id="settings_notice_new_talk" name="settings_notice_new_talk" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_talk}</label>
<label><input {if $oUserCurrent->getSettingsNoticeReplyComment()}checked{/if} type="checkbox" id="settings_notice_reply_comment" name="settings_notice_reply_comment" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_reply_comment}</label>
<label><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="input-checkbox" /> {$aLang.settings_tuning_notice_new_friend}</label>
</fieldset>
{hook run='form_settings_tuning_end'}
<br />
<button name="submit_settings_tuning" class="button button-primary">{$aLang.settings_profile_submit}</button>
</form>

View file

@ -1,6 +1,8 @@
{assign var="noSidebar" value=true}
{include file='header.tpl' menu="stream"}
<h2 class="page-header">{$aLang.stream_menu}</h2>
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}

View file

@ -3,9 +3,10 @@
{assign var=oTarget value=$oStreamEvent->getTarget()}
<li class="stream-item-type-{$oStreamEvent->getEventType()}">
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><img src="{$oStreamEvent->getUser()->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<span class="date" title="{date_format date=$oStreamEvent->getDateAdded()}">{date_format date=$oStreamEvent->getDateAdded() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</span>
<p class="info"><a href="{$oStreamEvent->getUser()->getUserWebPath()}"><strong>{$oStreamEvent->getUser()->getLogin()}</strong></a> ·
<span class="date" title="{date_format date=$oStreamEvent->getDateAdded()}">{date_format date=$oStreamEvent->getDateAdded() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</span></p>
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><strong>{$oStreamEvent->getUser()->getLogin()}</strong></a>
{if $oStreamEvent->getEventType() == 'add_topic'}
{$aLang.stream_list_event_add_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>

View file

@ -1,5 +1,7 @@
{include file='header.tpl' menu="stream"}
<h2 class="page-header">{$aLang.stream_menu}</h2>
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}

View file

@ -1,7 +1,6 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}

View file

@ -1,32 +1,25 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
<section class="block">
<header class="block-header">
<h3>{$aLang.talk_blacklist_title}</h3>
</header>
<div class="talk-blacklist-form">
<h3>{$aLang.talk_blacklist_title}</h3>
<form onsubmit="return ls.talk.addToBlackList();">
<input type="text" id="talk_blacklist_add" name="add" placeholder="{$aLang.talk_balcklist_add_label}" class="input-text input-width-full autocomplete-users-sep" />
</form>
</div>
<div class="block-content">
<form onsubmit="return ls.talk.addToBlackList();">
<p><label for="talk_blacklist_add">{$aLang.talk_balcklist_add_label}:</label>
<input type="text" id="talk_blacklist_add" name="add" class="input-text input-width-full autocomplete-users-sep" /></p>
</form>
<div id="black_list_block">
{if $aUsersBlacklist}
<ul class="list" id="black_list">
{foreach from=$aUsersBlacklist item=oUser}
<li id="blacklist_item_{$oUser->getId()}_area"><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" id="blacklist_item_{$oUser->getId()}" class="delete">{$aLang.blog_delete}</a></li>
{/foreach}
</ul>
{/if}
</div>
</div>
</section>
<div id="black_list_block">
{if $aUsersBlacklist}
<ul class="list" id="black_list">
{foreach from=$aUsersBlacklist item=oUser}
<li id="blacklist_item_{$oUser->getId()}_area"><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" id="blacklist_item_{$oUser->getId()}" class="delete">{$aLang.blog_delete}</a></li>
{/foreach}
</ul>
{/if}
</div>
{include file='footer.tpl'}

View file

@ -1,7 +1,6 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}

View file

@ -1,25 +1,22 @@
<section class="block block-type-foldable block-type-talk-search">
<header class="block-header">
<h3><a href="#" class="link-dotted" onclick="jQuery('#block_talk_search_content').toggle(); return false;">{$aLang.talk_filter_title}</a></h3>
<div class="talk-search" id="block_talk_search">
<header>
<button name="submit_talk_read" onclick="return (jQuery('.form_talks_checkbox:checked').size() == 0)?false:true;" class="button">{$aLang.talk_inbox_make_read}</button>
<button name="submit_talk_del" onclick="return (jQuery('.form_talks_checkbox:checked').size() == 0)?false:confirm('{$aLang.talk_inbox_delete_confirm}');" class="button">{$aLang.talk_inbox_delete}</button>
<a href="#" class="link-dotted close" onclick="ls.talk.toggleSearchForm(); return false;">{$aLang.talk_filter_title}</a>
</header>
<div class="block-content" id="block_talk_search_content" {if $_aRequest.submit_talk_filter}style="display:block;" {/if}>
<div class="talk-search-content" id="block_talk_search_content" {if $_aRequest.submit_talk_filter}style="display:block;" {/if}>
<form action="{router page='talk'}" method="GET" name="talk_filter_form">
<p><label for="talk_filter_sender">{$aLang.talk_filter_label_sender}:</label>
<input type="text" id="talk_filter_sender" name="sender" value="{$_aRequest.sender}" class="input-text input-width-full" />
<small class="note">{$aLang.talk_filter_notice_sender}</small></p>
<p><input type="text" id="talk_filter_sender" name="sender" value="{$_aRequest.sender}" placeholder="{$aLang.talk_filter_label_sender}" class="input-text input-width-250" /></p>
<p><label for="talk_filter_keyword">{$aLang.talk_filter_label_keyword}:</label>
<input type="text" id="talk_filter_keyword" name="keyword" value="{$_aRequest.keyword}" class="input-text input-width-full" />
<small class="note">{$aLang.talk_filter_notice_keyword}</small></p>
<p><input type="text" id="talk_filter_keyword" name="keyword" value="{$_aRequest.keyword}" placeholder="{$aLang.talk_filter_label_keyword}" class="input-text input-width-250" /></p>
<p><label for="talk_filter_keyword_text">{$aLang.talk_filter_label_keyword_text}:</label>
<input type="text" id="talk_filter_keyword_text" name="keyword_text" value="{$_aRequest.keyword_text}" class="input-text input-width-full" />
<small class="note">{$aLang.talk_filter_notice_keyword}</small></p>
<p><input type="text" id="talk_filter_keyword_text" name="keyword_text" value="{$_aRequest.keyword_text}" placeholder="{$aLang.talk_filter_label_keyword_text}" class="input-text input-width-250" /></p>
<p><label for="talk_filter_start">{$aLang.talk_filter_label_date}:</label>
<input type="text" id="talk_filter_start" name="start" value="{$_aRequest.start}" style="width: 43%" class="input-text date-picker" readonly="readonly" /> &mdash;
<input type="text" id="talk_filter_end" name="end" value="{$_aRequest.end}" style="width: 43%" class="input-text date-picker" readonly="readonly" /></p>
<input type="text" id="talk_filter_start" name="start" value="{$_aRequest.start}" class="input-text input-text input-width-250 date-picker" readonly="readonly" /> &mdash;
<input type="text" id="talk_filter_end" name="end" value="{$_aRequest.end}" class="input-text input-text input-width-250 date-picker" readonly="readonly" /></p>
<p><label for="talk_filter_favourite"><input type="checkbox" {if $_aRequest.favourite}checked="checked" {/if} class="input-checkbox" name="favourite" value="1" id="talk_filter_favourite" />
{$aLang.talk_filter_label_favourite}</label></p>
@ -28,4 +25,4 @@
<input type="submit" name="" value="{$aLang.talk_filter_submit_clear}" class="button" onclick="return ls.talk.clearFilter();" />
</form>
</div>
</section>
</div>

View file

@ -1,12 +1,12 @@
<section class="block block-type-foldable block-type-talk-friends">
<header class="block-header">
<h3><a href="#" class="link-dotted" onclick="jQuery('#block_talk_friends_content').toggle(); return false;">{$aLang.block_friends}</a></h3>
<div class="talk-search talk-friends" id="block_talk_search">
<header>
<a href="#" class="link-dotted close" onclick="ls.talk.toggleSearchForm(); return false;">{$aLang.block_friends}</a>
</header>
<div class="block-content" id="block_talk_friends_content">
<div class="talk-search-content" id="block_talk_friends_content">
{if $aUsersFriend}
<ul class="list" id="friends">
<ul class="friend-list" id="friends">
{foreach from=$aUsersFriend item=oFriend}
<li>
<input id="talk_friend_{$oFriend->getId()}" type="checkbox" name="friend[{$oFriend->getId()}]" class="input-checkbox" />
@ -15,12 +15,12 @@
{/foreach}
</ul>
<footer>
<a href="#" id="friend_check_all">{$aLang.block_friends_check}</a> |
<a href="#" id="friend_uncheck_all">{$aLang.block_friends_uncheck}</a>
</footer>
<ul class="actions">
<li><a href="#" id="friend_check_all" class="link-dotted">{$aLang.block_friends_check}</a></li>
<li><a href="#" id="friend_uncheck_all" class="link-dotted">{$aLang.block_friends_uncheck}</a></li>
</ul>
{else}
<div class="notice-empty">{$aLang.block_friends_empty}</div>
{/if}
</div>
</section>
</div>

View file

@ -1,7 +1,6 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl' noShowSystemMessage=false}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
@ -11,9 +10,6 @@
<form action="{router page='talk'}" method="post" id="form_talks_list">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<button name="submit_talk_del" onclick="return (jQuery('.form_talks_checkbox:checked').size() == 0)?false:confirm('{$aLang.talk_inbox_delete_confirm}');" class="button">{$aLang.talk_inbox_delete}</button>
<button name="submit_talk_read" onclick="return (jQuery('.form_talks_checkbox:checked').size() == 0)?false:true;" class="button">{$aLang.talk_inbox_make_read}</button>
<br /><br />
<table class="table table-talk">
<thead>
<tr>

View file

@ -1,7 +1,6 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
{assign var="oUser" value=$oTalk->getUser()}
@ -11,39 +10,41 @@
<header class="topic-header">
<h1 class="topic-title">{$oTalk->getTitle()|escape:'html'}</h1>
<div class="topic-info">
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" width="32px" alt="avatar" class="avatar" /></a>
<p class="author-wrapper"><a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a>
<time datetime="{date_format date=$oTalk->getDate() format='c'}" pubdate>
{date_format date=$oTalk->getDate() format="j F Y, H:i"}
</time>
</p>
<p>
{$aLang.talk_speaker_title}:
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{assign var="oUserRecipient" value=$oTalkUser->getUser()}
{if $oUser->getId() != $oUserRecipient->getId()}
<a class="{if $oTalkUser->getUserActive() != $TALK_USER_ACTIVE}inactive{/if}" href="{$oUserRecipient->getUserWebPath()}">{$oUserRecipient->getLogin()}</a>{if !$smarty.foreach.users.last}, {/if}
{/if}
{/foreach}
&nbsp;&nbsp;&nbsp;<a href="#" class="link-dotted" onclick="jQuery('#talk_recipients').toggle(); return false;">{$aLang.talk_speaker_edit}</a>
</p>
</div>
</header>
{include file='actions/ActionTalk/speakers.tpl'}
<div class="topic-content text">
{$oTalk->getText()}
</div>
<div class="talk-search talk-recipients">
<header class="talk-recipients-header">
{$aLang.talk_speaker_title}:
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{assign var="oUserRecipient" value=$oTalkUser->getUser()}
<a class="{if $oTalkUser->getUserActive() != $TALK_USER_ACTIVE}inactive{/if}" href="{$oUserRecipient->getUserWebPath()}">{$oUserRecipient->getLogin()}</a>{if !$smarty.foreach.users.last}, {/if}
{/foreach}
&nbsp;&nbsp;&nbsp;<a href="#" class="link-dotted" onclick="ls.talk.toggleSearchForm(); return false;">{$aLang.talk_speaker_edit}</a>
</header>
{include file='actions/ActionTalk/speakers.tpl'}
</div>
<footer class="topic-footer">
<ul class="topic-info">
<li class="topic-info-author">
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
<a rel="author" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
<li class="topic-info-date">
<time datetime="{date_format date=$oTalk->getDateAdd() format='c'}" pubdate title="{date_format date=$oTalk->getDateAdd() format='j F Y, H:i'}">
{date_format date=$oTalk->getDateAdd() format="j F Y, H:i"}
</time>
</li>
<li class="topic-info-favourite"><a href="#" onclick="return ls.favourite.toggle({$oTalk->getId()},this,'talk');" class="favourite {if $oTalk->getIsFavourite()}active{/if}"></a></li>
<li class="delete"><a href="{router page='talk'}delete/{$oTalk->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" onclick="return confirm('{$aLang.talk_inbox_delete_confirm}');" class="delete">{$aLang.delete}</a></li>
</ul>

View file

@ -1,11 +1,10 @@
<div class="talk-recipients" id="talk_recipients">
<div class="talk-search-content talk-recipients-content" id="talk_recipients">
<h3>{$aLang.talk_speaker_title}</h3>
{if $oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator()}
<form onsubmit="return ls.talk.addToTalk({$oTalk->getId()});">
<p><label for="talk_speaker_add">{$aLang.talk_speaker_add_label}:</label>
<input type="text" id="talk_speaker_add" name="add" class="input-text input-width-300 autocomplete-users-sep" /></p>
<p><input type="text" id="talk_speaker_add" name="add" placeholder="{$aLang.talk_speaker_add_label}" class="input-text input-width-300 autocomplete-users-sep" /></p>
<input type="hidden" id="talk_id" value="{$oTalk->getId()}" />
</form>
{/if}

View file

@ -1,10 +1,10 @@
<section class="block block-type-foldable block-type-favourite-topic">
<header class="block-header">
<h3><a href="#" class="link-dotted" onclick="jQuery('#block_favourite_topic_content').toggle(); return false;">{$aLang.topic_favourite_tags_block}</a></h3>
<section class="talk-search talk-friends">
<header>
<a href="#" class="link-dotted close" onclick="ls.talk.toggleSearchForm(); return false;">{$aLang.topic_favourite_tags_block}</a>
</header>
<div class="block-content" id="block_favourite_topic_content">
<div class="talk-search-content" id="block_favourite_topic_content">
<ul class="nav nav-pills">
<li class="active js-block-favourite-topic-tags-item" data-type="all"><a href="#">{$aLang.topic_favourite_tags_block_all}</a></li>
<li class="js-block-favourite-topic-tags-item" data-type="user"><a href="#">{$aLang.topic_favourite_tags_block_user}</a></li>

View file

@ -5,7 +5,7 @@
<th class="cell-name"><a href="{$sBlogsRootPage}?order=blog_title&order_way={if $sBlogOrder=='blog_title'}{$sBlogOrderWayNext}{else}{$sBlogOrderWay}{/if}" {if $sBlogOrder=='blog_title'}class="{$sBlogOrderWay}"{/if}>{$aLang.blogs_title}</a></th>
{if $oUserCurrent}
<th class="cell-join">{$aLang.blog_join_leave}</th>
<th class="cell-join"></th>
{/if}
<th class="cell-readers">
@ -37,31 +37,33 @@
<tr>
<td class="cell-name">
<a href="{$oBlog->getUrlFull()}">
<img src="{$oBlog->getAvatarPath(48)}" width="48" height="48" alt="avatar" class="avatar" />
</a>
<p>
<a href="#" onclick="return ls.infobox.showInfoBlog(this,{$oBlog->getId()});" class="icon-question-sign"></a>
<a href="{$oBlog->getUrlFull()}" class="blog-name">{$oBlog->getTitle()|escape:'html'}</a>
{if $oBlog->getType() == 'close'}
<i title="{$aLang.blog_closed}" class="icon-lock"></i>
<i title="{$aLang.blog_closed}" class="icon-synio-topic-private"></i>
{/if}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>
<a href="#" onclick="return ls.infobox.showInfoBlog(this,{$oBlog->getId()});" class="icon-question-sign"></a>
</p>
<span class="user-avatar">
<a href="{$oUserCurrent->getUserWebPath()}"><img src="{$oUserCurrent->getProfileAvatarPath(24)}" alt="avatar" /></a>
<a href="{$oUserCurrent->getUserWebPath()}">{$oUserCurrent->getLogin()}</a>
</span>
</td>
{if $oUserCurrent}
<td class="cell-join">
{if $oUserCurrent->getId() != $oBlog->getOwnerId() and $oBlog->getType() == 'open'}
<a href="#" onclick="ls.blog.toggleJoin(this, {$oBlog->getId()}); return false;" class="link-dotted">
{if $oBlog->getUserIsJoin()}
{$aLang.blog_leave}
{else}
{$aLang.blog_join}
{/if}
</a>
<button onclick="ls.blog.toggleJoin(this, {$oBlog->getId()}); return false;" class="button button-action button-action-join {if $oBlog->getUserIsJoin()}active{/if}"><i class="icon-synio-join"></i>
{*<span>
{if $oBlog->getUserIsJoin()}
{$aLang.blog_leave}
{else}
{$aLang.blog_join}
{/if}
</span>*}
</button>
{else}
&mdash;
{/if}

View file

@ -18,18 +18,12 @@
<a name="comment{$oComment->getId()}"></a>
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" alt="avatar" class="comment-avatar" /></a>
<div id="comment_content_id_{$oComment->getId()}" class="comment-content text">
{$oComment->getText()}
</div>
{if $oUserCurrent}
<ul class="comment-actions">
</ul>
{/if}
<ul class="comment-info">

View file

@ -6,23 +6,16 @@
<div class="comment-path">
<a href="{$oBlog->getUrlFull()}" class="blog-name">{$oBlog->getTitle()|escape:'html'}</a> &rarr;
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
<a href="{$oTopic->getUrl()}#comments">({$oTopic->getCountComment()})</a>
</div>
<section class="comment">
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" alt="avatar" class="comment-avatar" /></a>
<ul class="comment-info clearfix">
<li class="comment-author"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
<ul class="comment-info">
<li class="comment-author">
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" class="comment-avatar" /></a>
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
<li class="comment-date">
<a href="{if $oConfig->GetValue('module.comment.nested_per_page')}{router page='comments'}{else}{$oTopic->getUrl()}#comment{/if}{$oComment->getId()}" class="link-dotted" title="{$aLang.comment_url_notice}">
<time datetime="{date_format date=$oComment->getDate() format='c'}">{date_format date=$oComment->getDate() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time>
</a>
<time datetime="{date_format date=$oComment->getDate() format='c'}">{date_format date=$oComment->getDate() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time>
</li>
{if $oUserCurrent and !$bNoCommentFavourites}
<li class="comment-favourite">
@ -30,6 +23,11 @@
<span class="favourite-count" id="fav_count_comment_{$oComment->getId()}">{if $oComment->getCountFavourite() > 0}{$oComment->getCountFavourite()}{/if}</span>
</li>
{/if}
<li class="comment-link">
<a href="{if $oConfig->GetValue('module.comment.nested_per_page')}{router page='comments'}{else}#comment{/if}{$oComment->getId()}" title="{$aLang.comment_url_notice}">
<i class="icon-synio-link"></i>
</a>
</li>
<li id="vote_area_comment_{$oComment->getId()}" class="vote
{if $oComment->getRating() > 0}
vote-count-positive
@ -48,6 +46,13 @@
{$oComment->getText()}
{/if}
</div>
<div class="comment-path">
<a href="{$oBlog->getUrlFull()}" class="blog-name">{$oBlog->getTitle()|escape:'html'}</a> &rarr;
<a href="{$oTopic->getUrl()}" class="comment-path-topic">{$oTopic->getTitle()|escape:'html'}</a>
<a href="{$oTopic->getUrl()}#comments" class="comment-path-comments">{$oTopic->getCountComment()}</a>
</div>
</section>
{/foreach}
</div>

View file

@ -18,19 +18,22 @@ a { color: #3f8ad7; }
a:hover { color: #f00; }
a.link-dashed { border-bottom: 1px dashed #5055b2; text-decoration: none; }
a.link-dashed:hover { border-color: #06e; }
a.link-dashed:hover { border-color: #f00; }
a.link-dotted { text-decoration: none; border-bottom: 1px dotted #5055b2; }
a.link-dotted:hover { border-color: #06e; }
a.link-dotted:hover { border-color: #f00; }
/* Заголовки
---------------------------------------------------- */
h2.page-header { color: #333; font-size: 27px; line-height: 1em; font-weight: bold; margin-bottom: 20px; }
h2.page-header { color: #333; font-size: 27px; line-height: 1em; font-weight: normal; margin-bottom: 20px; }
h2.page-header span { color: #aaa; }
h2.page-header i { vertical-align: middle; }
h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-bottom: 5px; font-size: 14px; font-weight: bold; }
h2.header-table { margin-bottom: 10px; font-size: 22px; font-weight: normal; }
h2.header-table a { color: #275ec2; }
h2.header-table span { color: #949aa1; }
@ -130,15 +133,28 @@ h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-botto
/* Stream
---------------------------------------------------- */
.stream-get-more { display: block; text-align: center; padding: 12px 0; background: #fafafa; color: #aaa; border-top: 1px solid #eee; text-decoration: none; }
.stream-get-more:hover { background: #f0f7fd; }
.stream-get-more {
display: block; text-align: center; padding: 12px 0; color: #258fa7; text-decoration: none;
background: #eefbfc;
background: -moz-linear-gradient(top, #eefbfc 0%, #d3edf8 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eefbfc), color-stop(100%,#d3edf8));
background: -webkit-linear-gradient(top, #eefbfc 0%,#d3edf8 100%);
background: -o-linear-gradient(top, #eefbfc 0%,#d3edf8 100%);
background: -ms-linear-gradient(top, #eefbfc 0%,#d3edf8 100%);
background: linear-gradient(top, #eefbfc 0%,#d3edf8 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefbfc', endColorstr='#d3edf8',GradientType=0 );
}
.stream-get-more:hover { background: #eefbfc; color: #258fa7; }
.stream_loading { background: #f7f7f7 url(../images/loader.gif) no-repeat center; }
.stream-comment-preview { padding: 5px 10px; background: #f3f3f3; margin-top: 5px; }
.stream-comment-preview { padding: 5px 10px 6px; background: #fefef1; color: #363636; margin-top: 10px; font-size: 11px; border-radius: 3px; box-shadow: 0 2px 4px #e8e8c0 inset; }
.stream-list { margin: 0 0 20px; }
.stream-list li { margin-bottom: 5px; min-height: 48px; _height: 48px; background: #fafafa; padding: 10px 15px 10px 70px; position: relative; }
.stream-list li .avatar { position: absolute; top: 10px; left: 10px; }
.stream-list li .date { display: block; color: #999; }
.stream-list li { margin-bottom: 23px; min-height: 48px; _height: 48px; border-bottom: 1px solid #e7ebed; padding: 0 0 20px 60px; position: relative; }
.stream-list li:last-child { border: none; }
.stream-list li .info { color: #b9c2c2; font-size: 11px; line-height: 1em; margin-bottom: 8px; }
.stream-list li .info a { color: #275ec2; }
.stream-list li .info .date { color: #818189; }
.stream-list li .avatar { position: absolute; top: 0; left: 0; }
.stream-list li a { text-decoration: none; }
.stream-list li a:hover { text-decoration: underline; }
@ -156,6 +172,24 @@ h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-botto
/* Talk
---------------------------------------------------- */
.talk-search { padding: 15px; background: #f8fbfe; border-radius: 5px; margin-bottom: 35px; }
.talk-search header { position: relative; min-height: 27px; }
.talk-search header .close { position: absolute; top: 3px; right: 0; font-size: 11px; cursor: pointer; }
.talk-search .talk-search-content { display: none; padding-top: 15px; border-top: 1px solid #fff; }
.talk-search .talk-search-content p { margin-bottom: 25px; }
.talk-search.opened header { border-bottom: 1px solid #e8eef5; padding-bottom: 15px; }
.talk-search.opened .talk-search-content { display: block; }
.talk-search.talk-friends header .close { left: 0; right: auto; }
.talk-search.talk-friends .friend-list { margin-bottom: 15px; font-weight: bold; }
.talk-search.talk-friends .friend-list li { margin-bottom: 5px; }
.talk-blacklist-form { padding: 15px; background: #f8fbfe; border-radius: 5px; margin-bottom: 15px; }
/* Misc
---------------------------------------------------- */
.avatar-edit { margin-bottom: 15px; }

View file

@ -44,17 +44,23 @@
.block.block-type-profile .status { position: absolute; top: 5px; left: 5px; padding: 0 5px; border-radius: 2px; font-size: 11px; }
.block.block-type-profile .status.status-online { background: #B7BC1C; color: #fff; }
.block.block-type-profile .status.status-offline { background: #333; color: #fff; opacity: .5; filter: alpha(opacity=50); }
.block.block-type-profile .upload-photo { padding: 7px 10px 10px; background: #f7f7f7; }
.block.block-type-profile .upload-photo { padding: 10px 30px 15px 30px; background: #f8fbfe; font-size: 11px; }
.block.block-type-profile .upload-photo a { color: #727a90; border-color: #727a90; }
.block.block-type-profile-note { background: #F1F7AF; border: 1px solid #E1EA83; padding: 15px; }
.block.block-type-profile-note p { margin-bottom: 10px; }
.block.block-type-profile-note .actions { margin-bottom: 0; }
.block.block-type-profile-note { border: 2px solid #ffe25d; padding: 15px; border-radius: 5px; }
.block.block-type-profile-note p { margin-bottom: 10px; }
.block.block-type-profile-note .actions { margin-bottom: 0; font-size: 11px; }
.block.block-type-profile-note .actions a { color: #275ec2; border-color: #275ec2; }
.block.block-type-profile-note .actions a:hover { color: #f00; border-color: #f00; }
.block.block-type-profile-nav { padding: 0; background: none; }
.block.block-type-profile-nav { padding: 0; background: none; border: none; }
.block.block-type-profile-actions .block-content { padding: 10px 15px; }
.block.block-type-profile-actions ul li { margin-bottom: 5px; }
.block.block-type-profile-actions { border: none; }
.block.block-type-profile-actions .block-content { padding: 0 0 0 30px; }
.block.block-type-profile-actions ul li { margin-bottom: 5px; font-size: 11px; }
.block.block-type-profile-actions ul li:last-child { margin-bottom: 0; }
.block.block-type-profile-actions ul li a { color: #727a90; }
.block.block-type-profile-actions ul li a:hover { color: #f00; }
.block.block-type-profile-actions ul li a.followed { color: #f00; }

View file

@ -15,7 +15,7 @@
.button {
display: inline-block;
padding: 3px 15px 5px;
padding: 3px 10px 5px;
text-align: center;
border: 1px solid #dfe3e8;
@ -96,4 +96,42 @@
/* Button Small */
.button.button-small { font-size: 11px; padding: 1px 7px 3px; }
.button.button-small { font-size: 11px; padding: 1px 7px 3px; }
/* Button Action */
.button.button-action {
border: none;
padding: 4px 4px 3px;
background: #c8f5ff;
background: -moz-linear-gradient(top, #c8f5ff 0%, #88c4ea 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#c8f5ff), color-stop(100%,#88c4ea));
background: -webkit-linear-gradient(top, #c8f5ff 0%,#88c4ea 100%);
background: -o-linear-gradient(top, #c8f5ff 0%,#88c4ea 100%);
background: -ms-linear-gradient(top, #c8f5ff 0%,#88c4ea 100%);
background: linear-gradient(top, #c8f5ff 0%,#88c4ea 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c8f5ff', endColorstr='#88c4ea',GradientType=0 );
}
.button.button-action span { display: none; }
.button.button-action:hover span { display: inline; padding: 0 5px 0 5px; position: relative; top: -2px; color: #fff; }
.button.button-action.active,
.button.button-action:hover {
border: 1px solid #2770e8;
box-shadow: 0 -1px 0 #128af3 inset, 0 2px 2px #ddd;
color: #fff;
padding: 3px 3px 2px;
background: #228dfa;
background: -moz-linear-gradient(top, #228dfa 0%, #0362eb 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#228dfa), color-stop(100%,#0362eb));
background: -webkit-linear-gradient(top, #228dfa 0%,#0362eb 100%);
background: -o-linear-gradient(top, #228dfa 0%,#0362eb 100%);
background: -ms-linear-gradient(top, #228dfa 0%,#0362eb 100%);
background: linear-gradient(top, #228dfa 0%,#0362eb 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#228dfa', endColorstr='#0362eb',GradientType=0 );
}
.button.button-action.button-action-add-friend:hover i { background-position: -147px -39px; }
.button.button-action.button-action-send-message:hover i { background-position: -163px -39px; }
.button.button-action.button-action-join.active i,
.button.button-action.button-action-join:hover i { background-position: -179px -39px; }

View file

@ -17,18 +17,23 @@
.comment-preview { font-size: 13px; line-height: 18px; }
/* Стили для списка комментариев на странице http://ваш_сайт/comments/ */
.comments.comment-list .comment { margin-bottom: 15px; }
.comments.comment-list .comment-path { background: #eee; padding: 5px 10px 6px; border-top: 1px solid #ddd; }
.comments.comment-list .comment-path .blog-name { color: #777; }
/* Комментарий */
.comment { min-height: 48px; margin-bottom: 10px; padding: 10px 0 0 40px; position: relative; }
.comment .deleted { padding: 5px 10px; color: #777; background: #f4f4f4; }
.comment .comment-avatar { position: absolute; top: 10px; left: 0; width: 30px; height: 30px; }
/* Стили для списка комментариев на странице http://ваш_сайт/comments/ */
.comments.comment-list .comment { margin-bottom: 50px; padding-left: 0; }
.comments.comment-list .comment .comment-avatar { position: static; width: 16px; height: 16px; vertical-align: middle; }
.comments.comment-list .comment .comment-content { margin-bottom: 5px; }
.comments.comment-list .comment .comment-info li.vote .vote-count { margin-right: 0; }
.comments.comment-list .comment-path { font-size: 11px; color: #a2b6cd; }
.comments.comment-list .comment-path .blog-name,
.comments.comment-list .comment-path .comment-path-comments { color: #000; }
.comments.comment-list .comment-path .comment-path-topic { color: #275ec2; }
/* Типы комментариев
*
* deleted - удаленный комментарий

View file

@ -3,24 +3,103 @@
------------------------------------------------------------------- */
/* Голосование
----------------------------------------------------
.vote .vote-count { display: inline-block; font-weight: bold; color: #aaa; font-size: 14px; }
.vote .vote-count a { text-decoration: none; color: #999; outline: none; }
---------------------------------------------------- */
.vote-topic { height: 24px; border-radius: 15px; overflow: hidden; font-size: 11px; float: left; }
.vote-topic .vote-item {
cursor: pointer;
overflow: hidden;
display: block;
float: left;
height: 22px;
border: 1px solid #dfe3e8;
background: #fbfbfc;
background: -moz-linear-gradient(top, #fbfbfc 0%, #f0f2f5 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fbfbfc), color-stop(100%,#f0f2f5));
background: -webkit-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: -o-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: -ms-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfbfc', endColorstr='#f0f2f5',GradientType=0 );
}
.vote-topic .vote-item i { width: 12px; height: 12px; display: block; background: url(../images/icons-synio.png) no-repeat; }
.vote-topic .vote-item span { display: block; border-right: 1px solid #fff; border-top: 1px solid #fefefe; }
.vote.vote-count-positive .vote-count { color: #390; }
.vote.vote-count-negative .vote-count { color: #f00; }
.vote-topic .vote-item.vote-up { border-radius: 0 15px 15px 0; }
.vote-topic .vote-item.vote-up i { background-position: -83px -23px; }
.vote-topic .vote-item.vote-up span { padding: 4px 9px 5px 6px; }
.vote .vote-up,
.vote .vote-down { display: inline-block; cursor: pointer; vertical-align: text-top; width: 14px; height: 14px; background: url(../images/icons.png) no-repeat; opacity: .3; filter: alpha(opacity=30); }
.vote .vote-up { background-position: -408px -96px; }
.vote .vote-down { background-position: -433px -96px; }
.vote .vote-up:hover { opacity: .8; filter: alpha(opacity=80); }
.vote .vote-down:hover { opacity: .8; filter: alpha(opacity=80); }
.vote-topic .vote-item.vote-count { color: #628fa5; line-height: 23px; }
.vote-topic .vote-item.vote-count i { width: 16px; background-position: -98px -24px; margin-top: 1px; }
.vote-topic .vote-item.vote-count span { padding: 4px 6px 6px 7px; }
.vote.voted.voted-up .vote-up { opacity: 1; filter: alpha(opacity=100); }
.vote.voted.voted-down .vote-down { opacity: 1; filter: alpha(opacity=100); }
.vote.voted.voted-up .vote-down:hover { opacity: .3; filter: alpha(opacity=30); }
.vote.voted.voted-down .vote-up:hover { opacity: .3; filter: alpha(opacity=30); }*/
.vote-topic .vote-item.vote-down { border-radius: 15px 0 0 15px; }
.vote-topic .vote-item.vote-down i { background-position: -69px -23px; }
.vote-topic .vote-item.vote-down span { padding: 4px 6px 5px 9px; }
.vote-topic.voted { box-shadow: 0 2px 3px rgba(0,0,0,.3) inset; }
.vote-topic.voted-down { padding: 0; }
.vote-topic.voted-down .vote-item { border: none; background: none; }
.vote-topic.voted-down .vote-item span { border: none; }
.vote-topic.voted-down .vote-item.vote-up { display: none; }
.vote-topic.voted-down .vote-item.vote-down { float: right; }
.vote-topic.voted-down .vote-item.vote-down span { padding: 6px 10px 5px 6px; }
.vote-topic.voted-down .vote-item.vote-count { color: #da4242; }
.vote-topic.voted-down .vote-item.vote-count span { padding: 0 3px 0 10px !important; }
.vote-topic.voted-up { padding: 0; }
.vote-topic.voted-up .vote-item { border: none; background: none; }
.vote-topic.voted-up .vote-item span { border: none; }
.vote-topic.voted-up .vote-item.vote-down { display: none; }
.vote-topic.voted-up .vote-item.vote-up span { padding: 6px 10px 5px 6px; }
.vote-topic.voted-up .vote-item.vote-count { float: left; color: #5fa459; }
.vote-topic.voted-up .vote-item.vote-count span { padding: 0 3px 0 10px !important; }
.vote-topic.voted-zero { padding: 0; }
.vote-topic.voted-zero .vote-item { border: none; background: none; }
.vote-topic.voted-zero .vote-item span { border: none; }
.vote-topic.voted-zero .vote-item.vote-down { display: none; }
.vote-topic.voted-zero .vote-item.vote-up { float: right; }
.vote-topic.voted-zero .vote-item.vote-up i { width: 16px; background-position: -98px -24px; margin-top: 1px; }
.vote-topic.voted-zero .vote-item.vote-up span { padding: 6px 10px 5px 6px; }
.vote-topic.voted-zero .vote-item.vote-count { float: left; color: #5fa459; }
.vote-topic.voted-zero .vote-item.vote-count span { padding: 0 3px 0 10px !important; }
.vote-topic.vote-count-positive.vote-nobuttons,
.vote-topic.vote-count-positive .vote-item.vote-count { box-shadow: 0 2px 3px #acd7a7 inset; }
.vote-topic.vote-count-negative.vote-nobuttons,
.vote-topic.vote-count-negative .vote-item.vote-count { box-shadow: 0 2px 3px #e95e5e inset; }
.vote-topic.vote-count-zero.vote-nobuttons,
.vote-topic.vote-count-zero .vote-item.vote-count { box-shadow: 0 2px 3px #b4d5e2 inset; }
.vote-topic.vote-nobuttons { }
.vote-topic.vote-nobuttons .vote-item { border: none; }
.vote-topic.vote-nobuttons .vote-item span { border: none; }
.vote-topic.vote-nobuttons .vote-item.vote-up,
.vote-topic.vote-nobuttons .vote-item.vote-down { display: none; }
.vote-topic.vote-nobuttons .vote-item.vote-count { border-radius: 15px; padding: 0 5px; box-shadow: none; }
.vote-topic.vote-count-positive .vote-item.vote-count { background: #def7dc; color: #5fa459; height: 24px; border: none; }
.vote-topic.vote-count-positive .vote-item.vote-count span { border: none; padding: 0 7px; }
.vote-topic.vote-count-positive.voted { background: #def7dc; }
.vote-topic.vote-count-positive.voted .vote-item.vote-count,
.vote-topic.vote-count-positive.vote-nobuttons .vote-item.vote-count { box-shadow: none; background: none; }
.vote-topic.vote-count-positive.vote-nobuttons { background: #def7dc; }
.vote-topic.vote-count-negative .vote-item.vote-count { background: #ff8a8a; color: #da4242; height: 24px; border: none; }
.vote-topic.vote-count-negative .vote-item.vote-count span { border: none; padding: 0 7px; }
.vote-topic.vote-count-negative.voted { background: #ff8a8a; }
.vote-topic.vote-count-negative.voted .vote-item.vote-count,
.vote-topic.vote-count-negative.vote-nobuttons .vote-item.vote-count { box-shadow: none; background: none; }
.vote-topic.vote-count-negative.vote-nobuttons { background: #ff8a8a; }
.vote-topic.vote-count-zero .vote-item.vote-count { background: #edf8fd; color: #628fa5; height: 24px; border: none; }
.vote-topic.vote-count-zero .vote-item.vote-count span { border: none; padding: 0 7px; }
.vote-topic.vote-count-zero.voted { background: #edf8fd; }
.vote-topic.vote-count-zero.voted .vote-item.vote-count,
.vote-topic.vote-count-zero.vote-nobuttons .vote-item.vote-count { box-shadow: none; background: none; }
.vote-topic.vote-count-zero.vote-nobuttons { background: #edf8fd; }
@ -30,6 +109,8 @@
.favourite.active { background-position: 0 -65px; }
.favourite-count { margin-left: 0; }
.follow { display: inline-block; width: 17px; height: 17px; vertical-align: text-top; background: url(../images/icons-synio.png) 0 -76px no-repeat; cursor: pointer; }
.follow.active { background-position: -17px -76px; }
/* Пагинация
@ -50,45 +131,44 @@
/* Actions
---------------------------------------------------- */
.actions { overflow: hidden; zoom: 1; margin-bottom: 10px; }
.actions { overflow: hidden; zoom: 1; margin-bottom: 10px; font-size: 11px; }
.actions li { float: left; margin-right: 10px; }
.actions li a { color: #D23232; }
.actions li a:hover { text-decoration: underline; }
.actions li a.link-dotted { border-color: #f00; }
.actions li a.link-dotted:hover { border-color: #06e; color: #06e; text-decoration: none; }
/* Toolbar
---------------------------------------------------- */
.toolbar { position: fixed; top: 138px; z-index: 20; }
.toolbar section { width: 34px; line-height: 14px; background: #fff; box-shadow: 0 0 5px rgba(0,0,0,.05); margin-bottom: 10px; border-radius: 5px; }
.toolbar section a { display: block; padding: 10px; }
.toolbar section a:hover { background: #fafafa; }
.toolbar section i { display: block; }
.toolbar section { width: 25px; padding: 8px; overflow: hidden; line-height: 14px; background: #fff; box-shadow: 0 0 5px rgba(0,0,0,.03); margin-bottom: 10px; border-radius: 10px; }
.toolbar section i { display: block; width: 25px; height: 25px; }
/* Admin button */
.toolbar .toolbar-admin a { display: block; }
.toolbar .toolbar-admin i { background: url(../images/icons-synio.png) -268px -23px no-repeat; }
/* Update comments button */
.toolbar .toolbar-update { }
.toolbar .toolbar-update .update-comments { padding: 9px; }
.toolbar .toolbar-update .update-comments i { display: block; width: 16px; height: 16px; background: url(../images/update.gif) no-repeat; }
.toolbar .toolbar-update .update-comments.active i { background-position: -16px 0; }
.toolbar .toolbar-update .new-comments { border-top: 1px solid #eee; padding: 10px 0; color: #333; text-align: center; font-size: 11px; }
.toolbar .toolbar-update .update-comments { }
.toolbar .toolbar-update .update-comments i { background: url(../images/update.gif) no-repeat; }
.toolbar .toolbar-update .update-comments.active i { background-position: -25px 0; }
.toolbar .toolbar-update .new-comments { display: block; padding: 5px 0 3px; font-size: 11px; color: #51983c; text-align: center; text-decoration: none; width: 25px; }
/* Topic navigation */
.toolbar .toolbar-topic a.toolbar-topic-prev { border-bottom: 1px solid #eee; }
.toolbar .toolbar-topic { width: 19px; padding: 11px; }
.toolbar .toolbar-topic a.toolbar-topic-prev i { display: block; width: 19px; height: 32px; background: url(../images/icons-synio.png) -230px -23px no-repeat; }
.toolbar .toolbar-topic a.toolbar-topic-prev i:hover { background-position: -249px -23px; }
.toolbar .toolbar-topic a.toolbar-topic-next i { display: block; width: 19px; height: 32px; background: url(../images/icons-synio.png) -230px -55px no-repeat; }
.toolbar .toolbar-topic a.toolbar-topic-next i:hover { background-position: -249px -55px; }
/* Scroll up */
.toolbar .toolbar-scrollup { display: none; }
.toolbar .toolbar-scrollup { display: none; }
.toolbar .toolbar-scrollup i { background: url(../images/icons-synio.png) -293px -23px no-repeat; }
/* Список пользователей
---------------------------------------------------- */
.user-list-avatar { overflow: hidden; zoom: 1; }
.user-list-avatar li { width: 64px; overflow: hidden; float: left; margin-right: 20px; margin-bottom: 15px; text-align: center; font-size: 11px; }
.user-list-avatar li { width: 48px; overflow: hidden; float: left; margin-right: 12px; margin-bottom: 12px; text-align: center; font-size: 11px; }
.user-list-avatar li img { margin-bottom: 2px; display: block; }
@ -100,12 +180,19 @@
.search .input-submit { border: none; width: 16px; height: 16px; position: absolute; top: 6px; right: 5px; opacity: .7; filter: alpha(opacity=70); }
.search .input-submit:hover { opacity: 1; filter: alpha(opacity=100); }
.search.search-item { margin-bottom: 15px; width: 100%; }
.search.search-item .input-text { width: 100%; padding-right: 5px; }
.search-item { margin-bottom: 35px; padding: 15px; background: #f8fbfe; }
.search-item .input-text { width: 100%; padding-right: 5px; }
.search-item .submit { width: 16px; height: 16px; background: url(../images/icons-synio.png) -115px -55px no-repeat; }
.search-abc { overflow: hidden; zoom: 1; padding: 10px 15px; background: #fafafa; margin-bottom: 15px; }
.search-abc li { float: left; margin-right: 10px; }
.search-abc li.active a { color: #333; border: none; }
.search-item.search-item-abc ul { overflow: hidden; zoom: 1; margin-top: 10px; }
.search-item.search-item-abc ul li { float: left; }
.search-item.search-item-abc ul li a { float: left; color: #727a90; text-decoration: none; padding: 1px 5px; border-radius: 3px; }
.search-item.search-item-abc ul li a span { border-bottom: 1px dotted #727a90; }
.search-item.search-item-abc ul li a:hover { background: #64ceff; color: #fff; }
.search-item.search-item-abc ul li a:hover span { border: none; }
.search-item.search-item-abc ul li.active a { color: #333; }
.search-item.search-item-abc ul li.active a:hover { color: #333; background: none; }
.search-item.search-item-abc ul li.active a span { border: none; }
.search-tags { margin-bottom: 15px; }
@ -162,6 +249,11 @@
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.wrapper { overflow: hidden; zoom: 1; }
.wrapper-content { padding: 20px 20px; background: #f8fbfe; }
.wrapper-content h3 { font-size: 15px; margin-bottom: 10px; font-family: Verdana, sans-serif; }
.wrapper-content.wrapper-content-dark { padding: 15px 15px; background: #f1f7fd; }
.word-wrap {
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
@ -185,4 +277,7 @@
.user, .ls-user { font-weight: bold; color: #333; }
.user .icon-user { margin-right: 3px; }
.user.inactive { color: #aaa; }
.user.inactive { color: #aaa; }
.user-avatar img { width: 16px; height: 16px; vertical-align: middle; margin-right: 1px; }
.user-avatar a { color: #000; font-size: 11px; }

View file

@ -5,7 +5,7 @@
.input-text {
width: 150px;
padding: 5px;
border: 1px solid #ddd;
border: 1px solid #c9c9c9;
box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
border-radius: 3px;
-moz-box-sizing: border-box;
@ -39,11 +39,14 @@ form .icon-question-sign { cursor: help; }
.captcha-image { vertical-align: top; }
dl.form-item { overflow: hidden; zoom: 1; margin-bottom: 20px; }
dl.form-item dt { float: left; width: 135px; padding-top: 4px; padding-right: 15px; overflow: hidden; }
dl.form-item dd { float: left; width: 300px; }
dl.form-item dt { float: left; width: 125px; padding-top: 4px; padding-right: 15px; overflow: hidden; }
dl.form-item dd { float: left; width: 250px; }
.form-profile { position: relative; }
.form-profile .avatar-change { position: absolute; top: 40px; right: 0; padding: 10px; background: #f7f7f7; font-size: 11px; }
.form-profile .avatar-change { position: absolute; top: 20px; right: 20px; font-size: 11px; }
.form-profile .avatar-change .avatar { width: 80px; border-radius: 5px; margin-bottom: 10px; background: #fff; padding: 5px; box-shadow: 0 0 5px rgba(0,0,0,.2); }
.form-profile .avatar-change img { width: 80px; vertical-align: top; }
.form-profile .avatar-change a { color: #727a90; border-color: #727a90; }
/* Placeholder */
input:-moz-placeholder { color: #aaa; }

View file

@ -203,6 +203,10 @@
.icon-synio-close { width: 16px; height: 16px; background-position: -131px -39px; }
.icon-synio-link { width: 11px; height: 11px; background-position: -11px -65px; }
.icon-synio-add-friend { width: 16px; height: 16px; background-position: -147px -23px; }
.icon-synio-send-message { width: 16px; height: 16px; background-position: -163px -23px; }
.icon-synio-join { width: 16px; height: 16px; background-position: -179px -23px; }

View file

@ -13,26 +13,25 @@
margin-left: -150px;
color: #333;
border: 1px solid #666;
background-color: #fff;
border-radius: 5px;
background-color: #fbfcfc;
border-radius: 10px;
box-shadow: 0 0 15px rgba(0,0,0,.5);
overflow: hidden;
}
.modal .close {
position: absolute;
top: 14px;
right: 14px;
width: 14px;
height: 14px;
background: url(../images/icons.png) -312px 0 no-repeat;
opacity: .3;
filter: alpha(opacity=30);
top: 7px;
right: 8px;
width: 16px;
height: 16px;
background: url(../images/icons-synio.png) no-repeat -131px -39px;
opacity: .8;
filter: alpha(opacity=80);
}
.modal .close:hover { opacity: 1; filter: alpha(opacity=100); }
.modal .modal-header { background: #fafafa; border-bottom: 1px solid #f7f7f7; padding: 5px 20px; }
.modal .modal-header { padding: 15px 30px 0; }
.modal .modal-header h3 { font-size: 20px; font-weight: bold; margin-right: 20px; }
.modal .modal-content { padding: 20px; }
.modal .modal-content { padding: 30px 30px; }
.jqmOverlay { background-color: #000; }

View file

@ -12,7 +12,7 @@
/* Nav Pills */
.nav.nav-pills { margin-bottom: 15px; font-size: 11px; }
.nav.nav-pills li { margin-right: 10px; border: 1px solid #fff; border-radius: 3px; padding: 0 5px 1px; line-height: 17px; }
.nav.nav-pills li { margin-right: 10px; border: 1px solid transparent; border-radius: 3px; padding: 0 5px 1px; line-height: 17px; }
.nav.nav-pills li a { display: block; border-radius: 2px; color: #727a90; text-decoration: underline; }
.nav.nav-pills li a:hover { color: #333; }
.nav.nav-pills li.active { border-color: #ebf0f4; }

View file

@ -2,30 +2,35 @@
СТРАНИЦА ПОЛЬЗОВАТЕЛЯ
-------------------------------------------- */
.profile { min-height: 48px; margin-bottom: 0; padding: 0 300px 20px 65px; position: relative; }
.profile { min-height: 48px; margin-bottom: 0; padding: 0 0px 20px 0; position: relative; }
.profile .button { float: right; margin-left: 7px; }
.profile .avatar { position: absolute; top: 0; left: 0; }
.profile .vote-label { text-transform: lowercase; text-align: center; font-size: 10px; color: #aaa; }
.profile .vote-profile { float: right; margin-left: 10px; }
.profile .vote-label { text-transform: uppercase; text-align: right; font-size: 11px; color: #aaa; }
.profile .count { font-size: 34px; line-height: 1em; font-weight: bold; text-align: right; }
.profile .strength { float: right; margin-left: 18px; }
.profile .strength .count { font-size: 11px; line-height: 1em; text-align: center; padding: 0 10px; line-height: 23px; color: #628fa5; margin-bottom: 0px; background: #edf8fd; border-radius: 15px; height: 24px; box-shadow: 0 2px 3px rgba(0,0,0,.1) inset; }
.profile .vote { position: absolute; top: 0; right: 140px; background: #fff; }
.profile .vote .vote-count { padding-left: 25px; display: block; }
.profile .vote .vote-up { position: absolute; top: 22px; left: 0; display: none; }
.profile .vote .vote-down { position: absolute; top: 35px; left: 0; display: none; }
.profile .vote:hover .vote-up,
.profile .vote:hover .vote-down,
.profile .vote.voted .vote-up,
.profile .vote.voted .vote-down { display: inline-block; }
.profile .vote.vote-count-positive .vote-count { color: #5055B2; }
.profile .strength { position: absolute; top: 0; right: 0; }
.profile .user-login { width: 270px; font-size: 27px; line-height: 26px; font-weight: bold; margin-bottom: 5px; }
.profile .user-login.no-user-name { position: relative; top: 9px; }
.profile .user-name { color: #777; }
.profile .user-login { width: 240px; font-size: 27px; line-height: 26px; font-weight: normal; margin-bottom: 5px; }
.profile .user-login.no-user-name { }
.profile .user-name { color: #949aa1; font-size: 17px; font-family: 'PT Sans', sans-serif; }
.profile-page-header { font-size: 12px; font-weight: bold; margin-bottom: 20px; background: #f5f5f5; border-top: 1px solid #eee; color: #555; padding: 5px 10px 6px; }
.profile-info-about { padding: 13px 20px 20px; background: #F1F9F1; border-radius: 5px; margin-bottom: 30px; color: #000; }
.profile-info-about h3 { font-size: 18px; margin-bottom: 5px; }
.profile-info-about { padding: 13px 20px 20px 135px; min-height: 100px; background: #fcfce9; border-radius: 5px; margin-bottom: 30px; color: #000; position: relative; }
.profile-info-about .avatar { position: absolute; top: 20px; left: 20px; border-radius: 5px; background: #fff; padding: 5px; box-shadow: 0 0 5px rgba(0,0,0,.2); }
.profile-info-about .avatar img { vertical-align: top; width: 80px; height: 80px; min-width: 100%; }
.profile-info-about h3 { font-size: 19px; margin-bottom: 5px; }
.profile-left { width: 360px; float: left; margin-right: 40px; }
.profile-right { width: 185px; float: left; }
.profile-dotted-list { margin-bottom: 50px; }
.profile-dotted-list li { overflow: hidden; zoom: 1; margin-bottom: 5px; background: url(../images/dots.png) 0% 14px repeat-x; }
.profile-dotted-list li span { background: #fff; }
.profile-dotted-list li strong { float: right; width: 190px; font-weight: normal; background: #fff; }
.profile-contact-list { margin-bottom: 50px; }
.profile-contact-list li { margin-bottom: 5px; padding-left: 21px; position: relative; }
.profile-contact-list li i { position: absolute; top: 2px; left: 0; }

View file

@ -80,7 +80,7 @@ button,
input,
select,
textarea {
font-family: sans-serif;
font-family: Verdana, sans-serif;
}
/*

View file

@ -2,19 +2,27 @@
ТАБЛИЦЫ
------------------------------------------------------------------- */
.table { width: 100%; margin-bottom: 15px; }
.table th { text-align: left; background: #fafafa; }
.table td, .table th { border-bottom: 1px solid #eee; padding: 10px; }
.table { width: 100%; margin-bottom: 15px; border-collapse: separate; }
.table th { text-align: left; font-weight: normal; border-bottom: 1px solid #c3d4dc; }
.table td, .table th { padding: 13px 10px; }
.table tr.active td { background: #CBF4BC; }
.table tr:hover td { background: #f5fdff; }
.table tbody td { border-top: 1px solid #f1f3f5; }
.table a.asc:after { content: "▲"; }
.table a.desc:after { content: "▼"; }
.table thead a { color: #727a90; text-decoration: none; border-bottom: 1px dotted #727a90; }
.table a.asc,
.table a.desc { color: #000; border-color: #000; }
.table a.asc:after { content: " ↑"; }
.table a.desc:after { content: " ↓"; }
/* Table Blogs */
.table.table-blogs .cell-name .avatar { float: left; margin-right: 10px; clear: right; }
.table.table-blogs .cell-name p { overflow: hidden; }
.table.table-blogs .cell-rating { width: 70px; font-weight: bold; }
.table.table-blogs .cell-name p { overflow: hidden; margin-bottom: 5px; }
.table.table-blogs .cell-name p .blog-name { font-size: 16px; color: #275ec2; }
.table.table-blogs .cell-name p i { vertical-align: middle; position: relative; top: -1px }
.table.table-blogs tbody .cell-rating { width: 70px; font-weight: bold; font-size: 11px; color: #5fa459; }
.table.table-blogs .cell-readers { width: 70px; text-align: center; vertical-align: middle; }
.table.table-blogs tbody .cell-readers { text-align: center; vertical-align: middle; font-size: 11px; }
.table.table-blogs .cell-join { width: 130px; text-align: center; vertical-align: middle; }
.table.table-blogs .cell-rating { text-align: center; vertical-align: middle; }
@ -35,13 +43,22 @@
.table.table-profile-info .cell-label { width: 30%; color: #777; }
/* Table Users */
.table.table-users th { font-size: 11px; }
.table.table-users .cell-name { font-weight: bold; }
.table.table-users .cell-name img { float: left; }
.table.table-users .cell-name .username { margin-left: 32px; width: 120px; position: relative; top: 1px; }
.table.table-users th { }
.table.table-users .cell-follow { width: 17px; text-align: center; }
.table.table-users thead .cell-follow i { position: relative; top: 3px; }
.table.table-users .cell-name { width: 190px; padding-right: 0; padding-left: 0; }
.table.table-users .cell-name img { float: left; margin-right: 14px; }
.table.table-users .cell-name div { float: left; width: 125px; }
.table.table-users .cell-name .name { margin-top: 2px; }
.table.table-users .cell-name .name.no-realname { margin-top: 11px; }
.table.table-users .cell-name .username { width: 125px; position: relative; top: 1px; margin-bottom: 3px; }
.table.table-users .cell-name .realname { font-size: 11px; }
.table.table-users tbody .cell-date { font-size: 11px; }
.table.table-users .cell-rating,
.table.table-users .cell-skill { text-align: center; width: 50px; }
.table.table-users .cell-skill { text-align: center; width: 70px; }
.table.table-users tbody .cell-skill { color: #628fa5; font-size: 11px; font-weight: bold; }
.table.table-users tbody .cell-rating { color: #5fa459; font-size: 11px; }
.table.table-users button { float: left; margin-right: 5px; }
/* Table Talk */
.table.table-talk .cell-checkbox { width: 20px; padding: 12px 0 10px 10px; }

View file

@ -39,63 +39,7 @@
.topic .topic-footer .topic-info li { float: left; margin-right: 10px; border-right: 1px solid #fff; padding: 6px; }
.topic .topic-footer .topic-info li a { text-decoration: none; }
.topic .topic-footer .topic-info li.vote { float: right; padding-top: 3px; padding-right: 0; margin-right: 0; border-radius: 15px; overflow: hidden; }
.topic .topic-footer .topic-info li.vote div {
cursor: pointer;
overflow: hidden;
display: block;
float: left;
height: 22px;
background: #fbfbfc;
background: -moz-linear-gradient(top, #fbfbfc 0%, #f0f2f5 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fbfbfc), color-stop(100%,#f0f2f5));
background: -webkit-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: -o-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: -ms-linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
background: linear-gradient(top, #fbfbfc 0%,#f0f2f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfbfc', endColorstr='#f0f2f5',GradientType=0 );
border: 1px solid #dfe3e8;
}
.topic .topic-footer .topic-info li.vote div span { display: block; border-right: 1px solid #fff; border-top: 1px solid #fefefe; }
.topic .topic-footer .topic-info li.vote div i { width: 12px; height: 12px; display: block; background: url(../images/icons-synio.png) no-repeat; }
.topic .topic-footer .topic-info li.vote div.vote-up { border-radius: 15px 0 0 15px; }
.topic .topic-footer .topic-info li.vote div.vote-up i { background-position: -83px -23px; }
.topic .topic-footer .topic-info li.vote div.vote-up span { padding: 4px 6px 5px 10px; }
.topic .topic-footer .topic-info li.vote div.vote-count { color: #628fa5; }
.topic .topic-footer .topic-info li.vote div.vote-count i { width: 16px; background-position: -98px -24px; margin-top: 1px; }
.topic .topic-footer .topic-info li.vote div.vote-count span { padding: 4px 6px 6px 7px; }
.topic .topic-footer .topic-info li.vote div.vote-down { border-radius: 0 15px 15px 0; }
.topic .topic-footer .topic-info li.vote div.vote-down i { background-position: -69px -23px; }
.topic .topic-footer .topic-info li.vote div.vote-down span { padding: 4px 10px 5px 6px; }
.topic .topic-footer .topic-info li.vote.voted-down { background: #ff8a8a; border-radius: 15px; padding: 0; box-shadow: 0 2px 3px rgba(0,0,0,.4) inset; }
.topic .topic-footer .topic-info li.vote.voted-down div { border: none; background: none; }
.topic .topic-footer .topic-info li.vote.voted-down div span { border: none; }
.topic .topic-footer .topic-info li.vote.voted-down div.vote-up { display: none; }
.topic .topic-footer .topic-info li.vote.voted-down div.vote-count { color: #da4242; }
.topic .topic-footer .topic-info li.vote.voted-up { background: #def7dc; padding: 0; box-shadow: 0 2px 3px rgba(0,0,0,.1) inset; }
.topic .topic-footer .topic-info li.vote.voted-up div { border: none; background: none; }
.topic .topic-footer .topic-info li.vote.voted-up div span { border: none; }
.topic .topic-footer .topic-info li.vote.voted-up div.vote-down { display: none; }
.topic .topic-footer .topic-info li.vote.voted-up div.vote-up { float: right; }
.topic .topic-footer .topic-info li.vote.voted-up div.vote-count { float: left; color: #5fa459; }
.topic .topic-footer .topic-info li.vote.vote-nobuttons div { border: none; }
.topic .topic-footer .topic-info li.vote.vote-nobuttons div span { border: none; }
.topic .topic-footer .topic-info li.vote.vote-nobuttons div.vote-up,
.topic .topic-footer .topic-info li.vote.vote-nobuttons div.vote-down { display: none; }
.topic .topic-footer .topic-info li.vote.vote-nobuttons div.vote-count { border-radius: 15px; }
.topic .topic-footer .topic-info li.vote.vote-count-positive div.vote-count { background: #def7dc; color: #5fa459; box-shadow: 0 2px 3px rgba(0,0,0,.1) inset; }
.topic .topic-footer .topic-info li.vote.vote-count-negative div.vote-count { background: #ff8a8a; color: #da4242; box-shadow: 0 2px 3px rgba(0,0,0,.1) inset; }
.topic .topic-footer .topic-info li.topic-info-vote { float: right; padding: 0; margin-right: 0; overflow: hidden; }
.topic .topic-footer .topic-info li.topic-info-author { padding: 4px 0; }
.topic .topic-footer .topic-info li.topic-info-author a { text-decoration: underline; }
@ -198,19 +142,11 @@
/* Topic Talk */
.topic.topic-type-talk { }
.topic.topic-type-talk .topic-header { background: #f7f7f7; padding: 10px 15px 15px; border-top: 1px solid #dfdfdf; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .topic-header .topic-title { margin-bottom: 13px; font-size: 20px; }
.topic.topic-type-talk .topic-header .topic-info { margin-bottom: 0; position: relative; min-height: 30px; padding-left: 40px; line-height: 14px; }
.topic.topic-type-talk .topic-header .topic-info .avatar { position: absolute; top: 0; left: 0; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper { margin-bottom: 4px; position: relative; top: -2px; }
.topic.topic-type-talk .topic-header .topic-info .author-wrapper .author { font-weight: bold; margin-right: 15px; }
.topic.topic-type-talk .topic-header .topic-info .recipient { margin-right: 10px; }
.topic.topic-type-talk .topic-content { font-size: 13px; padding: 15px; background: #fafafa; margin-bottom: 1px; border-top: 1px solid #fff; }
.topic.topic-type-talk .topic-footer .topic-info { border-radius: 0; background: #fafafa; }
.topic.topic-type-talk header .topic-info { background: #f8fbfe; font-size: 11px; padding: 15px; border-radius: 5px; margin-bottom: 0; }
.topic.topic-type-talk .talk-recipients { padding: 15px; background: #fafafa; display: none; border-top: 1px solid #fff; border-bottom: 1px solid #eee; }
.topic.topic-type-talk .talk-recipients h3 { font-size: 16px; font-weight: bold; margin-bottom: 10px; }
.topic.topic-type-talk .talk-recipients { padding: 15px; background: #f8fbfe; margin-bottom: 0; border-radius: 0; }
.topic.topic-type-talk .talk-recipients-header { font-size: 11px; min-height: 0; }
.topic.topic-type-talk .talk-recipients-content h3 { font-size: 16px; font-weight: normal; margin-bottom: 10px; }
/* Topic Link */

View file

@ -3,23 +3,37 @@
-------------------------------------------- */
.wall-submit { margin-bottom: 30px; }
.wall-submit.wall-submit-reply { margin: 2px 0 2px 25px; padding: 7px; background: #fafafa; }
.wall-submit.wall-submit-reply { margin: 10px 0 2px 0; padding: 7px; background: #fafafa; }
.wall-submit.wall-submit-reply textarea { height: 28px; *height: 16px; *width: 590px; margin: 0; }
.wall-submit.wall-submit-reply button { display: none; }
.wall-submit.wall-submit-reply.active textarea { height: 80px; margin-bottom: 5px; }
.wall-submit.wall-submit-reply.active button { display: block; }
.wall-submit p { margin-bottom: 5px; }
.comments.wall,
.wall .comment { margin-bottom: 2px; }
.wall .comment .comment-info { padding-bottom: 0; }
.wall .comment .comment-content { margin-bottom: 3px; }
.wall-item-wrapper { margin-bottom: 23px; border-bottom: 1px solid #e7ebed; padding: 0 0 20px 55px; position: relative; }
.wall-item-wrapper:last-child { border-bottom:none; }
.comment.wall-comment-reply { min-height: 0; padding-left: 48px; }
.comment.wall-comment-reply .comment-avatar { width: 30px; height: 30px; }
.wall-item .avatar { width: 40px; height: 40px; position: absolute; top: 0; left: 0; }
.wall-item .info { color: #b9c2c2; font-size: 11px; line-height: 1em; margin-bottom: 8px; }
.wall-item .info a { color: #275ec2; }
.wall-item .info .date { color: #818189; }
.wall-item .actions.wall-item-actions { margin-top: 5px; margin-bottom: 0; }
.wall-item .actions.wall-item-actions a { color: #727a90; border-color: #727a90; }
.wall-more { display: block; background: #f7f7f7; text-align: center; padding: 7px 0; font-size: 11px; margin-bottom: 2px; }
.wall-more:hover { background: #eee; }
.wall-more.wall-more-reply { margin-left: 25px; }
.wall-more.loader { background: #fafafa url(../images/loader.gif) 50% 50% no-repeat; }
.wall-item-replies { padding: 9px 13px 4px; background: #fefef1; color: #363636; margin-top: 10px; margin-bottom: 5px; font-size: 11px; border-radius: 3px; box-shadow: 0 2px 4px #e8e8c0 inset; }
.wall-item-reply { padding: 4px 0 8px 40px; position: relative; font-size: 11px; border-bottom: 1px solid #ededc9; border-top: 1px solid #fff; }
.wall-item-reply:first-child { border-top: none; padding-top: 0; }
.wall-item-reply:first-child .avatar { top: 4px; }
.wall-item-reply:last-child { border-bottom: none; }
.wall-item-reply .text { font-size: 11px; }
.wall-item-reply .avatar { position: absolute; top: 8px; left: 0; width: 30px; height: 30px; }
.wall-item-reply .actions { margin-bottom: 0; }
.wall-item-reply .actions .date { color: #818189; }
.wall-item-reply .author { color: #275ec2; font-weight: bold; }
.wall-more { }
.wall-more:hover { background: #F4F4D9; }
.wall-more-reply { display: block; background: #f7f7df; border-radius: 3px; text-decoration: none; text-align: center; padding: 7px 0; font-size: 11px; margin-bottom: 10px; color: #C5C282; }
.wall-more.loader { background: #F4F4D9 url(../images/loader.gif) 50% 50% no-repeat; }
.wall-more.loader .wall-more-inner { visibility: hidden; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -67,7 +67,7 @@ jQuery(document).ready(function($){
ls.toolbar.up.init();
$('#toolbar').css('left', $('#wrapper').offset().left + $('#wrapper').outerWidth() + 12);
$('#toolbar').css('left', $('#wrapper').offset().left + $('#wrapper').outerWidth() + 10);
// Всплывающие сообщения
@ -182,4 +182,9 @@ jQuery(document).ready(function($){
// Хук конца инициализации javascript-составляющих шаблона
ls.hook.run('ls_template_init_end',[],window);
});
});
ls.talk.toggleSearchForm = function() {
$('.talk-search').toggleClass('opened'); return false;
}

View file

@ -0,0 +1,8 @@
<ul class="nav nav-pills">
{hook run='profile_sidebar_menu_item_first' oUserProfile=$oUserProfile}
<li {if $sAction=='profile' && ($aParams[0]=='whois' or $aParams[0]=='')}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}">{$aLang.user_menu_profile_whois}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='wall'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}wall/">{$aLang.user_menu_profile_wall}{if ($iCountWallUser)>0} ({$iCountWallUser}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='created'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}created/topics/">{$aLang.user_menu_publication}{if ($iCountCreated)>0} ({$iCountCreated}){/if}</a></li>
<li {if $sAction=='profile' && $aParams[0]=='friends'}class="active"{/if}><a href="{$oUserProfile->getUserWebPath()}friends/">{$aLang.user_menu_profile_friends}{if ($iCountFriendsUser)>0} ({$iCountFriendsUser}){/if}</a></li>
{hook run='profile_sidebar_menu_item_last' oUserProfile=$oUserProfile}
</ul>

View file

@ -1,5 +1,3 @@
<h3 class="profile-page-header">{$aLang.user_menu_publication}</h3>
<ul class="nav nav-pills nav-pills-profile">
<li {if $sMenuSubItemSelect=='topics'}class="active"{/if}>
<a href="{$oUserProfile->getUserWebPath()}created/topics/">{$aLang.topic_title} {if $iCountTopicUser} ({$iCountTopicUser}) {/if}</a>

View file

@ -1,5 +1,3 @@
<h3 class="profile-page-header">{$aLang.user_menu_profile_favourites}</h3>
<ul class="nav nav-pills nav-pills-profile">
<li {if $sMenuSubItemSelect=='topics'}class="active"{/if}>
<a href="{$oUserProfile->getUserWebPath()}favourites/topics/">{$aLang.user_menu_profile_favourites_topics} {if $iCountTopicFavourite} ({$iCountTopicFavourite}) {/if}</a>

View file

@ -1,3 +1,5 @@
<h2 class="page-header">{$aLang.settings_menu}</h2>
<ul class="nav nav-pills">
<li {if $sMenuSubItemSelect=='profile'}class="active"{/if}><a href="{router page='settings'}profile/">{$aLang.settings_menu_profile}</a></li>
<li {if $sMenuSubItemSelect=='account'}class="active"{/if}><a href="{router page='settings'}account/">{$aLang.settings_menu_account}</a></li>

View file

@ -1,4 +1,4 @@
<h3 class="profile-page-header">{$aLang.talk_menu_inbox}</h3>
<h2 class="page-header">{$aLang.talk_menu_inbox}</h2>
<ul class="nav nav-pills">
<li {if $sMenuSubItemSelect=='inbox'}class="active"{/if}><a href="{router page='talk'}">{$aLang.talk_menu_inbox}</a></li>

View file

@ -1,7 +1,7 @@
{if $oUserCurrent and $oUserCurrent->isAdministrator()}
<section class="toolbar-admin">
<a href="{router page='admin'}" title="{$aLang.admin_title}">
<i class="icon-cog"></i>
<i></i>
</a>
</section>
{/if}

View file

@ -1,3 +1,3 @@
<section class="toolbar-scrollup" id="toolbar_scrollup">
<a href="#" onclick="return ls.toolbar.up.goUp();" title="{$aLang.toolbar_scrollup_go}" class="toolbar-topic-prev"><i class="icon-chevron-up"></i></a>
<a href="#" onclick="return ls.toolbar.up.goUp();" title="{$aLang.toolbar_scrollup_go}"><i></i></a>
</section>

View file

@ -1,7 +1,7 @@
{if $params.iCountTopic}
<section class="toolbar-topic" id="" style="">
<a href="#" onclick="return ls.toolbar.topic.goPrev();" title="{$aLang.toolbar_topic_prev}" class="toolbar-topic-prev"><i class="icon-arrow-up"></i></a>
<a href="#" onclick="return ls.toolbar.topic.goNext();" title="{$aLang.toolbar_topic_next}" class="toolbar-topic-next"><i class="icon-arrow-down"></i></a>
<a href="#" onclick="return ls.toolbar.topic.goPrev();" title="{$aLang.toolbar_topic_prev}" class="toolbar-topic-prev"><i></i></a>
<a href="#" onclick="return ls.toolbar.topic.goNext();" title="{$aLang.toolbar_topic_next}" class="toolbar-topic-next"><i></i></a>
</section>
{/if}

View file

@ -71,50 +71,56 @@
</li>
{/if}
{*<li id="vote_area_topic_{$oTopic->getId()}" class="vote
{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
{if $oTopic->getRating() > 0}
vote-count-positive
{elseif $oTopic->getRating() < 0}
vote-count-negative
<li class="topic-info-vote">
<div id="vote_area_topic_{$oTopic->getId()}" class="vote-topic
{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
{if $oTopic->getRating() > 0}
vote-count-positive
{elseif $oTopic->getRating() < 0}
vote-count-negative
{elseif $oTopic->getRating() == 0}
vote-count-zero
{/if}
{/if}
{/if}
{if (strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time') && !$oVote) || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId())}
vote-nobuttons
{/if}
{if $oVote}
voted
{if $oVote->getDirection() > 0}
voted-up
{elseif $oVote->getDirection() < 0}
voted-down
{if $oVote}
voted
{if $oVote->getDirection() > 0}
voted-up
{elseif $oVote->getDirection() < 0}
voted-down
{elseif $oVote->getDirection() == 0}
voted-zero
{/if}
{/if}
{/if}">
{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
{assign var="bVoteInfoShow" value=true}
{/if}
<div class="vote-up" onclick="return ls.vote.vote({$oTopic->getId()},this,1,'topic');"><span><i></i></span></div>
<div class="vote-count {if $bVoteInfoShow}js-infobox-vote-topic{/if}" id="vote_total_topic_{$oTopic->getId()}" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">
<span>
{if $bVoteInfoShow}
{if $oTopic->getRating() > 0}+{/if}{$oTopic->getRating()}
{else}
<i onclick="return ls.vote.vote({$oTopic->getId()},this,0,'topic');"></i>
{if (strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time') && !$oVote) || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId())}
vote-nobuttons
{/if}">
{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
{assign var="bVoteInfoShow" value=true}
{/if}
</span>
</div>
<div href="#" class="vote-down" onclick="return ls.vote.vote({$oTopic->getId()},this,-1,'topic');"><span><i></i></span></div>
{if $bVoteInfoShow}
<div id="vote-info-topic-{$oTopic->getId()}" style="display: none;">
+ {$oTopic->getCountVoteUp()}<br/>
- {$oTopic->getCountVoteDown()}<br/>
&nbsp; {$oTopic->getCountVoteAbstain()}<br/>
<div href="#" class="vote-item vote-down" onclick="return ls.vote.vote({$oTopic->getId()},this,-1,'topic');"><span><i></i></span></div>
<div class="vote-item vote-count {if $bVoteInfoShow}js-infobox-vote-topic{/if}" id="vote_total_topic_{$oTopic->getId()}" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">
<span>
{if $bVoteInfoShow}
{if $oTopic->getRating() > 0}+{/if}{$oTopic->getRating()}
{else}
<i onclick="return ls.vote.vote({$oTopic->getId()},this,0,'topic');"></i>
{/if}
</span>
</div>
{/if}
</li>*}
<div class="vote-item vote-up" onclick="return ls.vote.vote({$oTopic->getId()},this,1,'topic');"><span><i></i></span></div>
{if $bVoteInfoShow}
<div id="vote-info-topic-{$oTopic->getId()}" style="display: none;">
+ {$oTopic->getCountVoteUp()}<br/>
- {$oTopic->getCountVoteDown()}<br/>
&nbsp; {$oTopic->getCountVoteAbstain()}<br/>
</div>
{/if}
</div>
</li>
{hook run='topic_show_info' topic=$oTopic}
</ul>

View file

@ -2,9 +2,9 @@
{if $bUsersUseOrder}
<thead>
<tr>
<th class="cell-follow"><i class="icon-synio-star-blue"></i></th>
<th class="cell-name"><a href="{$sUsersRootPage}?order=user_login&order_way={if $sUsersOrder=='user_login'}{$sUsersOrderWayNext}{else}{$sUsersOrderWay}{/if}" {if $sUsersOrder=='user_login'}class="{$sUsersOrderWay}"{/if}>{$aLang.user}</a></th>
<th>{$aLang.user_date_last}</th>
<th><a href="{$sUsersRootPage}?order=user_date_register&order_way={if $sUsersOrder=='user_date_register'}{$sUsersOrderWayNext}{else}{$sUsersOrderWay}{/if}" {if $sUsersOrder=='user_date_register'}class="{$sUsersOrderWay}"{/if}>{$aLang.user_date_registration}</a></th>
<th></th>
<th class="cell-skill"><a href="{$sUsersRootPage}?order=user_skill&order_way={if $sUsersOrder=='user_skill'}{$sUsersOrderWayNext}{else}{$sUsersOrderWay}{/if}" {if $sUsersOrder=='user_skill'}class="{$sUsersOrderWay}"{/if}>{$aLang.user_skill}</a></th>
<th class="cell-rating"><a href="{$sUsersRootPage}?order=user_rating&order_way={if $sUsersOrder=='user_rating'}{$sUsersOrderWayNext}{else}{$sUsersOrderWay}{/if}" {if $sUsersOrder=='user_rating'}class="{$sUsersOrderWay}"{/if}>{$aLang.user_rating}</a></th>
</tr>
@ -12,9 +12,9 @@
{else}
<thead>
<tr>
<th class="cell-follow"><i class="icon-synio-star-blue"></i></th>
<th class="cell-name">{$aLang.user}</th>
<th class="cell-date">{$aLang.user_date_last}</th>
<th class="cell-date">{$aLang.user_date_registration}</th>
<th></th>
<th class="cell-skill">{$aLang.user_skill}</th>
<th class="cell-rating">{$aLang.user_rating}</th>
</tr>
@ -26,12 +26,18 @@
{foreach from=$aUsersList item=oUserList}
{assign var="oSession" value=$oUserList->getSession()}
<tr>
<td class="cell-follow"><i class="follow"></i></td>
<td class="cell-name">
<a href="{$oUserList->getUserWebPath()}"><img src="{$oUserList->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
<p class="username word-wrap"><a href="{$oUserList->getUserWebPath()}">{$oUserList->getLogin()}</a></p>
<a href="{$oUserList->getUserWebPath()}"><img src="{$oUserList->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
<div class="name {if !$oUserList->getProfileName()}no-realname{/if}">
<p class="username word-wrap"><a href="{$oUserList->getUserWebPath()}">{$oUserList->getLogin()}</a></p>
{if $oUserList->getProfileName()}<p class="realname">{$oUserList->getProfileName()}</p>{/if}
</div>
</td>
<td>
<button class="button button-action button-action-add-friend"><i class="icon-synio-add-friend"></i><span>В друзья</span></button>
<button class="button button-action button-action-send-message"><i class="icon-synio-send-message"></i></button>
</td>
<td class="cell-date">{if $oSession}{date_format date=$oSession->getDateLast() format="d.m.y, H:i"}{/if}</td>
<td class="cell-date">{date_format date=$oUserList->getDateRegister() format="d.m.y, H:i"}</td>
<td class="cell-skill">{$oUserList->getSkill()}</td>
<td class="cell-rating"><strong>{$oUserList->getRating()}</strong></td>
</tr>

View file

@ -4,8 +4,7 @@
{assign var="oSession" value=$oUserList->getSession()}
<li>
<a href="{$oUserList->getUserWebPath()}"><img src="{$oUserList->getProfileAvatarPath(64)}" alt="avatar" class="avatar" /></a>
<a href="{$oUserList->getUserWebPath()}">{$oUserList->getLogin()}</a>
<a href="{$oUserList->getUserWebPath()}" title="{$oUserList->getLogin()}"><img src="{$oUserList->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
</li>
{/foreach}
</ul>