mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Начало верстки шаблона Synio
This commit is contained in:
parent
820fb3b572
commit
290a149983
21
templates/skin/synio/actions/ActionAdmin/index.tpl
Normal file
21
templates/skin/synio/actions/ActionAdmin/index.tpl
Normal 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'}
|
64
templates/skin/synio/actions/ActionAdmin/plugins.tpl
Normal file
64
templates/skin/synio/actions/ActionAdmin/plugins.tpl
Normal 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>»</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'}
|
58
templates/skin/synio/actions/ActionAdmin/user_fields.tpl
Normal file
58
templates/skin/synio/actions/ActionAdmin/user_fields.tpl
Normal 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'}
|
90
templates/skin/synio/actions/ActionBlog/add.tpl
Normal file
90
templates/skin/synio/actions/ActionBlog/add.tpl
Normal 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'}
|
54
templates/skin/synio/actions/ActionBlog/admin.tpl
Normal file
54
templates/skin/synio/actions/ActionBlog/admin.tpl
Normal 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'}
|
157
templates/skin/synio/actions/ActionBlog/blog.tpl
Normal file
157
templates/skin/synio/actions/ActionBlog/blog.tpl
Normal 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'}
|
4
templates/skin/synio/actions/ActionBlog/index.tpl
Normal file
4
templates/skin/synio/actions/ActionBlog/index.tpl
Normal file
|
@ -0,0 +1,4 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
34
templates/skin/synio/actions/ActionBlog/invited.tpl
Normal file
34
templates/skin/synio/actions/ActionBlog/invited.tpl
Normal 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>
|
20
templates/skin/synio/actions/ActionBlog/topic.tpl
Normal file
20
templates/skin/synio/actions/ActionBlog/topic.tpl
Normal 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'}
|
37
templates/skin/synio/actions/ActionBlog/users.tpl
Normal file
37
templates/skin/synio/actions/ActionBlog/users.tpl
Normal 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'}
|
17
templates/skin/synio/actions/ActionBlogs/index.tpl
Normal file
17
templates/skin/synio/actions/ActionBlogs/index.tpl
Normal 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'}
|
7
templates/skin/synio/actions/ActionComments/index.tpl
Normal file
7
templates/skin/synio/actions/ActionComments/index.tpl
Normal 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'}
|
||||
|
13
templates/skin/synio/actions/ActionError/index.tpl
Normal file
13
templates/skin/synio/actions/ActionError/index.tpl
Normal 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'}
|
3
templates/skin/synio/actions/ActionIndex/index.tpl
Normal file
3
templates/skin/synio/actions/ActionIndex/index.tpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
81
templates/skin/synio/actions/ActionLink/add.tpl
Normal file
81
templates/skin/synio/actions/ActionLink/add.tpl
Normal 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'}
|
6
templates/skin/synio/actions/ActionLogin/exit.tpl
Normal file
6
templates/skin/synio/actions/ActionLogin/exit.tpl
Normal 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'}
|
55
templates/skin/synio/actions/ActionLogin/index.tpl
Normal file
55
templates/skin/synio/actions/ActionLogin/index.tpl
Normal 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'}
|
26
templates/skin/synio/actions/ActionLogin/reminder.tpl
Normal file
26
templates/skin/synio/actions/ActionLogin/reminder.tpl
Normal 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'}
|
|
@ -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'}
|
7
templates/skin/synio/actions/ActionPeople/city.tpl
Normal file
7
templates/skin/synio/actions/ActionPeople/city.tpl
Normal 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'}
|
7
templates/skin/synio/actions/ActionPeople/country.tpl
Normal file
7
templates/skin/synio/actions/ActionPeople/country.tpl
Normal 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'}
|
21
templates/skin/synio/actions/ActionPeople/index.tpl
Normal file
21
templates/skin/synio/actions/ActionPeople/index.tpl
Normal 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'}
|
5
templates/skin/synio/actions/ActionPeople/new.tpl
Normal file
5
templates/skin/synio/actions/ActionPeople/new.tpl
Normal file
|
@ -0,0 +1,5 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
{include file='user_list.tpl' aUsersList=$aUsersRegister}
|
||||
|
||||
{include file='footer.tpl'}
|
5
templates/skin/synio/actions/ActionPeople/online.tpl
Normal file
5
templates/skin/synio/actions/ActionPeople/online.tpl
Normal file
|
@ -0,0 +1,5 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
{include file='user_list.tpl' aUsersList=$aUsersLast}
|
||||
|
||||
{include file='footer.tpl'}
|
29
templates/skin/synio/actions/ActionPeople/sidebar.tpl
Normal file
29
templates/skin/synio/actions/ActionPeople/sidebar.tpl
Normal 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'}
|
|
@ -0,0 +1,3 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
160
templates/skin/synio/actions/ActionPhotoset/add.tpl
Normal file
160
templates/skin/synio/actions/ActionPhotoset/add.tpl
Normal 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'}
|
|
@ -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'}
|
29
templates/skin/synio/actions/ActionProfile/created_notes.tpl
Normal file
29
templates/skin/synio/actions/ActionProfile/created_notes.tpl
Normal 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'}
|
|
@ -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'}
|
|
@ -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'}
|
|
@ -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'}
|
28
templates/skin/synio/actions/ActionProfile/friend_item.tpl
Normal file
28
templates/skin/synio/actions/ActionProfile/friend_item.tpl
Normal 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}
|
12
templates/skin/synio/actions/ActionProfile/friends.tpl
Normal file
12
templates/skin/synio/actions/ActionProfile/friends.tpl
Normal 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'}
|
25
templates/skin/synio/actions/ActionProfile/profile_top.tpl
Normal file
25
templates/skin/synio/actions/ActionProfile/profile_top.tpl
Normal 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>
|
115
templates/skin/synio/actions/ActionProfile/sidebar.tpl
Normal file
115
templates/skin/synio/actions/ActionProfile/sidebar.tpl
Normal 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>
|
||||
<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}
|
23
templates/skin/synio/actions/ActionProfile/stream.tpl
Normal file
23
templates/skin/synio/actions/ActionProfile/stream.tpl
Normal 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} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.stream_no_events}
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
40
templates/skin/synio/actions/ActionProfile/wall.tpl
Normal file
40
templates/skin/synio/actions/ActionProfile/wall.tpl
Normal 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'}
|
49
templates/skin/synio/actions/ActionProfile/wall_items.tpl
Normal file
49
templates/skin/synio/actions/ActionProfile/wall_items.tpl
Normal 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}
|
|
@ -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}
|
217
templates/skin/synio/actions/ActionProfile/whois.tpl
Normal file
217
templates/skin/synio/actions/ActionProfile/whois.tpl
Normal 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>
|
||||
</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>
|
||||
{/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'}
|
95
templates/skin/synio/actions/ActionQuestion/add.tpl
Normal file
95
templates/skin/synio/actions/ActionQuestion/add.tpl
Normal 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'}
|
|
@ -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'}
|
10
templates/skin/synio/actions/ActionRegistration/confirm.tpl
Normal file
10
templates/skin/synio/actions/ActionRegistration/confirm.tpl
Normal 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'}
|
73
templates/skin/synio/actions/ActionRegistration/index.tpl
Normal file
73
templates/skin/synio/actions/ActionRegistration/index.tpl
Normal 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'}
|
18
templates/skin/synio/actions/ActionRegistration/invite.tpl
Normal file
18
templates/skin/synio/actions/ActionRegistration/invite.tpl
Normal 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'}
|
26
templates/skin/synio/actions/ActionRss/index.tpl
Normal file
26
templates/skin/synio/actions/ActionRss/index.tpl
Normal 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>
|
16
templates/skin/synio/actions/ActionSearch/index.tpl
Normal file
16
templates/skin/synio/actions/ActionSearch/index.tpl
Normal 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'}
|
18
templates/skin/synio/actions/ActionSearch/opensearch.tpl
Normal file
18
templates/skin/synio/actions/ActionSearch/opensearch.tpl
Normal 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>
|
48
templates/skin/synio/actions/ActionSearch/results.tpl
Normal file
48
templates/skin/synio/actions/ActionSearch/results.tpl
Normal 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'}
|
61
templates/skin/synio/actions/ActionSettings/account.tpl
Normal file
61
templates/skin/synio/actions/ActionSettings/account.tpl
Normal 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'}
|
29
templates/skin/synio/actions/ActionSettings/invite.tpl
Normal file
29
templates/skin/synio/actions/ActionSettings/invite.tpl
Normal 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'}
|
205
templates/skin/synio/actions/ActionSettings/profile.tpl
Normal file
205
templates/skin/synio/actions/ActionSettings/profile.tpl
Normal 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'}
|
36
templates/skin/synio/actions/ActionSettings/tuning.tpl
Normal file
36
templates/skin/synio/actions/ActionSettings/tuning.tpl
Normal 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'}
|
18
templates/skin/synio/actions/ActionStream/all.tpl
Normal file
18
templates/skin/synio/actions/ActionStream/all.tpl
Normal 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} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.stream_no_events}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
37
templates/skin/synio/actions/ActionStream/events.tpl
Normal file
37
templates/skin/synio/actions/ActionStream/events.tpl
Normal 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}
|
17
templates/skin/synio/actions/ActionStream/user.tpl
Normal file
17
templates/skin/synio/actions/ActionStream/user.tpl
Normal 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} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.stream_no_events}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
10
templates/skin/synio/actions/ActionTag/index.tpl
Normal file
10
templates/skin/synio/actions/ActionTag/index.tpl
Normal 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'}
|
39
templates/skin/synio/actions/ActionTalk/add.tpl
Normal file
39
templates/skin/synio/actions/ActionTalk/add.tpl
Normal 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'}
|
32
templates/skin/synio/actions/ActionTalk/blacklist.tpl
Normal file
32
templates/skin/synio/actions/ActionTalk/blacklist.tpl
Normal 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'}
|
59
templates/skin/synio/actions/ActionTalk/favourites.tpl
Normal file
59
templates/skin/synio/actions/ActionTalk/favourites.tpl
Normal 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}
|
||||
|
||||
{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'}
|
31
templates/skin/synio/actions/ActionTalk/filter.tpl
Normal file
31
templates/skin/synio/actions/ActionTalk/filter.tpl
Normal 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" /> —
|
||||
<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>
|
26
templates/skin/synio/actions/ActionTalk/friends.tpl
Normal file
26
templates/skin/synio/actions/ActionTalk/friends.tpl
Normal 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>
|
76
templates/skin/synio/actions/ActionTalk/inbox.tpl
Normal file
76
templates/skin/synio/actions/ActionTalk/inbox.tpl
Normal 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()}
|
||||
→
|
||||
{else}
|
||||
←
|
||||
{/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'}
|
67
templates/skin/synio/actions/ActionTalk/read.tpl
Normal file
67
templates/skin/synio/actions/ActionTalk/read.tpl
Normal 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}
|
||||
|
||||
<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'}
|
32
templates/skin/synio/actions/ActionTalk/speakers.tpl
Normal file
32
templates/skin/synio/actions/ActionTalk/speakers.tpl
Normal 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>
|
97
templates/skin/synio/actions/ActionTopic/add.tpl
Normal file
97
templates/skin/synio/actions/ActionTopic/add.tpl
Normal 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'}
|
3
templates/skin/synio/actions/ActionTopic/saved.tpl
Normal file
3
templates/skin/synio/actions/ActionTopic/saved.tpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
{include file='header.tpl' menu='create'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
18
templates/skin/synio/actions/ActionUserfeed/list.tpl
Normal file
18
templates/skin/synio/actions/ActionUserfeed/list.tpl
Normal 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} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.userfeed_no_events}
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
12
templates/skin/synio/blocks.tpl
Normal file
12
templates/skin/synio/blocks.tpl
Normal 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}
|
20
templates/skin/synio/blocks/block.blogInfo.tpl
Normal file
20
templates/skin/synio/blocks/block.blogInfo.tpl
Normal 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>
|
27
templates/skin/synio/blocks/block.blogs.tpl
Normal file
27
templates/skin/synio/blocks/block.blogs.tpl
Normal 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>
|
12
templates/skin/synio/blocks/block.blogs_top.tpl
Normal file
12
templates/skin/synio/blocks/block.blogs_top.tpl
Normal 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>
|
32
templates/skin/synio/blocks/block.stream.tpl
Normal file
32
templates/skin/synio/blocks/block.stream.tpl
Normal 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>
|
||||
|
107
templates/skin/synio/blocks/block.streamConfig.tpl
Normal file
107
templates/skin/synio/blocks/block.streamConfig.tpl
Normal 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}
|
21
templates/skin/synio/blocks/block.stream_comment.tpl
Normal file
21
templates/skin/synio/blocks/block.stream_comment.tpl
Normal 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>
|
23
templates/skin/synio/blocks/block.stream_topic.tpl
Normal file
23
templates/skin/synio/blocks/block.stream_topic.tpl
Normal 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> →
|
||||
<a href="{$oBlog->getUrlFull()}" class="blog-name">{$oBlog->getTitle()|escape:'html'}</a> →
|
||||
<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>
|
||||
|
47
templates/skin/synio/blocks/block.tags.tpl
Normal file
47
templates/skin/synio/blocks/block.tags.tpl
Normal 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>
|
16
templates/skin/synio/blocks/block.tagsCity.tpl
Normal file
16
templates/skin/synio/blocks/block.tagsCity.tpl
Normal 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}
|
16
templates/skin/synio/blocks/block.tagsCountry.tpl
Normal file
16
templates/skin/synio/blocks/block.tagsCountry.tpl
Normal 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}
|
40
templates/skin/synio/blocks/block.tagsFavouriteTopic.tpl
Normal file
40
templates/skin/synio/blocks/block.tagsFavouriteTopic.tpl
Normal 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>
|
27
templates/skin/synio/blocks/block.userfeedBlogs.tpl
Normal file
27
templates/skin/synio/blocks/block.userfeedBlogs.tpl
Normal 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}
|
76
templates/skin/synio/blocks/block.userfeedUsers.tpl
Normal file
76
templates/skin/synio/blocks/block.userfeedUsers.tpl
Normal 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}
|
87
templates/skin/synio/blog_list.tpl
Normal file
87
templates/skin/synio/blog_list.tpl
Normal 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}
|
||||
—
|
||||
{/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>
|
99
templates/skin/synio/comment.tpl
Normal file
99
templates/skin/synio/comment.tpl
Normal 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>
|
56
templates/skin/synio/comment_list.tpl
Normal file
56
templates/skin/synio/comment_list.tpl
Normal 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> →
|
||||
<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}
|
49
templates/skin/synio/comment_paging.tpl
Normal file
49
templates/skin/synio/comment_paging.tpl
Normal 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">←</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">→</a></li>
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
101
templates/skin/synio/comment_tree.tpl
Normal file
101
templates/skin/synio/comment_tree.tpl
Normal 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}
|
||||
|
||||
|
117
templates/skin/synio/css/base.css
Normal file
117
templates/skin/synio/css/base.css
Normal 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; }
|
64
templates/skin/synio/css/blocks.css
Normal file
64
templates/skin/synio/css/blocks.css
Normal 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; }
|
40
templates/skin/synio/css/blog.css
Normal file
40
templates/skin/synio/css/blog.css
Normal 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; }
|
89
templates/skin/synio/css/buttons.css
Normal file
89
templates/skin/synio/css/buttons.css
Normal 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; }
|
75
templates/skin/synio/css/comments.css
Normal file
75
templates/skin/synio/css/comments.css
Normal 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;}
|
184
templates/skin/synio/css/common.css
Normal file
184
templates/skin/synio/css/common.css
Normal 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; }
|
56
templates/skin/synio/css/forms.css
Normal file
56
templates/skin/synio/css/forms.css
Normal 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; }
|
36
templates/skin/synio/css/grid.css
Normal file
36
templates/skin/synio/css/grid.css
Normal 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; }
|
||||
|
||||
|
166
templates/skin/synio/css/icons.css
Normal file
166
templates/skin/synio/css/icons.css
Normal 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; }
|
32
templates/skin/synio/css/infobox.css
Normal file
32
templates/skin/synio/css/infobox.css
Normal 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); }
|
40
templates/skin/synio/css/jquery.notifier.css
Normal file
40
templates/skin/synio/css/jquery.notifier.css
Normal 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); }
|
68
templates/skin/synio/css/modals.css
Normal file
68
templates/skin/synio/css/modals.css
Normal 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
Loading…
Reference in a new issue