1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00

Начало верстки шаблона Synio

This commit is contained in:
Denis Shakhov 2012-04-23 17:53:41 +07:00
parent 820fb3b572
commit 290a149983
209 changed files with 7649 additions and 0 deletions

View file

@ -0,0 +1,21 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.admin_header}</h2>
<ul>
<li><a href="{router page="admin"}plugins">{$aLang.admin_list_plugins}</a></li>
<li><a href="{router page="admin"}userfields">{$aLang.admin_list_userfields}</a></li>
<li><a href="{router page="admin"}restorecomment">{$aLang.admin_list_restorecomment}</a></li>
<li><a href="{router page="admin"}recalcfavourite">{$aLang.admin_list_recalcfavourite}</a></li>
<li><a href="{router page="admin"}recalcvote">{$aLang.admin_list_recalcvote}</a></li>
<li><a href="{router page="admin"}recalctopic">{$aLang.admin_list_recalctopic}</a></li>
{hook run='admin_action_item'}
</ul>
{hook run='admin_action'}
{include file='footer.tpl'}

View file

@ -0,0 +1,64 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<h2 class="page-header"><a href="{router page='admin'}">{$aLang.admin_header}</a> <span>&raquo;</span> {$aLang.admin_list_plugins}</h2>
<form action="{router page='admin'}plugins/" method="post" id="form_plugins_list">
<table class="table table-plugins">
<thead>
<tr>
<th class="cell-checkbox"><input type="checkbox" name="" onclick="ls.tools.checkAll('form_plugins_checkbox', this, true);" /></th>
<th>{$aLang.plugins_plugin_name}</th>
<th>{$aLang.plugins_plugin_version}</th>
<th>{$aLang.plugins_plugin_author}</th>
<th>{$aLang.plugins_plugin_settings}</th>
<th></th>
</tr>
</thead>
<tbody>
{foreach from=$aPlugins item=aPlugin}
<tr {if $aPlugin.is_active}class="active"{/if}>
<td class="cell-checkbox"><input type="checkbox" name="plugin_del[{$aPlugin.code}]" class="form_plugins_checkbox" /></td>
<td>
<h3>{$aPlugin.property->name->data}</h3>
{$aPlugin.property->description->data}
</td>
<td>{$aPlugin.property->version|escape:'html'}</td>
<td>
{$aPlugin.property->author->data}<br />
{$aPlugin.property->homepage}
</td>
<td>
{if $aPlugin.property->settings != ""}
{if $aPlugin.is_active}
<a href="{$aPlugin.property->settings}">{$aLang.plugins_plugin_settings}</a>
{else}
{/if}
{/if}
</td>
<td>
{if $aPlugin.is_active}
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=deactivate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_deactivate}</a>
{else}
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_activate}</a>
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<input type="submit"
name="submit_plugins_del"
value="{$aLang.plugins_submit_delete}"
class="button"
onclick="return (jQuery('.form_plugins_checkbox:checked').length==0)?false:confirm('{$aLang.plugins_delete_confirm}');" />
</form>
{include file='footer.tpl'}

View file

@ -0,0 +1,58 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.user_field_admin_title}</h2>
<div class="modal" id="userfield_form">
<header class="modal-header">
<h3>{$aLang.user_field_admin_title_add}</h3>
<a href="#" class="close jqmClose"></a>
</header>
<form class="modal-content">
<p><label for="user_fields_form_type">{$aLang.userfield_form_type}:</label>
<select id="user_fields_form_type" class="input-text input-width-full">
<option value=""></option>
{foreach from=$aUserFieldTypes item=sFieldType}
<option value="{$sFieldType}">{$sFieldType}</option>
{/foreach}
</select></p>
<p><label for="user_fields_form_name">{$aLang.userfield_form_name}:</label>
<input type="text" id="user_fields_form_name" class="input-text input-width-full" /></p>
<p><label for="user_fields_form_title">{$aLang.userfield_form_title}:</label>
<input type="text" id="user_fields_form_title" class="input-text input-width-full" /></p>
<p><label for="user_fields_form_pattern">{$aLang.userfield_form_pattern}:</label>
<input type="text" id="user_fields_form_pattern" class="input-text input-width-full" /></p>
<input type="hidden" id="user_fields_form_action" />
<input type="hidden" id="user_fields_form_id" />
<button type="button" onclick="ls.userfield.applyForm(); return false;" class="button button-primary">{$aLang.user_field_add}</button>
</form>
</div>
<a href="javascript:ls.userfield.showAddForm()" class="link-dotted" id="userfield_form_show">{$aLang.user_field_add}</a>
<br /><br />
<ul class="userfield-list" id="user_field_list">
{foreach from=$aUserFields item=oField}
<li id="field_{$oField->getId()}"><strong class="userfield_admin_name">{$oField->getName()|escape:"html"}</strong>
/ <span class="userfield_admin_title">{$oField->getTitle()|escape:"html"}</span>
/ <span class="userfield_admin_type">{$oField->getType()|escape:"html"}</span>
/ <span class="userfield_admin_pattern">{$oField->getPattern()|escape:"html"}</span>
<div class="userfield-actions">
<a href="javascript:ls.userfield.showEditForm({$oField->getId()})" title="{$aLang.user_field_update}" class="icon-edit"></a>
<a href="javascript:ls.userfield.deleteUserfield({$oField->getId()})" title="{$aLang.user_field_delete}" class="icon-remove"></a>
</div>
</li>
{/foreach}
</ul>
{include file='footer.tpl'}

View file

@ -0,0 +1,90 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='create'}
{else}
{include file='header.tpl'}
{include file='menu.blog_edit.tpl'}
{/if}
{if $oConfig->GetValue('view.tinymce')}
<script src="{cfg name='path.root.engine_lib'}/external/tinymce-jq/tiny_mce.js"></script>
<script type="text/javascript">
jQuery(function($){
tinyMCE.init(ls.settings.getTinymceComment());
});
</script>
{else}
{include file='window_load_img.tpl' sToLoad='blog_description'}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="panel_b,panel_i,panel_u,panel_s,panel_url,panel_url_promt,panel_code,panel_video,panel_image,panel_cut,panel_quote,panel_list,panel_list_ul,panel_list_ol,panel_title,panel_clear_tags,panel_video_promt,panel_list_li,panel_image_promt,panel_user,panel_user_promt"});
// Подключаем редактор
jQuery('#blog_description').markItUp(ls.settings.getMarkitupComment());
});
</script>
{/if}
<script type="text/javascript">
jQuery(document).ready(function($){
ls.lang.load({lang_load name="blog_create_type_open_notice,blog_create_type_close_notice"});
ls.blog.loadInfoType($('#blog_type').val());
});
</script>
<form method="post" enctype="multipart/form-data">
{hook run='form_add_blog_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_title">{$aLang.blog_create_title}:</label>
<input type="text" id="blog_title" name="blog_title" value="{$_aRequest.blog_title}" class="input-text input-width-full" />
<small class="note">{$aLang.blog_create_title_notice}</small></p>
<p><label for="blog_url">{$aLang.blog_create_url}:</label>
<input type="text" id="blog_url" name="blog_url" value="{$_aRequest.blog_url}" class="input-text input-width-full" {if $_aRequest.blog_id and !$oUserCurrent->isAdministrator()}disabled{/if} />
<small class="note">{$aLang.blog_create_url_notice}</small></p>
<p><label for="blog_type">{$aLang.blog_create_type}:</label>
<select name="blog_type" id="blog_type" class="input-width-200" onChange="ls.blog.loadInfoType(jQuery(this).val());">
<option value="open" {if $_aRequest.blog_type=='open'}selected{/if}>{$aLang.blog_create_type_open}</option>
<option value="close" {if $_aRequest.blog_type=='close'}selected{/if}>{$aLang.blog_create_type_close}</option>
</select>
<small class="note" id="blog_type_note">{$aLang.blog_create_type_open_notice}</small></p>
<p><label for="blog_description">{$aLang.blog_create_description}:</label>
<textarea name="blog_description" id="blog_description" rows="15" class="input-text input-width-full mce-editor">{$_aRequest.blog_description}</textarea>
<small class="note">{$aLang.blog_create_description_notice}</small></p>
<p><label for="blog_limit_rating_topic">{$aLang.blog_create_rating}:</label>
<input type="text" id="blog_limit_rating_topic" name="blog_limit_rating_topic" value="{$_aRequest.blog_limit_rating_topic}" class="input-text input-width-100" />
<small class="note">{$aLang.blog_create_rating_notice}</small></p>
<p>
{if $oBlogEdit and $oBlogEdit->getAvatar()}
<div class="avatar-edit">
{foreach from=$oConfig->GetValue('module.blog.avatar_size') item=iSize}
{if $iSize}<img src="{$oBlogEdit->getAvatarPath({$iSize})}">{/if}
{/foreach}
<label><input type="checkbox" id="avatar_delete" name="avatar_delete" value="on" class="input-checkbox"> {$aLang.blog_create_avatar_delete}</label>
</div>
{/if}
<label for="avatar">{$aLang.blog_create_avatar}:</label>
<input type="file" name="avatar" id="avatar">
</p>
{hook run='form_add_blog_end'}
<button name="submit_blog_add" class="button button-primary">{$aLang.blog_create_submit}</button>
</form>
{include file='footer.tpl'}

View file

@ -0,0 +1,54 @@
{include file='header.tpl'}
{include file='menu.blog_edit.tpl'}
{if $aBlogUsers}
<form method="post" enctype="multipart/form-data" class="mb-20">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<table class="table table-users">
<thead>
<tr>
<th class="cell-name">{$aLang.blog_admin_users}</th>
<th class="ta-c">{$aLang.blog_admin_users_administrator}</th>
<th class="ta-c">{$aLang.blog_admin_users_moderator}</th>
<th class="ta-c">{$aLang.blog_admin_users_reader}</th>
<th class="ta-c">{$aLang.blog_admin_users_bun}</th>
</tr>
</thead>
<tbody>
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<tr>
<td class="cell-name">
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</td>
{if $oUser->getId()==$oUserCurrent->getId()}
<td colspan="3">{$aLang.blog_admin_users_current_administrator}</td>
{else}
<td class="ta-c"><input type="radio" name="user_rank[{$oUser->getId()}]" value="administrator" {if $oBlogUser->getIsAdministrator()}checked{/if} /></td>
<td class="ta-c"><input type="radio" name="user_rank[{$oUser->getId()}]" value="moderator" {if $oBlogUser->getIsModerator()}checked{/if} /></td>
<td class="ta-c"><input type="radio" name="user_rank[{$oUser->getId()}]" value="reader" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_USER}checked{/if} /></td>
<td class="ta-c"><input type="radio" name="user_rank[{$oUser->getId()}]" value="ban" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_BAN}checked{/if} /></td>
{/if}
</tr>
{/foreach}
</tbody>
</table>
<button name="submit_blog_admin" class="button button-primary">{$aLang.blog_admin_users_submit}</button>
</form>
{include file='paging.tpl' aPaging=$aPaging}
{else}
{$aLang.blog_admin_users_empty}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,157 @@
{include file='header.tpl'}
{assign var="oUserOwner" value=$oBlog->getOwner()}
{assign var="oVote" value=$oBlog->getVote()}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="blog_fold_info,blog_expand_info"});
});
</script>
{if $oUserCurrent and $oUserCurrent->isAdministrator()}
<div id="blog_delete_form" class="modal">
<header class="modal-header">
<h3>{$aLang.blog_admin_delete_title}</h3>
<a href="#" class="close jqmClose"></a>
</header>
<form action="{router page='blog'}delete/{$oBlog->getId()}/" method="POST" class="modal-content">
<p><label for="topic_move_to">{$aLang.blog_admin_delete_move}:</label>
<select name="topic_move_to" id="topic_move_to" class="input-width-full">
<option value="-1">{$aLang.blog_delete_clear}</option>
{if $aBlogs}
<optgroup label="{$aLang.blogs}">
{foreach from=$aBlogs item=oBlogDelete}
<option value="{$oBlogDelete->getId()}">{$oBlogDelete->getTitle()}</option>
{/foreach}
</optgroup>
{/if}
</select></p>
<input type="hidden" value="{$LIVESTREET_SECURITY_KEY}" name="security_ls_key" />
<button class="button button-primary">{$aLang.blog_delete}</button>
</form>
</div>
{/if}
<div class="blog">
<header class="blog-header">
<div id="vote_area_blog_{$oBlog->getId()}" class="vote {if $oBlog->getRating() > 0}vote-count-positive{elseif $oBlog->getRating() < 0}vote-count-negative{/if} {if $oVote} voted {if $oVote->getDirection()>0}voted-up{elseif $oVote->getDirection()<0}voted-down{/if}{/if}">
<div class="vote-label">Рейтинг</div>
<a href="#" class="vote-up" onclick="return ls.vote.vote({$oBlog->getId()},this,1,'blog');"></a>
<a href="#" class="vote-down" onclick="return ls.vote.vote({$oBlog->getId()},this,-1,'blog');"></a>
<div id="vote_total_blog_{$oBlog->getId()}" class="vote-count count" title="{$aLang.blog_vote_count}: {$oBlog->getCountVote()}">{$oBlog->getRating()}</div>
</div>
<img src="{$oBlog->getAvatarPath(48)}" alt="avatar" class="avatar" />
<h2>{if $oBlog->getType()=='close'}<i title="{$aLang.blog_closed}" class="icon icon-lock"></i> {/if}{$oBlog->getTitle()|escape:'html'}</h2>
<ul class="actions">
<li><a href="{router page='rss'}blog/{$oBlog->getUrl()}/" class="rss">RSS</a></li>
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<li><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></li>
{/if}
{if $oUserCurrent and ($oUserCurrent->getId()==$oBlog->getOwnerId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() )}
<li>
<a href="{router page='blog'}edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}" class="edit">{$aLang.blog_edit}</a></li>
{if $oUserCurrent->isAdministrator()}
<li><a href="#" title="{$aLang.blog_delete}" id="blog_delete_show" class="delete">{$aLang.blog_delete}</a>
{else}
<a href="{router page='blog'}delete/{$oBlog->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.blog_delete}" onclick="return confirm('{$aLang.blog_admin_delete_confirm}');" >{$aLang.blog_delete}</a>
{/if}
</li>
{/if}
</ul>
</header>
<div class="blog-more-content" id="blog-more-content" style="display: none;">
<div class="blog-content">
<p class="blog-description">{$oBlog->getDescription()|nl2br}</p>
</div>
<footer class="blog-footer">
{hook run='blog_info_begin' oBlog=$oBlog}
<strong>{$aLang.blog_user_administrators} ({$iCountBlogAdministrators}):</strong>
<a href="{$oUserOwner->getUserWebPath()}" class="user"><i class="icon-user"></i>{$oUserOwner->getLogin()}</a>
{if $aBlogAdministrators}
{foreach from=$aBlogAdministrators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user"><i class="icon-user"></i>{$oUser->getLogin()}</a>
{/foreach}
{/if}<br />
<strong>{$aLang.blog_user_moderators} ({$iCountBlogModerators}):</strong>
{if $aBlogModerators}
{foreach from=$aBlogModerators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user"><i class="icon-user"></i>{$oUser->getLogin()}</a>
{/foreach}
{else}
{$aLang.blog_user_moderators_empty}
{/if}<br />
<strong>{$aLang.blog_user_readers} ({$iCountBlogUsers}):</strong>
{if $aBlogUsers}
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user"><i class="icon-user"></i>{$oUser->getLogin()}</a>
{/foreach}
{if count($aBlogUsers) < $iCountBlogUsers}
<br /><a href="{$oBlog->getUrlFull()}users/">{$aLang.blog_user_readers_all}</a>
{/if}
{else}
{$aLang.blog_user_readers_empty}
{/if}
{hook run='blog_info_end' oBlog=$oBlog}
</footer>
</div>
<a href="#" class="blog-more" id="blog-more" onclick="return ls.blog.toggleInfo()">{$aLang.blog_expand_info}</a>
</div>
{hook run='blog_info' oBlog=$oBlog}
<div class="nav-filter-wrapper">
<ul class="nav nav-filter">
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{$sMenuSubBlogUrl}">{$aLang.blog_menu_collective_good}</a></li>
{if $iCountTopicsBlogNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{$sMenuSubBlogUrl}new/">{$aLang.blog_menu_collective_new} +{$iCountTopicsBlogNew}</a></li>{/if}
<li {if $sMenuSubItemSelect=='discussed'}class="active"{/if}><a href="{$sMenuSubBlogUrl}discussed/">{$aLang.blog_menu_collective_discussed}</a></li>
<li {if $sMenuSubItemSelect=='top'}class="active"{/if}><a href="{$sMenuSubBlogUrl}top/">{$aLang.blog_menu_collective_top}</a></li>
{hook run='menu_blog_blog_item'}
</ul>
{if $sPeriodSelectCurrent}
<ul class="nav nav-filter nav-filter-sub">
<li {if $sPeriodSelectCurrent=='1'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=1">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $sPeriodSelectCurrent=='7'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=7">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $sPeriodSelectCurrent=='30'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=30">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $sPeriodSelectCurrent=='all'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=all">{$aLang.blog_menu_top_period_all}</a></li>
</ul>
{/if}
</div>
{if $bCloseBlog}
{$aLang.blog_close_show}
{else}
{include file='topic_list.tpl'}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,4 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,34 @@
<section class="block">
<header class="block-header">
<h3>{$aLang.blog_admin_user_add_header}</h3>
</header>
<div class="block-content">
<form onsubmit="return ls.blog.addInvite({$oBlogEdit->getId()});">
<p>
<label for="blog_admin_user_add">{$aLang.blog_admin_user_add_label}:</label>
<input type="text" id="blog_admin_user_add" name="add" class="input-text input-width-full autocomplete-users-sep" />
</p>
</form>
<br />
<h3>{$aLang.blog_admin_user_invited}:</h3>
<div id="invited_list_block">
{if $aBlogUsersInvited}
<ul id="invited_list">
{foreach from=$aBlogUsersInvited item=oBlogUser}
{assign var='oUser' value=$oBlogUser->getUser()}
<li>
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> -
<a href="#" onclick="return ls.blog.repeatInvite({$oUser->getId()}, {$oBlogEdit->getId()});">{$aLang.blog_user_invite_readd}</a>
</li>
{/foreach}
</ul>
{else}
<span class="notice-empty">{$aLang.blog_admin_user_add_empty}</span>
{/if}
</div>
</div>
</section>

View file

@ -0,0 +1,20 @@
{include file='header.tpl' menu='blog'}
{include file='topic.tpl'}
{include
file='comment_tree.tpl'
iTargetId=$oTopic->getId()
iAuthorId=$oTopic->getUserId()
sAuthorNotice=$aLang.topic_author
sTargetType='topic'
iCountComment=$oTopic->getCountComment()
sDateReadLast=$oTopic->getDateRead()
bAllowNewComment=$oTopic->getForbidComment()
sNoticeNotAllow=$aLang.topic_comment_notallow
sNoticeCommentAdd=$aLang.topic_comment_add
bAllowSubscribe=true
oSubscribeComment=$oTopic->getSubscribeNewComment()
aPagingCmt=$aPagingCmt}
{include file='footer.tpl'}

View file

@ -0,0 +1,37 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.blog_user_readers_all} ({$iCountBlogUsers}): <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()}</a></h2>
{if $aBlogUsers}
<table class="table table-users">
<thead>
<tr>
<th>{$aLang.user}</th>
<th>{$aLang.user_skill}</th>
<th>{$aLang.user_rating}</th>
</tr>
</thead>
<tbody>
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<tr>
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
<td>{$oUser->getSkill()}</td>
<td>{$oUser->getRating()}</td>
</tr>
{/foreach}
</tbody>
</table>
{include file='paging.tpl' aPaging=$aPaging}
{else}
{$aLang.blog_user_readers_empty}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,17 @@
{include file='header.tpl' sMenuHeadItemSelect="blogs"}
<h2 class="page-header">{$aLang.blogs}</h2>
<form action="" method="POST" id="form-blogs-search" onsubmit="return false;" class="search 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>
<div id="blogs-list-search" style="display:none;"></div>
<div id="blogs-list-original">
{router page='blogs' assign=sBlogsRootPage}
{include file='blog_list.tpl' bBlogsUseOrder=true sBlogsRootPage=$sBlogsRootPage}
{include file='paging.tpl' aPaging=$aPaging}
</div>
{include file='footer.tpl'}

View file

@ -0,0 +1,7 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.comments_all}</h2>
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,13 @@
{assign var="noSidebar" value=true}
{include file='header.tpl' noShowSystemMessage=true}
{if $aMsgError[0].title}
<h2 class="page-header">{$aLang.error}: <span>{$aMsgError[0].title}</span></h2>
{/if}
<p>{$aMsgError[0].msg}</p>
<p><a href="javascript:history.go(-1);">{$aLang.site_history_back}</a>, <a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a></p>
{include file='footer.tpl'}

View file

@ -0,0 +1,3 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,81 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='create'}
{else}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.topic_link_edit}</h2>
{/if}
{hook run='add_topic_link_begin'}
<form action="" method="POST" enctype="multipart/form-data" id="form-topic-add">
{hook run='form_add_topic_link_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label>
<select name="blog_id" id="blog_id" onChange="ls.blog.loadInfo(jQuery(this).val());" class="input-width-full">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script type="text/javascript">
jQuery(document).ready(function($){
ls.blog.loadInfo($('#blog_id').val());
});
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label>
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-text input-width-full" />
<small class="note">{$aLang.topic_create_title_notice}</small></p>
<p><label for="topic_link_url">{$aLang.topic_link_create_url}:</label>
<input type="text" id="topic_link_url" name="topic_link_url" value="{$_aRequest.topic_link_url}" class="input-text input-width-full" />
<small class="note">{$aLang.topic_link_create_url_notice}</small></p>
<p><label for="topic_text">{$aLang.topic_link_create_text}:</label>
<textarea name="topic_text" id="topic_text" rows="10" class="input-text input-width-full">{$_aRequest.topic_text}</textarea></p>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label>
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-text input-width-full autocomplete-tags-sep" /><br />
<small class="note">{$aLang.topic_create_tags_notice}</small></p>
<p><label for="topic_forbid_comment">
<input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label>
<small class="note">{$aLang.topic_create_forbid_comment_notice}</small></p>
{if $oUserCurrent->isAdministrator()}
<p><label for="topic_publish_index">
<input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label>
<small class="note">{$aLang.topic_create_publish_index_notice}</small></p>
{/if}
<input type="hidden" name="topic_type" value="link" />
{hook run='form_add_topic_link_end'}
<button name="submit_topic_publish" id="submit_topic_publish" class="button button-primary fl-r">{$aLang.topic_create_submit_publish}</button>
<button name="submit_preview" onclick="jQuery('#text_preview').parent().show(); ls.topic.preview('form-topic-add','text_preview'); return false;" class="button">{$aLang.topic_create_submit_preview}</button>
<button name="submit_topic_save" id="submit_topic_save" class="button">{$aLang.topic_create_submit_save}</button>
</form>
<div class="topic-preview" id="text_preview"></div>
{hook run='add_topic_link_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,6 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.user_exit_notice}</h2>
{include file='footer.tpl'}

View file

@ -0,0 +1,55 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<script type="text/javascript">
jQuery(document).ready(function($){
$('#login-form').bind('submit',function(){
ls.user.login('login-form');
return false;
});
$('#login-form-submit').attr('disabled',false);
});
</script>
<h2 class="page-header">{$aLang.user_authorization}</h2>
{hook run='login_begin'}
<form action="{router page='login'}" method="POST" id="login-form">
{hook run='form_login_begin'}
<p><label for="login">{$aLang.user_login}</label>
<input type="text" id="login" name="login" class="input-text input-width-200" /></p>
<p><label for="password">{$aLang.user_password}</label>
<input type="password" id="password" name="password" class="input-text input-width-200" />
<small class="validate-error-hide validate-error-login"></small></p>
<p><label><input type="checkbox" name="remember" checked class="input-checkbox" /> {$aLang.user_login_remember}</label></p>
{hook run='form_login_end'}
<button name="submit_login" class="button button-primary" id="login-form-submit" disabled="disabled">{$aLang.user_login_submit}</button>
<br />
<br />
<a href="{router page='registration'}">{$aLang.user_registration}</a><br />
<a href="{router page='login'}reminder/">{$aLang.user_password_reminder}</a>
</form>
{if $oConfig->GetValue('general.reg.invite')}
<br /><br />
<form action="{router page='registration'}invite/" method="POST">
<h2>{$aLang.registration_invite}</h2>
<p><label>{$aLang.registration_invite_code}<br />
<input type="text" name="invite_code" /></label></p>
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" />
</form>
{/if}
{hook run='login_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,26 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<script type="text/javascript">
jQuery(document).ready(function($){
$('#reminder-form').bind('submit',function(){
ls.user.reminder('reminder-form');
return false;
});
$('#reminder-form-submit').attr('disabled',false);
});
</script>
<h2 class="page-header">{$aLang.password_reminder}</h2>
<form action="{router page='login'}reminder/" method="POST" id="reminder-form">
<p><label for="reminder-mail">{$aLang.password_reminder_email}</label>
<input type="text" name="mail" id="reminder-mail" class="input-text input-width-200" />
<small class="validate-error-hide validate-error-reminder"></small></p>
<button name="submit_reminder" class="button button-primary" id="reminder-form-submit" disabled="disabled">{$aLang.password_reminder_submit}</button>
</form>
{include file='footer.tpl'}

View file

@ -0,0 +1,6 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.password_reminder}</h2>
{$aLang.password_reminder_send_password}
{include file='footer.tpl'}

View file

@ -0,0 +1,7 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.user_list}: <span>{$oCity->getName()|escape:'html'}</span></h2>
{include file='user_list.tpl' aUsersList=$aUsersCity}
{include file='footer.tpl'}

View file

@ -0,0 +1,7 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.user_list}: <span>{$oCountry->getName()|escape:'html'}</span></h2>
{include file='user_list.tpl' aUsersList=$aUsersCountry}
{include file='footer.tpl'}

View file

@ -0,0 +1,21 @@
{include file='header.tpl' menu='people'}
<form action="" method="POST" id="form-users-search" onsubmit="return false;" class="search search-item">
<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);">
</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>
<div id="users-list-original">
{router page='people' assign=sUsersRootPage}
{include file='user_list.tpl' aUsersList=$aUsersRating bUsersUseOrder=true sUsersRootPage=$sUsersRootPage}
</div>
{include file='footer.tpl'}

View file

@ -0,0 +1,5 @@
{include file='header.tpl' menu='people'}
{include file='user_list.tpl' aUsersList=$aUsersRegister}
{include file='footer.tpl'}

View file

@ -0,0 +1,5 @@
{include file='header.tpl' menu='people'}
{include file='user_list.tpl' aUsersList=$aUsersLast}
{include file='footer.tpl'}

View file

@ -0,0 +1,29 @@
{hook run='people_sidebar_begin'}
<section class="block">
<header class="block-header">
<h3>{$aLang.user_stats}</h3>
</header>
<div class="block-content">
<ul>
<li>{$aLang.user_stats_all}: <strong>{$aStat.count_all}</strong></li>
<li>{$aLang.user_stats_active}: <strong>{$aStat.count_active}</strong></li>
<li>{$aLang.user_stats_noactive}: <strong>{$aStat.count_inactive}</strong></li>
</ul>
<br />
<ul>
<li>{$aLang.user_stats_sex_man}: <strong>{$aStat.count_sex_man}</strong></li>
<li>{$aLang.user_stats_sex_woman}: <strong>{$aStat.count_sex_woman}</strong></li>
<li>{$aLang.user_stats_sex_other}: <strong>{$aStat.count_sex_other}</strong></li>
</ul>
</div>
</section>
{insert name="block" block='tagsCountry'}
{insert name="block" block='tagsCity'}
{hook run='people_sidebar_end'}

View file

@ -0,0 +1,3 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,160 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='create'}
{else}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.topic_photoset_edit}</h2>
{/if}
{if $oConfig->GetValue('view.tinymce')}
<script src="{cfg name='path.root.engine_lib'}/external/tinymce-jq/tiny_mce.js"></script>
<script type="text/javascript">
jQuery(function($){
tinyMCE.init(ls.settings.getTinymce());
});
</script>
{else}
{include file='window_load_img.tpl' sToLoad='topic_text'}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="panel_b,panel_i,panel_u,panel_s,panel_url,panel_url_promt,panel_code,panel_video,panel_image,panel_cut,panel_quote,panel_list,panel_list_ul,panel_list_ol,panel_title,panel_clear_tags,panel_video_promt,panel_list_li,panel_image_promt,panel_user,panel_user_promt"});
// Подключаем редактор
$('#topic_text').markItUp(ls.settings.getMarkitup());
});
</script>
{/if}
<script type="text/javascript">
jQuery(function($){
if (jQuery.browser.flash) {
ls.photoset.initSwfUpload({
post_params: { 'topic_id': {json var=$_aRequest.topic_id} }
});
}
});
</script>
<form id="photoset-upload-form" method="POST" enctype="multipart/form-data" onsubmit="return false;">
<p id="topic-photo-upload-input" class="topic-photo-upload-input">
<label for="">{$aLang.topic_photoset_choose_image}:</label>
<input type="file" id="photoset-upload-file" name="Filedata" /><br><br>
<button onclick="ls.photoset.upload();">{$aLang.topic_photoset_upload_choose}</button>
<button onclick="ls.photoset.closeForm();">{$aLang.topic_photoset_upload_close}</button>
<input type="hidden" name="is_iframe" value="true" />
<input type="hidden" name="topic_id" value="{$_aRequest.topic_id}" />
</p>
</form>
{hook run='add_topic_photoset_begin'}
<form action="" method="POST" enctype="multipart/form-data" id="form-topic-add">
{hook run='form_add_topic_photoset_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label>
<select name="blog_id" id="blog_id" onChange="ls.blog.loadInfo(jQuery(this).val());" class="input-width-full">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script type="text/javascript">
jQuery(document).ready(function($){
ls.blog.loadInfo($('#blog_id').val());
});
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label>
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-text input-width-full" /><br />
<small class="note">{$aLang.topic_create_title_notice}</small></p>
<p><label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
<textarea name="topic_text" class="mce-editor" id="topic_text" rows="20">{$_aRequest.topic_text}</textarea></p>
<div class="topic-photo-upload">
<h2>{$aLang.topic_photoset_upload_title}</h2>
<div class="topic-photo-upload-rules">
{$aLang.topic_photoset_upload_rules|ls_lang:"SIZE%%`$oConfig->get('module.topic.photoset.photo_max_size')`":"COUNT%%`$oConfig->get('module.topic.photoset.count_photos_max')`"}
</div>
<input type="hidden" name="topic_main_photo" id="topic_main_photo" value="{$_aRequest.topic_main_photo}" />
<ul id="swfu_images">
{if count($aPhotos)}
{foreach from=$aPhotos item=oPhoto}
{if $_aRequest.topic_main_photo && $_aRequest.topic_main_photo == $oPhoto->getId()}
{assign var=bIsMainPhoto value=true}
{/if}
<li id="photo_{$oPhoto->getId()}" {if $bIsMainPhoto}class="marked-as-preview"{/if}>
<img src="{$oPhoto->getWebPath('100crop')}" alt="image" />
<textarea onBlur="ls.photoset.setPreviewDescription({$oPhoto->getId()}, this.value)">{$oPhoto->getDescription()}</textarea><br />
<a href="javascript:ls.photoset.deletePhoto({$oPhoto->getId()})" class="image-delete">{$aLang.topic_photoset_photo_delete}</a>
<span id="photo_preview_state_{$oPhoto->getId()}" class="photo-preview-state">
{if $bIsMainPhoto}
{$aLang.topic_photoset_is_preview}
{else}
<a href="javascript:ls.photoset.setPreview({$oPhoto->getId()})" class="mark-as-preview">{$aLang.topic_photoset_mark_as_preview}</a>
{/if}
</span>
</li>
{assign var=bIsMainPhoto value=false}
{/foreach}
{/if}
</ul>
<a href="javascript:ls.photoset.showForm()" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
</div>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label>
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-text input-width-full autocomplete-tags-sep" /><br />
<small class="note">{$aLang.topic_create_tags_notice}</small></p>
<p><label for="topic_forbid_comment">
<input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label>
<small class="note">{$aLang.topic_create_forbid_comment_notice}</small></p>
{if $oUserCurrent->isAdministrator()}
<p><label for="topic_publish_index">
<input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label>
<small class="note">{$aLang.topic_create_publish_index_notice}</small></p>
{/if}
<input type="hidden" name="topic_type" value="photoset" />
{hook run='form_add_topic_photoset_end'}
<button name="submit_topic_publish" id="submit_topic_publish" class="button button-primary fl-r">{$aLang.topic_create_submit_publish}</button>
<button name="submit_preview" onclick="jQuery('#text_preview').parent().show(); ls.topic.preview('form-topic-add','text_preview'); return false;" class="button">{$aLang.topic_create_submit_preview}</button>
<button name="submit_topic_save" id="submit_topic_save" class="button">{$aLang.topic_create_submit_save}</button>
</form>
<div class="topic-preview" id="text_preview"></div>
{hook run='add_topic_photoset_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,12 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile_created.tpl'}
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,29 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile_created.tpl'}
{if $aNotes}
<table class="table table-profile-notes" cellspacing="0">
{foreach from=$aNotes item=oNote}
<tr>
<td class="cell-username"><a href="{$oNote->getTargetUser()->getUserWebPath()}">{$oNote->getTargetUser()->getLogin()}</a></td>
<td class="cell-note">{$oNote->getText()}</td>
<td class="cell-date">{date_format date=$oNote->getDateAdd() format="j F Y"}</td>
</tr>
{/foreach}
</table>
{else}
<div class="notice-empty">{$aLang.user_note_list_empty}</div>
{/if}
{include file='paging.tpl' aPaging=$aPaging}
{include file='footer.tpl'}

View file

@ -0,0 +1,12 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile_created.tpl'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,14 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile_favourite.tpl'}
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,19 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.profile_favourite.tpl'}
{if $oUserCurrent and $oUserCurrent->getId()==$oUserProfile->getId()}
{$aBlockParams.user=$oUserProfile}
{insert name="block" block=tagsFavouriteTopic params=$aBlock.params}
{/if}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,28 @@
{if $oUserFriend and ($oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_OFFER or $oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_ACCEPT)}
<li id="delete_friend_item"><a href="#" title="{$aLang.user_friend_del}" onclick="return ls.user.removeFriend(this,{$oUserProfile->getId()},'del');">{$aLang.user_friend_del}</a></li>
{elseif $oUserFriend and $oUserFriend->getStatusTo()==$USER_FRIEND_REJECT and $oUserFriend->getStatusFrom()==$USER_FRIEND_OFFER and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" onclick="return ls.user.addFriend(this,{$oUserProfile->getId()},'accept');">{$aLang.user_friend_add}</a></li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_REJECT and $oUserFriend->getUserTo()!=$oUserCurrent->getId()}
<li>{$aLang.user_friend_offer_reject}</li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserFrom()==$oUserCurrent->getId()}
<li>{$aLang.user_friend_offer_send}</li>
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" onclick="return ls.user.addFriend(this,{$oUserProfile->getId()},'accept');">{$aLang.user_friend_add}</a></li>
{elseif !$oUserFriend}
<div id="add_friend_form" class="modal">
<header class="modal-header">
<h3>{$aLang.profile_add_friend}</h3>
<a href="#" class="close jqmClose"></a>
</header>
<form onsubmit="return ls.user.addFriend(this,{$oUserProfile->getId()},'add');" class="modal-content">
<p><label for="add_friend_text">{$aLang.user_friend_add_text_label}</label>
<textarea id="add_friend_text" rows="3" class="input-text input-width-full"></textarea></p>
<button class="button button-primary">{$aLang.user_friend_add_submit}</button>
</form>
</div>
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" id="add_friend_show">{$aLang.user_friend_add}</a></li>
{else}
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" onclick="return ls.user.addFriend(this,{$oUserProfile->getId()},'link');">{$aLang.user_friend_add}</a></li>
{/if}

View file

@ -0,0 +1,12 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_friends}</h3>
{include file='user_list.tpl' aUsersList=$aFriends}
{include file='footer.tpl'}

View file

@ -0,0 +1,25 @@
<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-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>
<h2 class="page-header user-login word-wrap {if !$oUserProfile->getProfileName()}no-user-name{/if}">{$oUserProfile->getLogin()}</h2>
{if $oUserProfile->getProfileName()}
<p class="user-name">{$oUserProfile->getProfileName()|escape:'html'}</p>
{/if}
{hook run='profile_top_end' oUserProfile=$oUserProfile}
</div>

View file

@ -0,0 +1,115 @@
{hook run='profile_sidebar_begin' oUserProfile=$oUserProfile}
<section class="block block-type-profile">
<div class="profile-photo-wrapper">
<div class="status {if $oUserProfile->isOnline()}status-online{else}status-offline{/if}">{if $oUserProfile->isOnline()}{$aLang.user_status_online}{else}{$aLang.user_status_offline}{/if}</div>
<a href="{$oUserProfile->getUserWebPath()}"><img src="{$oUserProfile->getProfileFotoPath()}" alt="photo" class="profile-photo" id="foto-img" /></a>
</div>
{if $sAction=='settings' and $oUserCurrent and $oUserCurrent->getId() == $oUserProfile->getId()}
<script type="text/javascript">
jQuery(function($){
$('#foto-upload').file({ name:'foto' }).choose(function(e, input) {
ls.user.uploadFoto(null,input);
});
});
</script>
<p class="upload-photo">
<a href="#" id="foto-upload" class="link-dotted">{if $oUserCurrent->getProfileFoto()}{$aLang.settings_profile_photo_change}{else}{$aLang.settings_profile_photo_upload}{/if}</a>&nbsp;&nbsp;&nbsp;
<a href="#" id="foto-remove" class="link-dotted" onclick="return ls.user.removeFoto();" style="{if !$oUserCurrent->getProfileFoto()}display:none;{/if}">{$aLang.settings_profile_foto_delete}</a>
</p>
<div class="modal" id="foto-resize">
<header class="modal-header">
<h3>{$aLang.uploadimg}</h3>
<a href="#" class="close jqmClose"></a>
</header>
<div class="modal-content">
<img src="" alt="" id="foto-resize-original-img"><br />
<button class="button button-primary" onclick="return ls.user.resizeFoto();">{$aLang.settings_profile_avatar_resize_apply}</button>
<button class="button" onclick="return ls.user.cancelFoto();">{$aLang.settings_profile_avatar_resize_cancel}</button>
</div>
</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}
{if $oUserCurrent && $oUserCurrent->getId() != $oUserProfile->getId()}
<section class="block block-type-profile-note">
{if $oUserNote}
<script type="text/javascript">
ls.usernote.sText = {json var = $oUserNote->getText()};
</script>
{/if}
<div id="usernote-note" class="profile-note" {if !$oUserNote}style="display: none;"{/if}>
<p id="usernote-note-text">
{if $oUserNote}
{$oUserNote->getText()}
{/if}
</p>
<ul class="actions">
<li><a href="#" onclick="return ls.usernote.showForm();" class="link-dotted">{$aLang.user_note_form_edit}</a></li>
<li><a href="#" onclick="return ls.usernote.remove({$oUserProfile->getId()});" class="link-dotted">{$aLang.user_note_form_delete}</a></li>
</ul>
</div>
<div id="usernote-form" style="display: none;">
<p><textarea rows="4" cols="20" id="usernote-form-text" class="input-text input-width-full"></textarea></p>
<button onclick="return ls.usernote.save({$oUserProfile->getId()});" class="button button-primary">{$aLang.user_note_form_save}</button>
<button onclick="return ls.usernote.hideForm();" class="button">{$aLang.user_note_form_cancel}</button>
</div>
<a href="#" onclick="return ls.usernote.showForm();" id="usernote-button-add" class="link-dotted" {if $oUserNote}style="display:none;"{/if}>{$aLang.user_note_add}</a>
</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}

View file

@ -0,0 +1,23 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_stream}</h3>
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}
</ul>
{if !$bDisableGetMoreButton}
<input type="hidden" id="stream_last_id" value="{$iStreamLastId}" />
<a class="stream-get-more" id="stream_get_more" href="javascript:ls.stream.getMoreByUser({$oUserProfile->getId()})">{$aLang.stream_get_more} &darr;</a>
{/if}
{else}
{$aLang.stream_no_events}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,40 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{assign var="oSession" value=$oUserProfile->getSession()}
{assign var="oVote" value=$oUserProfile->getVote()}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_wall}</h3>
<script type="text/javascript">
ls.wall.init({
login:'{$oUserProfile->getLogin()}'
});
</script>
{if $oUserCurrent}
<form class="wall-submit">
<label for="wall-text">{$aLang.wall_add_title}:</label>
<p><textarea rows="4" id="wall-text" class="input-text input-width-full js-wall-reply-parent-text"></textarea></p>
<button type="button" onclick="ls.wall.add(jQuery('#wall-text').val(),0);" class="button button-primary js-button-wall-submit">{$aLang.wall_add_submit}</button>
</form>
{/if}
<div id="wall-container" class="comments 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>
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,49 @@
{foreach from=$aWall item=oWall}
{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>
<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>
<div class="comment-content text">
{$oWall->getText()}
</div>
{if $oUserCurrent and !$aReplyWall}
<ul class="comment-actions">
<li><a href="#" class="link-dotted" onclick="return ls.wall.toggleReply({$oWall->getId()});">{$aLang.wall_action_reply}</a></li>
</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}
<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>
<button type="button" onclick="ls.wall.addReply(jQuery('#wall-reply-text-{$oWall->getId()}').val(), {$oWall->getId()});" class="button button-primary js-button-wall-submit">{$aLang.wall_reply_submit}</button>
</form>
{/if}
</div>
{/foreach}

View file

@ -0,0 +1,18 @@
{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>
<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>
{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

@ -0,0 +1,217 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{assign var="oSession" value=$oUserProfile->getSession()}
{assign var="oVote" value=$oUserProfile->getVote()}
{assign var="oGeoTarget" value=$oUserProfile->getGeoTarget()}
{include file='actions/ActionProfile/profile_top.tpl'}
<h3 class="profile-page-header">{$aLang.user_menu_profile_whois}</h3>
{if $oUserProfile->getProfileAbout()}
<div class="profile-info-about">
<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}
{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}
{if $oGeoTarget->getCityId()}
<a href="{router page='people'}city/{$oGeoTarget->getCityId()}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
{/if}
</td>
</tr>
{/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}
{/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}
{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;
{/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}
{/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>
{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

@ -0,0 +1,95 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='create'}
{else}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.topic_question_edit}</h2>
{/if}
{hook run='add_topic_question_begin'}
<form action="" method="POST" enctype="multipart/form-data" id="form-topic-add">
{hook run='form_add_topic_question_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label>
<select name="blog_id" id="blog_id" onChange="ls.blog.loadInfo(jQuery(this).val());" class="input-width-full">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script type="text/javascript">
jQuery(document).ready(function($){
ls.blog.loadInfo($('#blog_id').val());
});
</script>
<p><label for="topic_title">{$aLang.topic_question_create_title}:</label>
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-text input-width-full" {if $bEditDisabled}disabled{/if} /><br />
<small class="note">{$aLang.topic_question_create_title_notice}</small></p>
<div class="poll-create">
<label>{$aLang.topic_question_create_answers}:</label>
<ul class="question-list" id="question_list">
{if count($_aRequest.answer)>=2}
{foreach from=$_aRequest.answer item=sAnswer key=i}
<li>
<input type="text" value="{$sAnswer}" name="answer[]" class="input-text input-width-300" {if $bEditDisabled}disabled{/if} />
{if !$bEditDisabled and $i>1} <a href="#" onClick="return ls.poll.removeAnswer(this);">{$aLang.topic_question_create_answers_delete}</a>{/if}
</li>
{/foreach}
{else}
<li><input type="text" value="" name="answer[]" class="input-text input-width-300" {if $bEditDisabled}disabled{/if} /></li>
<li><input type="text" value="" name="answer[]" class="input-text input-width-300" {if $bEditDisabled}disabled{/if} /></li>
{/if}
</ul>
{if !$bEditDisabled}
<a href="#" onClick="ls.poll.addAnswer(); return false;" class="link-dotted">{$aLang.topic_question_create_answers_add}</a>
{/if}
</div>
<p><label for="topic_text">{$aLang.topic_question_create_text}:</label>
<textarea name="topic_text" id="topic_text" rows="10" class="input-text input-width-full">{$_aRequest.topic_text}</textarea></p>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label>
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-text input-width-full autocomplete-tags-sep" />
<small class="note">{$aLang.topic_create_tags_notice}</small></p>
<p><label for="topic_forbid_comment">
<input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label>
<small class="note">{$aLang.topic_create_forbid_comment_notice}</small></p>
{if $oUserCurrent->isAdministrator()}
<p><label for="topic_publish_index">
<input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label>
<small class="note">{$aLang.topic_create_publish_index_notice}</small></p>
{/if}
<input type="hidden" name="topic_type" value="question" />
{hook run='form_add_topic_question_end'}
<button name="submit_topic_publish" id="submit_topic_publish" class="button button-primary fl-r">{$aLang.topic_create_submit_publish}</button>
<button name="submit_preview" onclick="jQuery('#text_preview').parent().show(); ls.topic.preview('form-topic-add','text_preview'); return false;" class="button">{$aLang.topic_create_submit_preview}</button>
<button name="submit_topic_save" id="submit_topic_save" class="button">{$aLang.topic_create_submit_save}</button>
</form>
<div class="topic-preview" id="text_preview"></div>
{hook run='add_topic_question_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,8 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.registration_activate_ok}</h2>
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
{include file='footer.tpl'}

View file

@ -0,0 +1,10 @@
{include file='header.tpl'}
<h2>{$aLang.registration_confirm_header}</h2>
{$aLang.registration_confirm_text}<br /><br />
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
{include file='footer.tpl'}

View file

@ -0,0 +1,73 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<script type="text/javascript">
jQuery(document).ready(function($){
$('#registration-form').find('input.js-ajax-validate').blur(function(e){
var aParams={ };
if ($(e.target).attr('name')=='password_confirm') {
aParams['password']=$('#user-password').val();
}
if ($(e.target).attr('name')=='password') {
aParams['password']=$('#user-password').val();
if ($('#user-password-confirm').val()) {
ls.user.validateRegistrationField('password_confirm',$('#user-password-confirm').val(),$('#registration-form'),{ 'password': $(e.target).val() });
}
}
ls.user.validateRegistrationField($(e.target).attr('name'),$(e.target).val(),$('#registration-form'),aParams);
});
$('#registration-form').bind('submit',function(){
ls.user.registration('registration-form');
return false;
});
$('#registration-form-submit').attr('disabled',false);
});
</script>
<h2 class="page-header">{$aLang.registration}</h2>
{hook run='registration_begin'}
<form action="{router page='registration'}" method="post" id="registration-form">
{hook run='form_registration_begin'}
<p><label for="popup-registration-login">{$aLang.registration_login}</label>
<input type="text" name="login" id="popup-registration-login" value="{$_aRequest.login}" class="input-text input-width-300 js-ajax-validate" />
<i class="icon-ok-green validate-ok-field-login" style="display: none"></i>
<i class="icon-question-sign js-tip-help" title="{$aLang.registration_login_notice}"></i>
<small class="validate-error-hide validate-error-field-login"></small></p>
<p><label for="popup-registration-mail">{$aLang.registration_mail}</label>
<input type="text" name="mail" id="popup-registration-mail" value="{$_aRequest.mail}" class="input-text input-width-300 js-ajax-validate" />
<i class="icon-ok-green validate-ok-field-mail" style="display: none"></i>
<i class="icon-question-sign js-tip-help" title="{$aLang.registration_mail_notice}"></i>
<small class="validate-error-hide validate-error-field-mail"></small></p>
<p><label for="popup-registration-user-password">{$aLang.registration_password}</label>
<input type="password" name="password" id="popup-registration-user-password" value="" class="input-text input-width-300 js-ajax-validate" />
<i class="icon-ok-green validate-ok-field-password" style="display: none"></i>
<i class="icon-question-sign js-tip-help" title="{$aLang.registration_password_notice}"></i>
<small class="validate-error-hide validate-error-field-password"></small></p>
<p><label for="popup-registration-user-password-confirm">{$aLang.registration_password_retry}</label>
<input type="password" value="" id="popup-registration-user-password-confirm" name="password_confirm" class="input-text input-width-300 js-ajax-validate" />
<i class="icon-ok-green validate-ok-field-password_confirm" style="display: none"></i>
<small class="validate-error-hide validate-error-field-password_confirm"></small></p>
{hookb run="registration_captcha"}
<p><label for="captcha">{$aLang.registration_captcha}</label>
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}"
onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();"
class="captcha-image" />
<input type="text" name="captcha" id="captcha" value="" maxlength="3" class="input-text input-width-100 js-ajax-validate" />
<small class="validate-error-hide validate-error-field-captcha"></small></p>
{/hookb}
{hook run='form_registration_end'}
<button name="submit_register" class="button button-primary" id="registration-form-submit" disabled="disabled">{$aLang.registration_submit}</button>
</form>
{hook run='registration_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,18 @@
{assign var="noSidebar" value=true}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.registration_invite}</h2>
<form action="{router page='registration'}invite/" method="POST">
<p><label>{$aLang.registration_invite_code}:</label>
<input type="text" name="invite_code" class="input-text input-width-300" /></p>
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" class="button" />
</form>
{include file='footer.tpl'}

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>{$aChannel.title}</title>
<link>{$aChannel.link}</link>
<atom:link href="{$PATH_WEB_CURRENT}/" rel="self" type="application/rss+xml" />
<description><![CDATA[{$aChannel.description}]]></description>
<language>{$aChannel.language}</language>
<managingEditor>{$aChannel.managingEditor} ({cfg name='path.root.web'})</managingEditor>
<webMaster>{$aChannel.managingEditor} ({cfg name='path.root.web'})</webMaster>
<copyright>{cfg name='path.root.web'}</copyright>
<generator>{$aChannel.generator}</generator>
{foreach from=$aItems item=oItem}
<item>
<title>{$oItem.title|escape:'html'}</title>
<guid isPermaLink="true">{$oItem.guid}</guid>
<link>{$oItem.link}</link>
<dc:creator>{$oItem.author}</dc:creator>
<description><![CDATA[{$oItem.description}]]></description>
<pubDate>{date_format date=$oItem.pubDate format="r"}</pubDate>
<category>{$oItem.category|replace:',':'</category>
<category>'}</category>
</item>
{/foreach}
</channel>
</rss>

View file

@ -0,0 +1,16 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.search}</h2>
{hook run='search_begin'}
<form action="{router page='search'}topics/" class="search">
{hook run='search_form_begin'}
<input type="text" placeholder="{$aLang.search}" maxlength="255" name="q" class="input-text">
<input type="submit" value="" title="{$aLang.search_submit}" class="input-submit icon icon-search">
{hook run='search_form_end'}
</form>
{hook run='search_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,18 @@
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>{cfg name='view.name'}</ShortName>
<Description>{$sHtmlTitle}</Description>
<Contact>{$sAdminMail}</Contact>
<Url type="text/html" template="{router page='search'}topics/?q={literal}{searchTerms}{/literal}" />
<LongName>{$sHtmlDescription}</LongName>
<Image height="64" width="64" type="image/png">{cfg name='path.static.skin'}/images/logo.png</Image>
<Image height="16" width="16" type="image/vnd.microsoft.icon">{cfg name='path.static.skin'}/images/favicon.ico</Image>
<Developer>{cfg name='view.name'} ({cfg name='path.root.web'})</Developer>
<Attribution>
© «{cfg name='view.name'}»
</Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>
<Language>ru-ru</Language>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
</OpenSearchDescription>

View file

@ -0,0 +1,48 @@
{include file='header.tpl'}
<h2 class="page-header">{$aLang.search_results}</h2>
<form action="{router page='search'}topics/" class="search">
{hook run='search_form_begin'}
<input type="text" value="{$aReq.q|escape:'html'}" placeholder="{$aLang.search}" maxlength="255" name="q" class="input-text">
<input type="submit" value="" title="{$aLang.search_submit}" class="input-submit icon icon-search">
{hook run='search_form_end'}
</form>
{if $bIsResults}
<ul class="switcher">
{foreach from=$aRes.aCounts item=iCount key=sType name="sTypes"}
<li {if $aReq.sType == $sType}class="active"{/if}>
<a href="{router page='search'}{$sType}/?q={$aReq.q|escape:'html'}">
{$iCount}
{if $sType=="topics"}
{$aLang.search_results_count_topics}
{elseif $sType=="comments"}
{$aLang.search_results_count_comments}
{else}
{hook run='search_result_item' sType=$sType}
{/if}
</a>
</li>
{/foreach}
</ul>
{if $aReq.sType == 'topics'}
{include file='topic_list.tpl'}
{elseif $aReq.sType == 'comments'}
{include file='comment_list.tpl'}
{else}
{hook run='search_result' sType=$aReq.sType}
{/if}
{else}
{$aLang.search_results_empty}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,61 @@
{assign var="sidebarPosition" value='left'}
{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">
{hook run='form_settings_account_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}">
<fieldset>
<legend>{$aLang.settings_account}</legend>
<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>
<fieldset>
<legend>{$aLang.settings_account_password}</legend>
<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>
<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>
{hook run='form_settings_account_end'}
<button name="submit_account_edit" class="button button-primary" />{$aLang.settings_profile_submit}</button>
</form>
{hook run='settings_account_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,29 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl' menu='settings'}
<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}" />
<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>
{hook run='form_settings_invite_end'}
<button name="submit_invite" class="button button-primary" />{$aLang.settings_invite_submit}</button>
</form>
{hook run='settings_invite_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,205 @@
{assign var="sidebarPosition" value='left'}
{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'}
<script type="text/javascript">
jQuery(document).ready(function($){
ls.lang.load({lang_load name="geo_select_city,geo_select_region"});
ls.geo.initSelect();
});
</script>
<p id="profile_user_field_template" style="display:none;" class="js-user-field-item">
<select name="profile_user_field_type[]">
{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'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}">
<fieldset>
<legend>{$aLang.settings_profile_section_base}</legend>
<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>
</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">
<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>
</select>
</dd>
</dl>
<dl class="form-item">
<dt><label for="">{$aLang.settings_profile_birthday}:</label></dt>
<dd>
<select name="profile_birthday_day">
<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">
<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">
<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>
{/section}
</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>
{assign var="aUserFieldValues" value=$oUserCurrent->getUserFieldValues(false,'')}
{if count($aUserFieldValues)}
{foreach from=$aUserFieldValues item=oField}
<dl class="form-item">
<dt><label for="profile_user_field_{$oField->getId()}">{$oField->getTitle()|escape:'html'}:</label></dt>
<dd><input type="text" class="input-text input-width-300" name="profile_user_field_{$oField->getId()}" id="profile_user_field_{$oField->getId()}" value="{$oField->getValue()|escape:'html'}"/></dd>
</dl>
{/foreach}
{/if}
</fieldset>
<fieldset>
<legend>{$aLang.settings_profile_section_contacts}</legend>
{assign var="aUserFieldContactValues" value=$oUserCurrent->getUserFieldValues(true,array('contact','social'))}
<div id="user-field-contact-contener">
{foreach from=$aUserFieldContactValues item=oField}
<p class="js-user-field-item">
<select name="profile_user_field_type[]">
{foreach from=$aUserFieldsContact item=oFieldAll}
<option value="{$oFieldAll->getId()}" {if $oFieldAll->getId()==$oField->getId()}selected="selected"{/if}>{$oFieldAll->getTitle()|escape:'html'}</option>
{/foreach}
</select>
<input type="text" name="profile_user_field_value[]" value="{$oField->getValue()|escape:'html'}" class="input-text input-width-200">
<a class="icon-remove" title="{$aLang.user_field_delete}" href="#" onclick="return ls.userfield.removeFormField(this);"></a>
</p>
{/foreach}
</div>
{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>
<a href="#" class="close jqmClose"></a>
</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>
</form>
{hook run='settings_profile_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,36 @@
{assign var="sidebarPosition" value='left'}
{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">
{hook run='form_settings_tuning_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<fieldset>
<legend>{$aLang.settings_tuning_notice}</legend>
<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'}
<button name="submit_settings_tuning" class="button button-primary">{$aLang.settings_profile_submit}</button>
</form>
{hook run='settings_tuning_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,18 @@
{assign var="noSidebar" value=true}
{include file='header.tpl' menu="stream"}
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}
</ul>
{if !$bDisableGetMoreButton}
<input type="hidden" id="stream_last_id" value="{$iStreamLastId}" />
<a class="stream-get-more" id="stream_get_more" href="javascript:ls.stream.getMoreAll()">{$aLang.stream_get_more} &darr;</a>
{/if}
{else}
{$aLang.stream_no_events}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,37 @@
{if count($aStreamEvents)}
{foreach from=$aStreamEvents item=oStreamEvent}
{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>
<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>
{elseif $oStreamEvent->getEventType() == 'add_comment'}
{$aLang.stream_list_event_add_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
<div class="stream-comment-preview">{$oTarget->getText()|strip_tags|truncate:200}</div>
{elseif $oStreamEvent->getEventType() == 'add_blog'}
{$aLang.stream_list_event_add_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_blog'}
{$aLang.stream_list_event_vote_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_topic'}
{$aLang.stream_list_event_vote_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_comment'}
{$aLang.stream_list_event_vote_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'vote_user'}
{$aLang.stream_list_event_vote_user} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
{elseif $oStreamEvent->getEventType() == 'join_blog'}
{$aLang.stream_list_event_join_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
{elseif $oStreamEvent->getEventType() == 'add_friend'}
{$aLang.stream_list_event_add_friend} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
{elseif $oStreamEvent->getEventType() == 'add_wall'}
{$aLang.stream_list_event_add_wall} <a href="{$oTarget->getUrlWall()}">{$oTarget->getWallUser()->getLogin()}</a>
<div class="stream-comment-preview">{$oTarget->getText()|strip_tags|truncate:200}</div>
{else}
{hook run="stream_list_event_`$oStreamEvent->getEventType()`" oStreamEvent=$oStreamEvent}
{/if}
</li>
{/foreach}
{/if}

View file

@ -0,0 +1,17 @@
{include file='header.tpl' menu="stream"}
{if count($aStreamEvents)}
<ul class="stream-list" id="stream-list">
{include file='actions/ActionStream/events.tpl'}
</ul>
{if !$bDisableGetMoreButton}
<input type="hidden" id="stream_last_id" value="{$iStreamLastId}" />
<a class="stream-get-more" id="stream_get_more" href="javascript:ls.stream.getMore()">{$aLang.stream_get_more} &darr;</a>
{/if}
{else}
{$aLang.stream_no_events}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,10 @@
{include file='header.tpl'}
<form action="" method="GET" class="js-tag-search-form search-tags">
<input type="text" name="tag" placeholder="Поиск тегов" value="{$sTag|escape:'html'}" class="input-text input-width-full autocomplete-tags js-tag-search" />
</form>
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,39 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
{include file='actions/ActionTalk/friends.tpl'}
{hook run='talk_add_begin'}
<div class="topic" style="display: none;">
<div class="content" id="text_preview"></div>
</div>
<form action="" method="POST" enctype="multipart/form-data">
{hook run='form_add_talk_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="talk_users">{$aLang.talk_create_users}:</label>
<input type="text" class="input-text input-width-full autocomplete-users-sep" id="talk_users" name="talk_users" value="{$_aRequest.talk_users}" /></p>
<p><label for="talk_title">{$aLang.talk_create_title}:</label>
<input type="text" class="input-text input-width-full" id="talk_title" name="talk_title" value="{$_aRequest.talk_title}" /></p>
<p><label for="talk_text">{$aLang.talk_create_text}:</label>
<textarea name="talk_text" id="talk_text" rows="12" class="input-text input-width-full">{$_aRequest.talk_text}</textarea></p>
{hook run='form_add_talk_end'}
<button class="button button-primary" name="submit_talk_add">{$aLang.talk_create_submit}</button>
<button class="button" name="submit_preview" onclick="jQuery('#text_preview').parent().show(); ls.tools.textPreview('talk_text',false); return false;">{$aLang.topic_create_submit_preview}</button>
</form>
{hook run='talk_add_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,32 @@
{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="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>
{include file='footer.tpl'}

View file

@ -0,0 +1,59 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl'}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
{if $aTalks}
<table class="table table-talk">
<thead>
<tr>
<th class="cell-favourite"></th>
<th class="cell-recipients">{$aLang.talk_inbox_target}</th>
<th class="cell-title">{$aLang.talk_inbox_title}</th>
<th class="cell-date ta-r">{$aLang.talk_inbox_date}</th>
</tr>
</thead>
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td class="cell-favourite">
<a href="#" onclick="return ls.favourite.toggle({$oTalk->getId()},this,'talk');" class="favourite {if $oTalk->getIsFavourite()}active{/if}"></a>
</td>
<td>
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td>
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<a href="{router page='talk'}read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
{else}
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
{/if}
&nbsp;
{if $oTalk->getCountComment()}
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}+{$oTalkUserAuthor->getCommentCountNew()}{/if}
{/if}
</td>
<td class="cell-date ta-r">{date_format date=$oTalk->getDate()}</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
<div class="notice-empty">{$aLang.talk_favourite_empty}</div>
{/if}
{include file='paging.tpl' aPaging=$aPaging}
{include file='footer.tpl'}

View file

@ -0,0 +1,31 @@
<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>
</header>
<div class="block-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><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><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><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>
<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>
<input type="submit" name="submit_talk_filter" value="{$aLang.talk_filter_submit}" class="button button-primary" />
<input type="submit" name="" value="{$aLang.talk_filter_submit_clear}" class="button" onclick="return ls.talk.clearFilter();" />
</form>
</div>
</section>

View file

@ -0,0 +1,26 @@
<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>
</header>
<div class="block-content" id="block_talk_friends_content">
{if $aUsersFriend}
<ul class="list" id="friends">
{foreach from=$aUsersFriend item=oFriend}
<li>
<input id="talk_friend_{$oFriend->getId()}" type="checkbox" name="friend[{$oFriend->getId()}]" class="input-checkbox" />
<label for="talk_friend_{$oFriend->getId()}" id="talk_friend_{$oFriend->getId()}_label">{$oFriend->getLogin()}</label>
</li>
{/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>
{else}
<div class="notice-empty">{$aLang.block_friends_empty}</div>
{/if}
</div>
</section>

View file

@ -0,0 +1,76 @@
{assign var="sidebarPosition" value='left'}
{include file='header.tpl' noShowSystemMessage=false}
{include file='actions/ActionProfile/profile_top.tpl'}
{include file='menu.talk.tpl'}
{if $aTalks}
{include file='actions/ActionTalk/filter.tpl'}
<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>
<th class="cell-checkbox"><input type="checkbox" name="" class="input-checkbox" onclick="ls.tools.checkAll('form_talks_checkbox', this, true);"></th>
<th class="cell-favourite"></th>
<th class="cell-recipients">{$aLang.talk_inbox_target}</th>
<th class="cell-title">{$aLang.talk_inbox_title}</th>
<th class="cell-date ta-r">{$aLang.talk_inbox_date}</th>
</tr>
</thead>
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td class="cell-checkbox"><input type="checkbox" name="talk_select[{$oTalk->getId()}]" class="form_talks_checkbox input-checkbox" /></td>
<td class="cell-favourite">
<a href="#" onclick="return ls.favourite.toggle({$oTalk->getId()},this,'talk');" class="favourite {if $oTalk->getIsFavourite()}active{/if}"></a>
</td>
<td>
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td>
{strip}
<a href="{router page='talk'}read/{$oTalk->getId()}/" class="js-title-comment" title="{$oTalk->getTextLast()|strip_tags|truncate:100:'...'}">
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<strong>{$oTalk->getTitle()|escape:'html'}</strong>
{else}
{$oTalk->getTitle()|escape:'html'}
{/if}
</a>
{/strip}
{if $oTalk->getCountComment()}
({$oTalk->getCountComment()}{if $oTalkUserAuthor->getCommentCountNew()} +{$oTalkUserAuthor->getCommentCountNew()}{/if})
{/if}
{if $oUserCurrent->getId()==$oTalk->getUserIdLast()}
&rarr;
{else}
&larr;
{/if}
</td>
<td class="cell-date ta-r">{date_format date=$oTalk->getDate() format="j F Y, H:i"}</td>
</tr>
{/foreach}
</tbody>
</table>
</form>
{else}
<div class="notice-empty">{$aLang.talk_inbox_empty}</div>
{/if}
{include file='paging.tpl' aPaging=$aPaging}
{include file='footer.tpl'}

View file

@ -0,0 +1,67 @@
{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()}
<article class="topic topic-type-talk">
<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>
<footer class="topic-footer">
<ul class="topic-info">
<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>
</footer>
</article>
{assign var="oTalkUser" value=$oTalk->getTalkUser()}
{if !$bNoComments}
{include
file='comment_tree.tpl'
iTargetId=$oTalk->getId()
sTargetType='talk'
iCountComment=$oTalk->getCountComment()
sDateReadLast=$oTalkUser->getDateLast()
sNoticeCommentAdd=$aLang.topic_comment_add
bNoCommentFavourites=true}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,32 @@
<div class="talk-recipients" 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>
<input type="hidden" id="talk_id" value="{$oTalk->getId()}" />
</form>
{/if}
<div id="speaker_list_block">
{if $oTalk->getTalkUsers()}
<ul class="list" id="speaker_list">
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
{if $oTalkUser->getUserActive()!=$TALK_USER_DELETE_BY_AUTHOR}
<li id="speaker_item_{$oTalkUser->getUserId()}_area">
<a class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
{if $oTalkUser->getUserActive()==$TALK_USER_ACTIVE and ($oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator())}- <a href="#" id="speaker_item_{$oTalkUser->getUserId()}" class="delete">{$aLang.blog_delete}</a>{/if}
</li>
{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
</div>

View file

@ -0,0 +1,97 @@
{if $sEvent=='add'}
{include file='header.tpl' menu='create'}
{else}
{include file='header.tpl'}
<h2 class="page-header">{$aLang.topic_topic_edit}</h2>
{/if}
{if $oConfig->GetValue('view.tinymce')}
<script src="{cfg name='path.root.engine_lib'}/external/tinymce-jq/tiny_mce.js"></script>
<script type="text/javascript">
jQuery(function($){
tinyMCE.init(ls.settings.getTinymce());
});
</script>
{else}
{include file='window_load_img.tpl' sToLoad='topic_text'}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="panel_b,panel_i,panel_u,panel_s,panel_url,panel_url_promt,panel_code,panel_video,panel_image,panel_cut,panel_quote,panel_list,panel_list_ul,panel_list_ol,panel_title,panel_clear_tags,panel_video_promt,panel_list_li,panel_image_promt,panel_user,panel_user_promt"});
// Подключаем редактор
$('#topic_text').markItUp(ls.settings.getMarkitup());
});
</script>
{/if}
{hook run='add_topic_topic_begin'}
<form action="" method="POST" enctype="multipart/form-data" id="form-topic-add">
{hook run='form_add_topic_topic_begin'}
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="blog_id">{$aLang.topic_create_blog}</label>
<select name="blog_id" id="blog_id" onChange="ls.blog.loadInfo(jQuery(this).val());" class="input-width-full">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
{/foreach}
</select></p>
<script type="text/javascript">
jQuery(document).ready(function($){
ls.blog.loadInfo($('#blog_id').val());
});
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label>
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-text input-width-full" />
<small class="note">{$aLang.topic_create_title_notice}</small></p>
<p><label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
<textarea name="topic_text" id="topic_text" rows="20" class="mce-editor">{$_aRequest.topic_text}</textarea></p>
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label>
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-text input-width-full autocomplete-tags-sep" />
<small class="note">{$aLang.topic_create_tags_notice}</small></p>
<p><label><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
{$aLang.topic_create_forbid_comment}</label>
<small class="note">{$aLang.topic_create_forbid_comment_notice}</small></p>
{if $oUserCurrent->isAdministrator()}
<p><label><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
{$aLang.topic_create_publish_index}</label>
<small class="note">{$aLang.topic_create_publish_index_notice}</small></p>
{/if}
<input type="hidden" name="topic_type" value="topic" />
{hook run='form_add_topic_topic_end'}
<button name="submit_topic_publish" id="submit_topic_publish" class="button button-primary fl-r">{$aLang.topic_create_submit_publish}</button>
<button name="submit_preview" onclick="ls.topic.preview('form-topic-add','text_preview'); return false;" class="button">{$aLang.topic_create_submit_preview}</button>
<button name="submit_topic_save" id="submit_topic_save" class="button">{$aLang.topic_create_submit_save}</button>
</form>
<div class="topic-preview" style="display: none;" id="text_preview"></div>
{hook run='add_topic_topic_end'}
{include file='footer.tpl'}

View file

@ -0,0 +1,3 @@
{include file='header.tpl' menu='create'}
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,18 @@
{include file='header.tpl' menu='blog'}
{include file='topic_list.tpl'}
{if count($aTopics)}
{if !$bDisableGetMoreButton}
<div id="userfeed_loaded_topics"></div>
<input type="hidden" id="userfeed_last_id" value="{$iUserfeedLastId}" />
<a class="stream-get-more" id="userfeed_get_more" href="javascript:ls.userfeed.getMore()">{$aLang.userfeed_get_more} &darr;</a>
{/if}
{else}
{$aLang.userfeed_no_events}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,12 @@
{get_blocks assign='aBlocksLoad'}
{if isset($aBlocksLoad.$group)}
{foreach from=$aBlocksLoad.$group item=aBlock}
{if $aBlock.type=='block'}
{insert name="block" block=$aBlock.name params=$aBlock.params}
{/if}
{if $aBlock.type=='template'}
{include file=$aBlock.name params=$aBlock.params}
{/if}
{/foreach}
{/if}

View file

@ -0,0 +1,20 @@
<section class="block">
<header class="block-header">
<h3>{$aLang.block_blog_info}</h3>
</header>
<div class="block-content">
<p id="block_blog_info"></p>
</div>
</section>
<section class="block">
<header class="block-header">
<h3>{$aLang.block_blog_info_note}</h3>
</header>
<div class="block-content">
<p>{$aLang.block_blog_info_note_text}</p>
</div>
</section>

View file

@ -0,0 +1,27 @@
<div class="block" id="block_blogs">
<header class="block-header">
<h3>{$aLang.block_blogs}</h3>
<div class="block-update js-block-blogs-update"></div>
</header>
<div class="block-content">
<ul class="nav nav-pills js-block-blogs-nav">
<li class="active js-block-blogs-item" data-type="top"><a href="#">{$aLang.block_blogs_top}</a></li>
{if $oUserCurrent}
<li class="js-block-blogs-item" data-type="join"><a href="#">{$aLang.block_blogs_join}</a></li>
<li class="js-block-blogs-item" data-type="self"><a href="#">{$aLang.block_blogs_self}</a></li>
{/if}
</ul>
<div class="js-block-blogs-content">
{$sBlogsTop}
</div>
<footer>
<a href="{router page='blogs'}">{$aLang.block_blogs_all}</a>
</footer>
</div>
</div>

View file

@ -0,0 +1,12 @@
<ul class="item-list">
{foreach from=$aBlogs item=oBlog}
<li>
<a href="{router page='blog'}{$oBlog->getUrl()}/"><img src="{$oBlog->getAvatarPath(48)}" alt="avatar" class="avatar" /></a>
{if $oBlog->getType()=='close'}<i title="{$aLang.blog_closed}" class="icon icon-lock"></i>{/if}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>
<p>{$aLang.blog_rating}: <strong>{$oBlog->getRating()}</strong></p>
</li>
{/foreach}
</ul>

View file

@ -0,0 +1,32 @@
<section class="block block-type-stream">
<header class="block-header">
<h3><a href="{router page='comments'}" title="{$aLang.block_stream_comments_all}">{$aLang.block_stream}</a></h3>
<div class="block-update js-block-stream-update"></div>
</header>
{hook run='block_stream_nav_item' assign="sItemsHook"}
<div class="block-content">
<ul class="nav nav-pills js-block-stream-nav" {if $sItemsHook}style="display: none;"{/if}>
<li class="active js-block-stream-item" data-type="comment"><a href="#">{$aLang.block_stream_comments}</a></li>
<li class="js-block-stream-item" data-type="topic"><a href="#">{$aLang.block_stream_topics}</a></li>
{$sItemsHook}
</ul>
<ul class="nav nav-pills js-block-stream-dropdown" {if !$sItemsHook}style="display: none;"{/if}>
<li class="dropdown active js-block-stream-dropdown-trigger"><a href="#">{$aLang.block_stream_comments}</a> <i class="arrow"></i>
<ul class="dropdown-menu js-block-stream-dropdown-items">
<li class="active js-block-stream-item" data-type="comment"><a href="#">{$aLang.block_stream_comments}</a></li>
<li class="js-block-stream-item" data-type="topic"><a href="#">{$aLang.block_stream_topics}</a></li>
{$sItemsHook}
</ul>
</li>
</ul>
<div class="js-block-stream-content">
{$sStreamComments}
</div>
</div>
</section>

View file

@ -0,0 +1,107 @@
{if $oUserCurrent}
{literal}
<script type="text/javascript">
jQuery(document).ready( function() {
jQuery('#stream_users_complete').keydown(function (event) {
if (event.which == 13) {
ls.stream.appendUser()
}
});
});
</script>
{/literal}
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.stream_block_config_title}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.stream_settings_note_filter}</small>
<ul class="activity-settings-filter">
{foreach from=$aStreamEventTypes key=sType item=aEventType}
{if !($oConfig->get('module.stream.disable_vote_events') && substr($sType, 0, 4) == 'vote')}
<li>
<label>
<input class="streamEventTypeCheckbox input-checkbox"
type="checkbox"
id="strn_et_{$sType}"
{if in_array($sType, $aStreamTypesList)}checked="checked"{/if}
onClick="ls.stream.switchEventType('{$sType}')" />
{assign var=langKey value="stream_event_type_`$sType`"}
{$aLang.$langKey}
</label>
</li>
{/if}
{/foreach}
</ul>
</div>
</section>
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.stream_block_users_title}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.stream_settings_note_follow_user}</small>
<p><input type="text" id="stream_users_complete" autocomplete="off" class="autocomplete-users input-text input-width-200" />
<a href="javascript:ls.stream.appendUser()" class="button">{$aLang.stream_block_config_append}</a></p>
{if count($aStreamSubscribedUsers)}
<ul id="stream_block_users_list" class="max-height-200">
{foreach from=$aStreamSubscribedUsers item=oUser}
{assign var=iUserId value=$oUser->getId()}
{if !isset($aStreamFriends.$iUserId)}
<li><input class="streamUserCheckbox input-checkbox"
type="checkbox"
id="strm_u_{$iUserId}"
checked="checked"
onClick="if (jQuery(this).prop('checked')) { ls.stream.subscribe({$iUserId}) } else { ls.stream.unsubscribe({$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/if}
{/foreach}
</ul>
{else}
<ul id="stream_block_users_list"></ul>
<p id="stream_no_subscribed_users">{$aLang.stream_no_subscribed_users}</p>
{/if}
</div>
</section>
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.stream_block_users_friends}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.stream_settings_note_follow_friend}</small>
{if count($aStreamFriends)}
<ul class="stream-settings-friends max-height-200">
{foreach from=$aStreamFriends item=oUser}
{assign var=iUserId value=$oUser->getId()}
<li><input class="streamUserCheckbox input-checkbox"
type="checkbox"
id="strm_u_{$iUserId}"
{if isset($aStreamSubscribedUsers.$iUserId)} checked="checked"{/if}
onClick="if (jQuery(this).prop('checked')) { ls.stream.subscribe({$iUserId}) } else { ls.stream.unsubscribe({$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/foreach}
</ul>
{else}
<small class="note">{$aLang.stream_no_subscribed_users}</small>
{/if}
</div>
</section>
{/if}

View file

@ -0,0 +1,21 @@
<ul class="latest-list">
{foreach from=$aComments item=oComment name="cmt"}
{assign var="oUser" value=$oComment->getUser()}
{assign var="oTopic" value=$oComment->getTarget()}
{assign var="oBlog" value=$oTopic->getBlog()}
<li class="js-title-comment" title="{$oComment->getText()|strip_tags|truncate:100:'...'}">
<p>
<a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a>
<time>{date_format date=$oComment->getDate() hours_back="12" minutes_back="60" now="60" day="day H:i" format="H:i"}</time>
</p>
<a href="{if $oConfig->GetValue('module.comment.nested_per_page')}{router page='comments'}{else}{$oTopic->getUrl()}#comment{/if}{$oComment->getId()}" class="stream-topic">{$oTopic->getTitle()|escape:'html'}</a>
<i>{$oTopic->getCountComment()}</i>
</li>
{/foreach}
</ul>
<footer>
<a href="{router page='comments'}">{$aLang.block_stream_comments_all}</a> | <a href="{router page='rss'}allcomments/">RSS</a>
</footer>

View file

@ -0,0 +1,23 @@
<ul class="latest-list">
{foreach from=$oTopics item=oTopic name="cmt"}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oBlog" value=$oTopic->getBlog()}
<li class="js-title-topic" title="{$oTopic->getText()|strip_tags|truncate:150:'...'}">
<a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a> &rarr;
<a href="{$oBlog->getUrlFull()}" class="blog-name">{$oBlog->getTitle()|escape:'html'}</a> &rarr;
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
<p>
<time>{date_format date=$oTopic->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</time> |
{$oTopic->getCountComment()} {$oTopic->getCountComment()|declension:$aLang.comment_declension:'russian'}
</p>
</li>
{/foreach}
</ul>
<footer>
<a href="{router page='index'}new/">{$aLang.block_stream_topics_all}</a> | <a href="{router page='rss'}new/">RSS</a>
</footer>

View file

@ -0,0 +1,47 @@
<section class="block">
<header class="block-header">
<h3>{$aLang.block_tags}</h3>
</header>
<div class="block-content">
<ul class="nav nav-pills">
<li class="active js-block-tags-item" data-type="all"><a href="#">{$aLang.topic_favourite_tags_block_all}</a></li>
{if $oUserCurrent}
<li class="js-block-tags-item" data-type="user"><a href="#">{$aLang.topic_favourite_tags_block_user}</a></li>
{/if}
{hook run='block_tags_nav_item'}
</ul>
<form action="" method="GET" class="js-tag-search-form search-tags">
<input type="text" name="tag" placeholder="Поиск тегов" value="" class="input-text input-width-full autocomplete-tags js-tag-search" />
</form>
<div class="js-block-tags-content" data-type="all">
{if $aTags}
<ul class="tag-cloud">
{foreach from=$aTags item=oTag}
<li><a class="tag-size-{$oTag->getSize()}" href="{router page='tag'}{$oTag->getText()|escape:'url'}/">{$oTag->getText()|escape:'html'}</a></li>
{/foreach}
</ul>
{else}
<div class="notice-empty">{$aLang.block_tags_empty}</div>
{/if}
</div>
{if $oUserCurrent}
<div class="js-block-tags-content" data-type="user" style="display: none;">
{if $aTagsUser}
<ul class="tag-cloud">
{foreach from=$aTagsUser item=oTag}
<li><a class="tag-size-{$oTag->getSize()}" href="{router page='tag'}{$oTag->getText()|escape:'url'}/">{$oTag->getText()|escape:'html'}</a></li>
{/foreach}
</ul>
{else}
<div class="notice-empty">{$aLang.block_tags_empty}</div>
{/if}
</div>
{/if}
</div>
</section>

View file

@ -0,0 +1,16 @@
{if $aCityList && count($aCityList)>0}
<section class="block">
<header class="block-header">
<h3>{$aLang.block_city_tags}</h3>
</header>
<div class="block-content">
<ul class="tag-cloud">
{foreach from=$aCityList item=oCity}
<li><a class="tag-size-{$oCity->getSize()}" href="{router page='people'}city/{$oCity->getId()}/">{$oCity->getName()|escape:'html'}</a></li>
{/foreach}
</ul>
</div>
</section>
{/if}

View file

@ -0,0 +1,16 @@
{if $aCountryList && count($aCountryList)>0}
<section class="block">
<header class="block-header">
<h3>{$aLang.block_country_tags}</h3>
</header>
<div class="block-content">
<ul class="tag-cloud">
{foreach from=$aCountryList item=oCountry}
<li><a class="tag-size-{$oCountry->getSize()}" href="{router page='people'}country/{$oCountry->getId()}/">{$oCountry->getName()|escape:'html'}</a></li>
{/foreach}
</ul>
</div>
</section>
{/if}

View file

@ -0,0 +1,40 @@
<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>
</header>
<div class="block-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>
{hook run='block_favourite_topic_tags_nav_item'}
</ul>
<div class="js-block-favourite-topic-tags-content" data-type="all">
{if $aFavouriteTopicTags}
<ul class="tag-cloud">
{foreach from=$aFavouriteTopicTags item=oTag}
<li><a class="tag-size-{$oTag->getSize()} {if $sFavouriteTag==$oTag->getText()}tag-current{/if}" title="{$oTag->getCount()}" href="{$oFavouriteUser->getUserWebPath()}favourites/topics/tag/{$oTag->getText()|escape:'url'}/">{$oTag->getText()}</a></li>
{/foreach}
</ul>
{else}
<div class="notice-empty">{$aLang.block_tags_empty}</div>
{/if}
</div>
<div class="js-block-favourite-topic-tags-content" data-type="user" style="display: none;">
{if $aFavouriteTopicUserTags}
<ul class="tag-cloud">
{foreach from=$aFavouriteTopicUserTags item=oTag}
<li><a class="tag-size-{$oTag->getSize()}" title="{$oTag->getCount()}" href="{$oFavouriteUser->getUserWebPath()}favourites/topics/tag/{$oTag->getText()|escape:'url'}/">{$oTag->getText()}</a></li>
{/foreach}
</ul>
{else}
<div class="notice-empty">{$aLang.block_tags_empty}</div>
{/if}
</div>
</div>
</section>

View file

@ -0,0 +1,27 @@
{if $oUserCurrent}
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.userfeed_block_blogs_title}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.userfeed_settings_note_follow_blogs}</small>
{if count($aUserfeedBlogs)}
<ul class="stream-settings-blogs">
{foreach from=$aUserfeedBlogs item=oBlog}
{assign var=iBlogId value=$oBlog->getId()}
<li><input class="userfeedBlogCheckbox input-checkbox"
type="checkbox"
{if isset($aUserfeedSubscribedBlogs.$iBlogId)} checked="checked"{/if}
onClick="if (jQuery(this).prop('checked')) { ls.userfeed.subscribe('blogs',{$iBlogId}) } else { ls.userfeed.unsubscribe('blogs',{$iBlogId}) } " />
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>
</li>
{/foreach}
</ul>
{else}
<small class="notice-empty">{$aLang.userfeed_no_blogs}</small>
{/if}
</div>
</section>
{/if}

View file

@ -0,0 +1,76 @@
{if $oUserCurrent}
{literal}
<script language="JavaScript" type="text/javascript">
jQuery(document).ready( function() {
jQuery('#userfeed_users_complete').keydown(function (event) {
if (event.which == 13) {
ls.userfeed.appendUser()
}
});
});
</script>
{/literal}
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.userfeed_block_users_title}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.userfeed_settings_note_follow_user}</small>
<div class="stream-settings-userlist">
<p><input type="text" id="userfeed_users_complete" autocomplete="off" class="autocomplete-users input-text input-width-200" />
<a href="javascript:ls.userfeed.appendUser()" class="button">{$aLang.userfeed_block_users_append}</a></p>
{if count($aUserfeedSubscribedUsers)}
<ul id="userfeed_block_users_list" class="max-height-200">
{foreach from=$aUserfeedSubscribedUsers item=oUser}
{assign var=iUserId value=$oUser->getId()}
{if !isset($aUserfeedFriends.$iUserId)}
<li><input class="userfeedUserCheckbox input-checkbox"
type="checkbox"
id="usf_u_{$iUserId}"
checked="checked"
onClick="if (jQuery(this).prop('checked')) { ls.userfeed.subscribe('users',{$iUserId}) } else { ls.userfeed.unsubscribe('users',{$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/if}
{/foreach}
</ul>
{else}
<ul id="userfeed_block_users_list"></ul>
{/if}
</div>
</div>
</section>
{if count($aUserfeedFriends)}
<section class="block block-type-activity">
<header class="block-header">
<h3>{$aLang.userfeed_block_users_friends}</h3>
</header>
<div class="block-content">
<small class="note">{$aLang.userfeed_settings_note_follow_friend}</small>
<ul class="stream-settings-friends max-height-200">
{foreach from=$aUserfeedFriends item=oUser}
{assign var=iUserId value=$oUser->getId()}
<li><input class="userfeedUserCheckbox input-checkbox"
type="checkbox"
id="usf_u_{$iUserId}"
{if isset($aUserfeedSubscribedUsers.$iUserId)} checked="checked"{/if}
onClick="if (jQuery(this).prop('checked')) { ls.userfeed.subscribe('users',{$iUserId}) } else { ls.userfeed.unsubscribe('users',{$iUserId}) } " />
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
</li>
{/foreach}
</ul>
</div>
</section>
{/if}
{/if}

View file

@ -0,0 +1,87 @@
<table class="table table-blogs">
{if $bBlogsUseOrder}
<thead>
<tr>
<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>
{/if}
<th class="cell-readers">
<a href="{$sBlogsRootPage}?order=blog_count_user&order_way={if $sBlogOrder=='blog_count_user'}{$sBlogOrderWayNext}{else}{$sBlogOrderWay}{/if}" {if $sBlogOrder=='blog_count_user'}class="{$sBlogOrderWay}"{/if}>{$aLang.blogs_readers}</a>
</th>
<th class="cell-rating align-center"><a href="{$sBlogsRootPage}?order=blog_rating&order_way={if $sBlogOrder=='blog_rating'}{$sBlogOrderWayNext}{else}{$sBlogOrderWay}{/if}" {if $sBlogOrder=='blog_rating'}class="{$sBlogOrderWay}"{/if}>{$aLang.blogs_rating}</a></th>
</tr>
</thead>
{else}
<thead>
<tr>
<th class="cell-name">{$aLang.blogs_title}</th>
{if $oUserCurrent}
<th class="cell-join">{$aLang.blog_join_leave}</th>
{/if}
<th class="cell-readers">{$aLang.blogs_readers}</th>
<th class="cell-rating align-center">{$aLang.blogs_rating}</th>
</tr>
</thead>
{/if}
<tbody>
{if $aBlogs}
{foreach from=$aBlogs item=oBlog}
{assign var="oUserOwner" value=$oBlog->getOwner()}
<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>
{if $oBlog->getType() == 'close'}
<i title="{$aLang.blog_closed}" class="icon-lock"></i>
{/if}
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>
</p>
</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>
{else}
&mdash;
{/if}
</td>
{/if}
<td class="cell-readers" id="blog_user_count_{$oBlog->getId()}">{$oBlog->getCountUser()}</td>
<td class="cell-rating align-center">{$oBlog->getRating()}</td>
</tr>
{/foreach}
{else}
<tr>
<td colspan="3">
{if $sBlogsEmptyList}
{$sBlogsEmptyList}
{else}
{/if}
</td>
</tr>
{/if}
</tbody>
</table>

View file

@ -0,0 +1,99 @@
{assign var="oUser" value=$oComment->getUser()}
{assign var="oVote" value=$oComment->getVote()}
<section id="comment_id_{$oComment->getId()}" class="comment
{if $oComment->isBad()}
comment-bad
{/if}
{if $oComment->getDelete()}
comment-deleted
{elseif $oUserCurrent and $oComment->getUserId() == $oUserCurrent->getId()}
comment-self
{elseif $sDateReadLast <= $oComment->getDate()}
comment-new
{/if}">
{if !$oComment->getDelete() or $bOneComment or ($oUserCurrent and $oUserCurrent->isAdministrator())}
<a name="comment{$oComment->getId()}"></a>
<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" alt="avatar" class="comment-avatar" /></a>
<ul class="comment-info">
<li class="comment-author">
{if $iAuthorId == $oUser->getId()}<span class="comment-topic-author" title="{if $sAuthorNotice}{$sAuthorNotice}{/if}">{$aLang.comment_target_author}</span>{/if}
<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}#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>
</li>
{if $oComment->getPid()}
<li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment({$oComment->getId()},{$oComment->getPid()}); return false;" title="{$aLang.comment_goto_parent}">↑</a></li>
{/if}
<li class="goto-comment-child"><a href="#" title="{$aLang.comment_goto_child}">↓</a></li>
{if $oComment->getTargetType() != 'talk'}
<li id="vote_area_comment_{$oComment->getId()}" class="vote
{if $oComment->getRating() > 0}
vote-count-positive
{elseif $oComment->getRating() < 0}
vote-count-negative
{/if}
{if $oVote}
voted
{if $oVote->getDirection() > 0}
voted-up
{else}
voted-down
{/if}
{/if}">
<div class="vote-down" onclick="return ls.vote.vote({$oComment->getId()},this,-1,'comment');"></div>
<span class="vote-count" id="vote_total_comment_{$oComment->getId()}">{$oComment->getRating()}</span>
<div class="vote-up" onclick="return ls.vote.vote({$oComment->getId()},this,1,'comment');"></div>
</li>
{/if}
{if $oUserCurrent and !$bNoCommentFavourites}
<li class="comment-favourite">
<div onclick="return ls.favourite.toggle({$oComment->getId()},this,'comment');" class="favourite {if $oComment->getIsFavourite()}active{/if}"></div>
<span class="favourite-count" id="fav_count_comment_{$oComment->getId()}">{if $oComment->getCountFavourite() > 0}{$oComment->getCountFavourite()}{/if}</span>
</li>
{/if}
</ul>
<div id="comment_content_id_{$oComment->getId()}" class="comment-content text">
{$oComment->getText()}
</div>
{if $oUserCurrent}
<ul class="comment-actions">
{if !$oComment->getDelete() and !$bAllowNewComment}
<li><a href="#" onclick="ls.comments.toggleCommentForm({$oComment->getId()}); return false;" class="reply-link link-dotted">{$aLang.comment_answer}</a></li>
{/if}
{if !$oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="comment-delete link-dotted" onclick="ls.comments.toggle(this,{$oComment->getId()}); return false;">{$aLang.comment_delete}</a></li>
{/if}
{if $oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="comment-repair link-dotted" onclick="ls.comments.toggle(this,{$oComment->getId()}); return false;">{$aLang.comment_repair}</a></li>
{/if}
{hook run='comment_action' comment=$oComment}
</ul>
{/if}
{else}
{$aLang.comment_was_delete}
{/if}
</section>

View file

@ -0,0 +1,56 @@
<div class="comments comment-list">
{foreach from=$aComments item=oComment}
{assign var="oUser" value=$oComment->getUser()}
{assign var="oTopic" value=$oComment->getTarget()}
{assign var="oBlog" value=$oTopic->getBlog()}
<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>
<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>
</li>
{if $oUserCurrent and !$bNoCommentFavourites}
<li class="comment-favourite">
<div onclick="return ls.favourite.toggle({$oComment->getId()},this,'comment');" class="favourite {if $oComment->getIsFavourite()}active{/if}"></div>
<span class="favourite-count" id="fav_count_comment_{$oComment->getId()}">{if $oComment->getCountFavourite() > 0}{$oComment->getCountFavourite()}{/if}</span>
</li>
{/if}
<li id="vote_area_comment_{$oComment->getId()}" class="vote
{if $oComment->getRating() > 0}
vote-count-positive
{elseif $oComment->getRating() < 0}
vote-count-negative
{/if}">
<span class="vote-count" id="vote_total_comment_{$oComment->getId()}">{$oComment->getRating()}</span>
</li>
</ul>
<div class="comment-content text">
{if $oComment->isBad()}
{$oComment->getText()}
{else}
{$oComment->getText()}
{/if}
</div>
</section>
{/foreach}
</div>
{include file='paging.tpl' aPaging=$aPaging}

View file

@ -0,0 +1,49 @@
{if $aPagingCmt and $aPagingCmt.iCountPage>1}
{if $aPagingCmt.sGetParams}
{assign var="sGetSep" value='&'}
{else}
{assign var="sGetSep" value='?'}
{/if}
<div class="pagination pagination-comments">
<ul>
<li>{$aLang.paging}:</li>
{if $oConfig->GetValue('module.comment.nested_page_reverse')}
{if $aPagingCmt.iCurrentPage>1}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage=1">&larr;</a></li>
{/if}
{foreach from=$aPagingCmt.aPagesLeft item=iPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$iPage}">{$iPage}</a></li>
{/foreach}
<li class="active">{$aPagingCmt.iCurrentPage}</li>
{foreach from=$aPagingCmt.aPagesRight item=iPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$iPage}">{$iPage}</a></li>
{/foreach}
{if $aPagingCmt.iCurrentPage<$aPagingCmt.iCountPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$aPagingCmt.iCountPage}">{$aLang.paging_last}</a></li>
{/if}
{else}
{if $aPagingCmt.iCurrentPage<$aPagingCmt.iCountPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$aPagingCmt.iCountPage}">{$aLang.paging_last}</a></li>
{/if}
{foreach from=$aPagingCmt.aPagesRight item=iPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$iPage}">{$iPage}</a></li>
{/foreach}
<li class="active">{$aPagingCmt.iCurrentPage}</li>
{foreach from=$aPagingCmt.aPagesLeft item=iPage}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage={$iPage}">{$iPage}</a></li>
{/foreach}
{if $aPagingCmt.iCurrentPage>1}
<li><a href="{$aPagingCmt.sGetParams}{$sGetSep}cmtpage=1">&rarr;</a></li>
{/if}
{/if}
</ul>
</div>
{/if}

View file

@ -0,0 +1,101 @@
{add_block group='toolbar' name='toolbar_comment.tpl'
aPagingCmt=$aPagingCmt
iTargetId=$iTargetId
sTargetType=$sTargetType
iMaxIdComment=$iMaxIdComment
}
<div class="comments" id="comments">
<header class="comments-header">
<h3>{$iCountComment} {$iCountComment|declension:$aLang.comment_declension:'russian'}</h3>
{if $bAllowSubscribe and $oUserCurrent}
<input {if $oSubscribeComment and $oSubscribeComment->getStatus()}checked="checked"{/if} type="checkbox" id="comment_subscribe" class="input-checkbox" onchange="ls.subscribe.toggle('{$sTargetType}_new_comment','{$iTargetId}','',this.checked);">
<label for="comment_subscribe">{$aLang.comment_subscribe}</label>
{/if}
<a name="comments"></a>
</header>
{assign var="nesting" value="-1"}
{foreach from=$aComments item=oComment name=rublist}
{assign var="cmtlevel" value=$oComment->getLevel()}
{if $cmtlevel>$oConfig->GetValue('module.comment.max_tree')}
{assign var="cmtlevel" value=$oConfig->GetValue('module.comment.max_tree')}
{/if}
{if $nesting < $cmtlevel}
{elseif $nesting > $cmtlevel}
{section name=closelist1 loop=$nesting-$cmtlevel+1}</div>{/section}
{elseif not $smarty.foreach.rublist.first}
</div>
{/if}
<div class="comment-wrapper" id="comment_wrapper_id_{$oComment->getId()}">
{include file='comment.tpl'}
{assign var="nesting" value=$cmtlevel}
{if $smarty.foreach.rublist.last}
{section name=closelist2 loop=$nesting+1}</div>{/section}
{/if}
{/foreach}
</div>
{include file='comment_paging.tpl' aPagingCmt=$aPagingCmt}
{if $bAllowNewComment}
{$sNoticeNotAllow}
{else}
{if $oUserCurrent}
{if $oConfig->GetValue('view.tinymce')}
<script src="{cfg name='path.root.engine_lib'}/external/tinymce-jq/tiny_mce.js"></script>
<script type="text/javascript">
jQuery(function($){
tinyMCE.init(ls.settings.getTinymceComment());
});
</script>
{else}
{include file='window_load_img.tpl' sToLoad='form_comment_text'}
<script type="text/javascript">
jQuery(function($){
ls.lang.load({lang_load name="panel_b,panel_i,panel_u,panel_s,panel_url,panel_url_promt,panel_code,panel_video,panel_image,panel_cut,panel_quote,panel_list,panel_list_ul,panel_list_ol,panel_title,panel_clear_tags,panel_video_promt,panel_list_li,panel_image_promt,panel_user,panel_user_promt"});
// Подключаем редактор
jQuery('#form_comment_text').markItUp(ls.settings.getMarkitupComment());
});
</script>
{/if}
<h4 class="reply-header" id="comment_id_0">
<a href="#" class="link-dotted" onclick="ls.comments.toggleCommentForm(0); return false;">{$sNoticeCommentAdd}</a>
</h4>
<div id="reply" class="reply">
<form method="post" id="form_comment" onsubmit="return false;" enctype="multipart/form-data">
{hook run='form_add_comment_begin'}
<textarea name="comment_text" id="form_comment_text" class=""></textarea>
{hook run='form_add_comment_end'}
<button name="submit_comment"
id="comment-button-submit"
onclick="ls.comments.add('form_comment',{$iTargetId},'{$sTargetType}'); return false;"
class="button button-primary">{$aLang.comment_add}</button>
<button type="button" onclick="ls.comments.preview();" class="button">{$aLang.comment_preview}</button>
<input type="hidden" name="reply" value="0" id="form_comment_reply" />
<input type="hidden" name="cmt_target_id" value="{$iTargetId}" />
</form>
</div>
{else}
{$aLang.comment_unregistered}
{/if}
{/if}

View file

@ -0,0 +1,117 @@
/* -------------------------------------------------------------------
ОСНОВНЫЕ СТИЛИ
------------------------------------------------------------------- */
body {
font-size: 12px;
font-family: Verdana, "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 18px;
color: #333;
background-color: #fbfcfc;
}
/* Ссылки
---------------------------------------------------- */
a { color: #3f8ad7; text-decoration: none; }
a:hover { color: #f00; }
a.link-dashed { border-bottom: 1px dashed #5055b2; }
a.link-dashed:hover { border-color: #06e; }
a.link-dotted { text-decoration: none; border-bottom: 1px dotted #5055b2; }
a.link-dotted:hover { border-color: #06e; }
/* Заголовки
---------------------------------------------------- */
h2.page-header { color: #333; font-size: 27px; line-height: 1em; font-weight: bold; margin-bottom: 20px; }
h2.page-header span { color: #aaa; }
h2.header-table { margin-bottom: 0; border-bottom: 1px solid #eee; padding-bottom: 5px; font-size: 14px; font-weight: bold; }
/* Шапка сайта
---------------------------------------------------- */
#header .site-name { font-size: 25px; line-height: 1em; text-transform: lowercase; float: left; padding-top: 11px; margin-right: 30px; margin-left: 18px; }
#header .site-name a { color: #fff; }
#header .site-name a:hover { color: #eee; }
/* Футер
---------------------------------------------------- */
#footer .copyright { float: right; }
/* Навигация
---------------------------------------------------- */
#nav .button.button-write { position: absolute; top: 15px; right: 15px; }
/* Stat
---------------------------------------------------- */
.stat-performance { width: 910px; margin: 0 auto 20px; padding: 15px 20px; background: #fff; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.stat-performance table { }
.stat-performance table td { width: 200px; vertical-align: top; }
.stat-performance h4 { font-weight: bold; }
/* Userfeed
---------------------------------------------------- */
.userfeed-get-more {display:block; width:90%; margin:0px auto; text-align:center; height:2.5em; padding-top:1em;}
.userfeed-get-more:hover { background: #f0f7fd;}
.userfeed_loading {background: #F7F7F7 url(../images/loader.gif) no-repeat center;}
/* 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_loading { background: #f7f7f7 url(../images/loader.gif) no-repeat center; }
.stream-comment-preview { padding: 5px 10px; background: #f3f3f3; margin-top: 5px; }
.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 a { text-decoration: none; }
.stream-list li a:hover { text-decoration: underline; }
/* Userfields
---------------------------------------------------- */
.userfield-list { width: 450px; }
.userfield-list li { background: #eee; margin-bottom: 1px; padding: 10px 10px; overflow: hidden; zoom: 1; line-height: 12px; color: #777; }
.userfield-list li .userfield-actions { float: right; }
.userfield-list li .userfield_admin_name { font-weight: bold; color: #333; }
.userfield-add { text-decoration: none; border-bottom: 1px dashed #70AAE0; }
.userfield-add:hover { color: #333; border-color: #333; }
/* Misc
---------------------------------------------------- */
.avatar-edit { margin-bottom: 15px; }
.avatar-edit img { vertical-align: bottom; }
.avatar-edit label { margin-top: 10px; }
.drafts { float: right; margin-top: 10px; }
.poll-create { padding: 15px 20px; margin-bottom: 20px; background: #f7f7f7; }
.question-list { margin-bottom: 15px; }
.question-list li { margin-bottom: 5px; }
.question-list li .input-text { margin-right: 10px; }

View file

@ -0,0 +1,64 @@
/* -------------------------------------------------------------------
БЛОКИ
------------------------------------------------------------------- */
.block { padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px dotted #dce1e6; }
.block:last-child { margin-bottom: 0; border: none; }
.sidebar-left .block { margin-bottom: 10px; }
.block .block-header { position: relative; margin-bottom: 15px; }
.block .block-header h3 { font-size: 22px; line-height: 1em; font-weight: normal; font-family: 'PT Sans', sans-serif; }
.block .block-header h3 a { text-decoration: none; color: #333; }
.block .block-header h3 a.link-dotted { color: #5055B2; }
.block .block-content { }
.block footer { margin-top: 15px; font-size: 12px; }
.block .max-height-200 { overflow: auto; max-height: 200px; _height: expression( this.scrollHeight > 200 ? "200px" : "auto" ); position: relative; }
/* Block Type - Stream */
.block .block-update { position: absolute; top: 13px; right: 15px; width: 16px; height: 16px; background: url(../images/update.gif) no-repeat; cursor: pointer; }
.block .block-update.active { background-position: -16px 0; }
.block.block-type-stream .block-content .latest-list { }
.block.block-type-stream .block-content .latest-list li { margin-bottom: 15px; color: #818189; }
.block.block-type-stream .block-content .latest-list p { font-size: 11px; }
.block.block-type-stream .block-content .latest-list .stream-topic { text-decoration: underline; }
.block.block-type-stream .block-content .latest-list .author { color: #4c4c4c; text-decoration: underline; }
.block.block-type-stream .block-content .latest-list .author:hover { color: #f00; }
/* Block Type - Activity Settings */
.block.block-type-activity p { margin-bottom: 15px; }
.block.block-type-activity ul li { margin-bottom: 5px; }
.block.block-type-activity .note { display: block; margin-bottom: 15px; color: #aaa; }
/* Block Type - Profile */
.block.block-type-profile { background: none; border: none; padding: 0; }
.block.block-type-profile .profile-photo-wrapper { position: relative; min-height: 50px; }
.block.block-type-profile .profile-photo { vertical-align: top; }
.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-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-nav { padding: 0; background: 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 ul li:last-child { margin-bottom: 0; }
.block.block-type-profile-actions ul li a.followed { color: #f00; }
/* Block Type - Foldable */
.block.block-type-foldable { background: none; }
.block.block-type-foldable .block-header { background: none; border: none; padding: 0 0 10px; }
.block.block-type-foldable .block-content { display: none; background: #fafafa; }
.block.block-type-talk-search { margin-bottom: 10px; }
.block.block-type-talk-friends { margin-bottom: 10px; }

View file

@ -0,0 +1,40 @@
/* --------------------------------------------
БЛОГ
-------------------------------------------- */
.blog { background: #fafafa; margin-bottom: 10px; border-radius: 3px; border: 1px solid #eee; overflow: hidden; }
/* Header */
.blog .blog-header { position: relative; padding: 15px 130px 15px 78px; border-bottom: 1px solid #eee; }
.blog .blog-header h2 { font-size: 20px; font-weight: bold; line-height: 1em; margin-top: 3px; margin-bottom: 7px; }
.blog .blog-header h2 i { position: relative; top: 5px; }
.blog .blog-header .avatar { position: absolute; top: 15px; left: 15px; }
.blog .blog-header .vote-label { text-transform: uppercase; text-align: right; font-size: 11px; color: #aaa; }
.blog .blog-header .count { font-size: 34px; line-height: 1em; font-weight: bold; text-align: right; }
.blog .blog-header .vote { position: absolute; top: 15px; right: 15px; }
.blog .blog-header .vote .vote-count { padding-left: 25px; display: block; color: #333; }
.blog .blog-header .vote .vote-up { position: absolute; top: 22px; left: 0; display: none; }
.blog .blog-header .vote .vote-down { position: absolute; top: 35px; left: 0; display: none; }
.blog .blog-header .vote:hover .vote-up,
.blog .blog-header .vote:hover .vote-down,
.blog .blog-header .vote.voted .vote-up,
.blog .blog-header .vote.voted .vote-down { display: inline-block; }
.blog .blog-header .vote.vote-count-positive .vote-count { color: #5055B2; }
.blog .blog-header .actions { margin-bottom: 0; }
/* Content */
.blog .blog-content { padding: 15px; border-bottom: 1px solid #eee; }
/* Footer */
.blog .blog-footer { padding: 15px; border-bottom: 1px solid #eee; }
/* More Button */
.blog-more { display: block; padding: 10px 0; text-align: center; text-decoration: none; background: #fafafa; }
.blog-more:hover { background: #eee; }

View file

@ -0,0 +1,89 @@
/* -------------------------------------------------------------------
КНОПКИ
Примеры использования:
<button class="button">Preview</button>
<a href="#" class="button">Preview</a>
<button class="button button-primary">Save</button>
------------------------------------------------------------------- */
.button {
display: inline-block;
padding: 7px 15px;
text-align: center;
border: none;
border-radius: 2px;
font-size: 11px;
line-height: 16px;
color: #fff;
background: #555;
background: -moz-linear-gradient(top, #666666 0%, #555555 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#666666), color-stop(100%,#555555));
background: -webkit-linear-gradient(top, #666666 0%,#555555 100%);
background: -o-linear-gradient(top, #666666 0%,#555555 100%);
background: -ms-linear-gradient(top, #666666 0%,#555555 100%);
background: linear-gradient(top, #666666 0%,#555555 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#555555',GradientType=0 );
/* text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); */
font-family: Verdana, sans-serif;
cursor: pointer;
*margin-right: 5px;
}
.button:hover { text-decoration: none; color: #fff; background: #666; }
.button:active {
-moz-box-shadow: 0 0 7px rgba(0, 0, 0, .5) inset;
-webkit-box-shadow: 0 0 7px rgba(0, 0, 0, .5) inset;
box-shadow: 0 0 7px rgba(0, 0, 0, .5) inset;
}
.button.fl-r { *margin-right: 0; }
/* Button Primary */
.button.button-primary {
background: #43bb34;
background: -moz-linear-gradient(top, #43bb34 0%, #3aa62c 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#43bb34), color-stop(100%,#3aa62c));
background: -webkit-linear-gradient(top, #43bb34 0%,#3aa62c 100%);
background: -o-linear-gradient(top, #43bb34 0%,#3aa62c 100%);
background: -ms-linear-gradient(top, #43bb34 0%,#3aa62c 100%);
background: linear-gradient(top, #43bb34 0%,#3aa62c 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#43bb34', endColorstr='#3aa62c',GradientType=0 );
}
.button.button-primary:hover { background: #3AA62C; }
/* Button Icon (Without text) */
.button.button-icon { padding: 7px 10px; }
/* Button Write */
.button.button-write {
background: #66cfff;
background: -moz-linear-gradient(top, #66cfff 0%, #2abcfe 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#66cfff), color-stop(100%,#2abcfe));
background: -webkit-linear-gradient(top, #66cfff 0%,#2abcfe 100%);
background: -o-linear-gradient(top, #66cfff 0%,#2abcfe 100%);
background: -ms-linear-gradient(top, #66cfff 0%,#2abcfe 100%);
background: linear-gradient(top, #66cfff 0%,#2abcfe 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66cfff', endColorstr='#2abcfe',GradientType=0 );
border: 1px solid #27ace8;
padding: 2px 15px 4px;
border-radius: 15px;
}
.button.button-write:hover { background: #2abcfe; }

View file

@ -0,0 +1,75 @@
/* --------------------------------------------
КОММЕНТАРИИ
-------------------------------------------- */
/* Блок с комментариями */
.comments-header { margin-bottom: 20px; }
.comments-header h3 { font-size: 24px; margin-bottom: 5px; }
.comments { margin-bottom: 30px; }
.comment-wrapper { position: relative; }
.comment-wrapper .comment-wrapper { padding-left: 25px; }
.comment-preview { padding: 5px 10px 6px; margin-bottom: 10px; background: #fafafa; border: 1px solid #eee; border-radius: 3px; }
.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 10px 10px 68px; position: relative; }
.comment .deleted { padding: 5px 10px; color: #777; background: #f4f4f4; }
.comment .comment-avatar { position: absolute; top: 10px; left: 10px; }
/* Типы комментариев
*
* deleted - удаленный комментарий
* self - ваш комментарий
* new - новый, непрочитанный комментарий
* current - активный комментарий, который выделяется при исползование кнопки обновления в тулбаре
*
*/
.comment { background: #f7f7f7; }
.comment.comment-deleted { background: #efd5d5; }
.comment.comment-self { background: #c5f7ea; }
.comment.comment-new { background: #fbfba8; }
.comment.comment-current { background: #a5e7fa; }
.comment.comment-bad { opacity: 0.3; filter: alpha(opacity=30); }
.comment.comment-bad:hover { opacity: 1; filter: alpha(opacity=100); }
.ls-user-role-not-admin .comment.comment-deleted { padding: 10px 15px; min-height: 0; background: #f7f7f7; color: #888; }
/* Info Block */
.comment .comment-info { padding: 0 70px 7px 0; line-height: 12px; position: relative; top: -2px; overflow: hidden; zoom: 1; }
.comment .comment-info li { float: left; height: 18px; padding-top: 3px; margin-right: 10px; }
.comment .comment-info li a { text-decoration: none; }
.comment .comment-info li.comment-author a { font-weight: bold; }
.comment .comment-info li.comment-author .comment-topic-author { background: #C9A518; color: #fff; font-size: 11px; border-radius: 3px; padding: 1px 7px; margin-right: 5px; }
.comment .comment-info li.comment-date a { color: #999; border-color: #999; }
.comment .comment-info li.vote { position: absolute; top: 0; right: 0; margin: 0; }
.comment .comment-info li.goto-comment-child { display: none; }
/* Content */
.comment .comment-content { margin-bottom: 10px; }
.comment .comment-content.text { font-size: 13px; }
.comment .comment-content.text blockquote { background: #fff; border-color: #ccc; padding: 5px 10px; margin-bottom: 5px; }
/* Actions */
.comment .comment-actions li { display: inline; margin-right: 10px; }
/* Форма комментирования */
.reply-header { font-size: 20px; line-height: 1.3em; margin-bottom: 15px; }
.reply { padding-bottom: 10px; }
.reply textarea { height: 100px; }
.reply textarea.loader { background: #f7f7f7 url(../images/loader.gif) no-repeat center;}

View file

@ -0,0 +1,184 @@
/* -------------------------------------------------------------------
ОБЩИЕ СТИЛИ
------------------------------------------------------------------- */
/* Голосование
---------------------------------------------------- */
.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.vote-count-positive .vote-count { color: #390; }
.vote.vote-count-negative .vote-count { color: #f00; }
.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.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); }
/* Избранное
---------------------------------------------------- */
.favourite { display: inline-block; width: 14px; height: 14px; vertical-align: text-top; background: url(../images/icons.png) -96px 0 no-repeat; opacity: .3; filter: alpha(opacity=30); cursor: pointer; }
.favourite.active { opacity: 1; filter: alpha(opacity=100); }
.favourite:hover { opacity: .8; filter: alpha(opacity=80); }
.favourite-count { margin-left: 0; font-weight: bold; }
/* Пагинация
---------------------------------------------------- */
.pagination ul { overflow: hidden; zoom: 1; line-height: 1em; }
.pagination ul li { float: left; margin-right: 5px; }
.pagination ul li span,
.pagination ul li a { float: left; padding: 7px 10px; background: #eee; color: #333; }
.pagination ul li a:hover { background: #ddd; }
.pagination ul li.active span { color: #bbb; background: #fafafa; }
.pagination ul li i { opacity: .5; filter: alpha(opacity=50); }
/* Actions
---------------------------------------------------- */
.actions { overflow: hidden; zoom: 1; margin-bottom: 10px; }
.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 { float: right; position: fixed; top: 220px; right: 10px; z-index: 100; }
.toolbar section { width: 34px; line-height: 14px; background: #fff; box-shadow: 0 0 5px rgba(0,0,0,.05); margin-bottom: 10px; }
.toolbar section a { display: block; padding: 10px; }
.toolbar section a:hover { background: #fafafa; }
.toolbar section i { display: block; }
/* Admin button */
.toolbar .toolbar-admin a { display: block; }
/* 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; }
/* Topic navigation */
.toolbar .toolbar-topic a.toolbar-topic-prev { border-bottom: 1px solid #eee; }
/* Scroll up */
.toolbar .toolbar-scrollup { display: none; }
/* Список пользователей
---------------------------------------------------- */
.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 img { margin-bottom: 2px; display: block; }
/* Поиск
---------------------------------------------------- */
.search { width: 200px; margin-bottom: 20px; position: relative; }
.search .input-text { width: 200px; padding-right: 25px; }
.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-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-tags { margin-bottom: 15px; }
/* Облако тегов
---------------------------------------------------- */
.tag-cloud li { display: inline; margin-right: 5px; line-height: 22px; }
.tag-cloud li a { text-decoration: none; white-space: nowrap; }
.tag-cloud li .tag-size-1 { font-size: 12px; }
.tag-cloud li .tag-size-2 { font-size: 12px; }
.tag-cloud li .tag-size-3 { font-size: 14px; }
.tag-cloud li .tag-size-4 { font-size: 14px; }
.tag-cloud li .tag-size-5 { font-size: 18px; }
.tag-cloud li .tag-size-6 { font-size: 18px; }
.tag-cloud li .tag-size-7 { font-size: 20px; }
.tag-cloud li .tag-size-8 { font-size: 20px; }
.tag-cloud li .tag-size-9 { font-size: 22px; }
.tag-cloud li .tag-size-10 { font-size: 22px; }
/* Item List
---------------------------------------------------- */
.item-list { border-top: 1px solid #eee; }
.item-list li { min-height: 51px; padding: 7px 0 10px 58px; border-bottom: 1px solid #eee; position: relative; zoom: 1; }
.item-list li p { padding-top: 2px; font-size: 11px; }
.item-list li a { text-decoration: none; }
.item-list li .avatar { position: absolute; top: 10px; left: 0; margin-right: 10px; }
.item-list li .author { font-weight: bold; color: #333; }
.item-list li .blog-name { font-weight: bold; }
/* Хелперы
---------------------------------------------------- */
.mt-10 { margin-bottom: 10px !important; }
.mt-20 { margin-bottom: 20px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }
.ta-c { text-align: center !important; }
.ta-r { text-align: right !important; }
.va-m { vertical-align: middle; }
.fl-r { float: right !important; }
.fl-l { float: left !important; }
.clearfix:before,
.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.word-wrap {
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
/* Разное
---------------------------------------------------- */
.system-message-error { background: #f0c8c8; color: #b22626; padding: 10px 15px; margin-bottom: 15px; }
.system-message-notice { background: #dafad8; color: #4bb23b; padding: 10px 15px; margin-bottom: 15px; }
.notice-empty { color: #aaa; }
.loader { background: #fafafa url(../images/loader.gif) 50% 50% no-repeat; }
.user, .ls-user { font-weight: bold; color: #333; }
.user .icon-user { margin-right: 3px; }
.user.inactive { color: #aaa; }

View file

@ -0,0 +1,56 @@
/* -------------------------------------------------------------------
ФОРМЫ
------------------------------------------------------------------- */
.input-text {
width: 150px;
padding: 5px;
border: 1px solid #ddd;
box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
border-radius: 3px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.input-text:focus { border-color: #4D90FE; box-shadow: 0 2px 4px rgba(0,0,0,.07) inset, 0 0 3px #4D90FE; }
.input-checkbox { position: relative; top: 1px; margin: 0 2px 0 1px; }
.input-width-full { width: 100%; }
.input-width-50 { width: 50px; }
.input-width-100 { width: 100px; }
.input-width-150 { width: 150px; }
.input-width-200 { width: 200px; }
.input-width-250 { width: 250px; }
.input-width-300 { width: 300px; }
.input-width-400 { width: 400px; }
.input-width-500 { width: 500px; }
select { padding: 4px; border: 1px solid #ddd; border-radius: 3px; }
fieldset { margin-bottom: 30px; padding-top: 20px; border-top: 1px solid #eaeaea; }
fieldset legend { color: #000; font-size: 18px; padding-right: 10px; }
form p { margin-bottom: 20px; }
form label { display: block; margin-bottom: 3px; }
form .icon-question-sign { cursor: help; }
.note { display: block; margin-top: 3px; font-size: 12px; color: #aaa; }
.note.note-header { margin-bottom: 20px; }
.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; }
.form-profile { position: relative; }
.form-profile .avatar-change { position: absolute; top: 40px; right: 0; padding: 10px; background: #f7f7f7; font-size: 11px; }
/* Placeholder */
input:-moz-placeholder { color: #aaa; }
.placeholder { color: #aaa; }
/* Валидатор
---------------------------------------------------------------*/
.validate-error-hide { display: none; }
.validate-error-show { display: block; color: #f00; font-weight: bold; font-size: 12px; }

View file

@ -0,0 +1,36 @@
/* --------------------------------------------
СЕТКА
-------------------------------------------- */
#container { width: 976px; margin: 0 auto; margin-bottom: 20px; }
#header-wrapper { background: #090909; }
#header { width: 976px; height: 51px; margin: 0 auto; position: relative; }
#nav {
margin-bottom: 32px;
overflow: hidden;
padding: 12px 17px 15px;
box-shadow: 0 0 10px rgba(0,0,0,.15);
border-radius: 0 0 10px 10px;
position: relative;
background: #fdfdfd;
background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f8f9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f6f8f9));
background: -webkit-linear-gradient(top, #fdfdfd 0%,#f6f8f9 100%);
background: -o-linear-gradient(top, #fdfdfd 0%,#f6f8f9 100%);
background: -ms-linear-gradient(top, #fdfdfd 0%,#f6f8f9 100%);
background: linear-gradient(top, #fdfdfd 0%,#f6f8f9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f8f9',GradientType=0 );
}
#wrapper { width: 888px; overflow: hidden; zoom: 1; padding: 20px 15px 20px 25px; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 0 5px rgba(0,0,0,.05); border-radius: 10px; }
#content { float: left; width: 590px; margin-right: 240px; margin-right: 50px; background: #fff; position: relative; }
#sidebar { float: left; width: 240px; }
#footer { overflow: hidden; zoom: 1; margin-bottom: 20px; padding: 20px 0 50px; color: #777; }
#content.content-full-width { width: 100%; margin-right: 0; }
#content.content-right { margin-right: 0; float: none; margin-left: 311px; width: auto; }
#sidebar.sidebar-left { float: left; width: 250px; padding-right: 30px; border-right: 1px solid #eee; margin-right: 30px; }

View file

@ -0,0 +1,166 @@
/* -------------------------------------------------------------------
ИКОНКИ
Иконки Glyphicons
http://glyphicons.com/
Пример использования:
<a href="#"><i class="icon icon-remove"></i> Remove</a>
------------------------------------------------------------------- */
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
vertical-align: text-top;
width: 14px;
height: 14px;
line-height: 14px;
background: url(../images/icons.png) no-repeat;
}
.icon-white { background-image: url(../images/icons-white.png); }
.icon-glass { background-position: 0 0; }
.icon-music { background-position: -24px 0; }
.icon-search { background-position: -48px 0; }
.icon-envelope { background-position: -72px 0; }
.icon-heart { background-position: -96px 0; }
.icon-star { background-position: -120px 0; }
.icon-star-empty { background-position: -144px 0; }
.icon-user { background-position: -168px 0; }
.icon-film { background-position: -192px 0; }
.icon-th-large { background-position: -216px 0; }
.icon-th { background-position: -240px 0; }
.icon-th-list { background-position: -264px 0; }
.icon-ok { background-position: -288px 0; }
.icon-remove { background-position: -312px 0; }
.icon-zoom-in { background-position: -336px 0; }
.icon-zoom-out { background-position: -360px 0; }
.icon-off { background-position: -384px 0; }
.icon-signal { background-position: -408px 0; }
.icon-cog { background-position: -432px 0; }
.icon-trash { background-position: -456px 0; }
.icon-home { background-position: 0 -24px; }
.icon-file { background-position: -24px -24px; }
.icon-time { background-position: -48px -24px; }
.icon-road { background-position: -72px -24px; }
.icon-download-alt { background-position: -96px -24px; }
.icon-download { background-position: -120px -24px; }
.icon-upload { background-position: -144px -24px; }
.icon-inbox { background-position: -168px -24px; }
.icon-play-circle { background-position: -192px -24px; }
.icon-repeat { background-position: -216px -24px; }
.icon-refresh { background-position: -240px -24px; }
.icon-list-alt { background-position: -264px -24px; }
.icon-lock { background-position: -287px -24px; }
.icon-flag { background-position: -312px -24px; }
.icon-headphones { background-position: -336px -24px; }
.icon-volume-off { background-position: -360px -24px; }
.icon-volume-down { background-position: -384px -24px; }
.icon-volume-up { background-position: -408px -24px; }
.icon-qrcode { background-position: -432px -24px; }
.icon-barcode { background-position: -456px -24px; }
.icon-tag { background-position: 0 -48px; }
.icon-tags { background-position: -25px -48px; }
.icon-book { background-position: -48px -48px; }
.icon-bookmark { background-position: -72px -48px; }
.icon-print { background-position: -96px -48px; }
.icon-camera { background-position: -120px -48px; }
.icon-font { background-position: -144px -48px; }
.icon-bold { background-position: -167px -48px; }
.icon-italic { background-position: -192px -48px; }
.icon-text-height { background-position: -216px -48px; }
.icon-text-width { background-position: -240px -48px; }
.icon-align-left { background-position: -264px -48px; }
.icon-align-center { background-position: -288px -48px; }
.icon-align-right { background-position: -312px -48px; }
.icon-align-justify { background-position: -336px -48px; }
.icon-list { background-position: -360px -48px; }
.icon-indent-left { background-position: -384px -48px; }
.icon-indent-right { background-position: -408px -48px; }
.icon-facetime-video { background-position: -432px -48px; }
.icon-picture { background-position: -456px -48px; }
.icon-pencil { background-position: 0 -72px; }
.icon-map-marker { background-position: -24px -72px; }
.icon-adjust { background-position: -48px -72px; }
.icon-tint { background-position: -72px -72px; }
.icon-edit { background-position: -96px -72px; }
.icon-share { background-position: -120px -72px; }
.icon-check { background-position: -144px -72px; }
.icon-move { background-position: -168px -72px; }
.icon-step-backward { background-position: -192px -72px; }
.icon-fast-backward { background-position: -216px -72px; }
.icon-backward { background-position: -240px -72px; }
.icon-play { background-position: -264px -72px; }
.icon-pause { background-position: -288px -72px; }
.icon-stop { background-position: -312px -72px; }
.icon-forward { background-position: -336px -72px; }
.icon-fast-forward { background-position: -360px -72px; }
.icon-step-forward { background-position: -384px -72px; }
.icon-eject { background-position: -408px -72px; }
.icon-chevron-left { background-position: -432px -72px; }
.icon-chevron-right { background-position: -456px -72px; }
.icon-plus-sign { background-position: 0 -96px; }
.icon-minus-sign { background-position: -24px -96px; }
.icon-remove-sign { background-position: -48px -96px; }
.icon-ok-sign { background-position: -72px -96px; }
.icon-question-sign { background-position: -96px -96px; }
.icon-info-sign { background-position: -120px -96px; }
.icon-screenshot { background-position: -144px -96px; }
.icon-remove-circle { background-position: -168px -96px; }
.icon-ok-circle { background-position: -192px -96px; }
.icon-ban-circle { background-position: -216px -96px; }
.icon-arrow-left { background-position: -240px -96px; }
.icon-arrow-right { background-position: -264px -96px; }
.icon-arrow-up { background-position: -289px -96px; }
.icon-arrow-down { background-position: -312px -96px; }
.icon-share-alt { background-position: -336px -96px; }
.icon-resize-full { background-position: -360px -96px; }
.icon-resize-small { background-position: -384px -96px; }
.icon-plus { background-position: -408px -96px; }
.icon-minus { background-position: -433px -96px; }
.icon-asterisk { background-position: -456px -96px; }
.icon-exclamation-sign { background-position: 0 -120px; }
.icon-gift { background-position: -24px -120px; }
.icon-leaf { background-position: -48px -120px; }
.icon-fire { background-position: -72px -120px; }
.icon-eye-open { background-position: -96px -120px; }
.icon-eye-close { background-position: -120px -120px; }
.icon-warning-sign { background-position: -144px -120px; }
.icon-plane { background-position: -168px -120px; }
.icon-calendar { background-position: -192px -120px; }
.icon-random { background-position: -216px -120px; }
.icon-comment { background-position: -240px -120px; }
.icon-magnet { background-position: -264px -120px; }
.icon-chevron-up { background-position: -288px -120px; }
.icon-chevron-down { background-position: -313px -119px; }
.icon-retweet { background-position: -336px -120px; }
.icon-shopping-cart { background-position: -360px -120px; }
.icon-folder-close { background-position: -384px -120px; }
.icon-folder-open { background-position: -408px -120px; }
.icon-resize-vertical { background-position: -432px -119px; }
.icon-resize-horizontal { background-position: -456px -118px; }
.icon-contact { width: 16px; height: 16px; background: url(../images/icons-contact.png) no-repeat; }
.icon-contact-default { background-position: 0 0; }
.icon-contact-email { background-position: -20px 0; }
.icon-contact-icq { background-position: -40px 0; }
.icon-contact-jabber { background-position: -60px 0; }
.icon-contact-phone { background-position: -80px 0; }
.icon-contact-skype { background-position: -100px 0; }
.icon-contact-vkontakte { background-position: -120px 0; }
.icon-contact-twitter { background-position: -140px 0; }
.icon-contact-facebook { background-position: -160px 0; }
.icon-contact-odnoklassniki { background-position: -180px 0; }
.icon-contact-www { background-position: -200px 0; }
.icon-ok-green { width: 14px; height: 14px; background: url(../images/icon-ok-green.png) no-repeat; }

View file

@ -0,0 +1,32 @@
/* --------------------------------------------
ВСПЛЫВАЮЩИЕ ПОДСКАЗКИ
-------------------------------------------- */
.infobox {
visibility: hidden;
position: absolute;
top: 0;
left: 0;
z-index: 9999;
text-align: left;
padding: 15px;
min-width: 50px;
max-width: 300px;
color: #fff;
background: rgba(0,0,0,.8);
border-radius: 5px;
}
.infobox .tip-arrow { position: absolute; width: 0; height: 0; border-width: 6px; border-style: solid; border-color: rgba(0,0,0,.8); }
.infobox .tip-arrow.tip-arrow-top { top: -12px; left: 15px; border-top-color: transparent !important; border-left-color: transparent !important; border-right-color: transparent !important; }
.infobox .tip-arrow.tip-arrow-bottom { bottom: -12px; left: 15px; border-bottom-color: transparent !important; border-left-color: transparent !important; border-right-color: transparent !important; }
.infobox .tip-arrow.tip-arrow-right { top: 50%; margin-top: -6px; right: -12px; border-bottom-color: transparent !important; border-top-color: transparent !important; border-right-color: transparent !important; }
.infobox .tip-arrow.tip-arrow-left { top: 50%; margin-top: -6px; left: -12px; border-bottom-color: transparent !important; border-top-color: transparent !important; border-left-color: transparent !important; }
.infobox a { color: #B4B8ED; }
.infobox a:hover { color: #999DDB; }
/* Default Tip */
.infobox.infobox-standart { background: rgba(0,0,0,.8); }
.infobox.infobox-standart .tip-arrow { border-color: rgba(0,0,0,.8); }

View file

@ -0,0 +1,40 @@
/* --------------------------------------------
ВСПЛЫВАЮЩИЕ УВЕДОМЛЕНИЯ
-------------------------------------------- */
#notifier {
width: 250px;
position: fixed;
top: 10px;
right: 10px;
font-size: 12px;
z-index: 9999;
/* IE 6 Fix */
_position: absolute;
_top: expression( eval(document.documentElement.scrollBottom) + 10 +"px" );
}
#notifier .n-box {
position: relative;
padding: 10px 15px 11px;
margin-bottom: 10px;
color: #fff;
background: #000;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
cursor: pointer;
}
#notifier .n-box h3 { color: #fff; font-size: 14px; font-weight: bold; margin-bottom: 3px; }
#notifier .n-box p { margin: 0; }
#notifier .n-box.n-notice { background: #FFF1A8; color: #333; }
#notifier .n-box.n-notice h3 { color: #333; }
#notifier .n-box.n-error { background: #000; color: #fff; opacity: 0.8; filter: alpha(opacity=80); }

View file

@ -0,0 +1,68 @@
/* --------------------------------------------
ÌÎÄÀËÜÍÛÅ ÎÊÍÀ
-------------------------------------------- */
.modal {
display: none;
position: fixed;
top: 25%;
left: 50%;
width: 300px;
margin-left: -150px;
color: #333;
border: 1px solid #666;
background-color: #fff;
border-radius: 5px;
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);
}
.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 h3 { font-size: 20px; font-weight: bold; margin-right: 20px; }
.modal .modal-content { padding: 20px; }
.jqmOverlay { background-color: #000; }
* html .modal { position: absolute; top: expression((document.documentElement.scrollTop || document.body.scrollTop) + Math.round(17 * (document.documentElement.offsetHeight || document.body.clientHeight) / 100) + 'px'); }
/* Ôîðìà âõîäà */
.modal.modal-login { width: 450px; margin-left: -225px; top: 50px; }
.modal.modal-login .nav { margin-bottom: 30px; }
/* Äîáàâëåíèå òîïèêà */
.modal.modal-write { width: 740px; margin-left: -370px; top: 50px; }
.modal.modal-write .modal-content { padding: 20px 10px 0; *padding: 20px 10px 15px; }
.modal.modal-write .write-list { *overflow: hidden; *zoom: 1; }
.modal.modal-write .write-list li { width: 100px; margin: 0 10px 20px; text-align: center; overflow: hidden; display: inline-table; *float: left; }
.modal.modal-write .write-list li a { color: #39576B; }
.modal.modal-write .write-list li .write-item-image { display: block; width: 100px; height: 100px; border-radius: 3px; text-align: center; background: url(../images/write.png) no-repeat; margin-bottom: 10px; }
.modal.modal-write .write-list li.write-item-type-topic .write-item-image { background-position: 0 0; }
.modal.modal-write .write-list li.write-item-type-poll .write-item-image { background-position: -100px 0; }
.modal.modal-write .write-list li.write-item-type-link .write-item-image { background-position: -200px 0; }
.modal.modal-write .write-list li.write-item-type-photoset .write-item-image { background-position: -300px 0; }
.modal.modal-write .write-list li.write-item-type-blog .write-item-image { background-position: -400px 0; }
.modal.modal-write .write-list li.write-item-type-draft .write-item-image { background-position: -500px 0; }
/* Upload Image */
.modal-image-upload { width: 500px; margin-left: -250px; }

Some files were not shown because too many files have changed in this diff Show more