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

Шаблон developer

This commit is contained in:
Denis Shakhov 2010-02-08 02:10:30 +00:00
parent 15918d285c
commit fe957bd655
89 changed files with 2037 additions and 780 deletions

View file

@ -7,10 +7,12 @@
{if $sEvent=='add'}
<h2>{$aLang.blog_create}</h2>
{else}
<h2>{$aLang.blog_admin}: <a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlogEdit->getUrl()}/">{$oBlogEdit->getTitle()}</a></h2>
<h2>{$aLang.blog_admin}: <a href="{router page='blog'}{$oBlogEdit->getUrl()}/">{$oBlogEdit->getTitle()}</a></h2>
{/if}
<form action="" method="POST" enctype="multipart/form-data">
<form action="" method="POST" enctype="multipart/form-data">
<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" class="w100p" value="{$_aRequest.blog_title}" />
<span class="form-note">{$aLang.blog_create_title_notice}</span></p>
@ -21,7 +23,8 @@
<p><label for="blog_type">{$aLang.blog_create_type}:</label>
<select name="blog_type" id="blog_type" onChange="">
<option value="open">{$aLang.blog_create_type_open}</option>
<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>
<span class="form-note">{$aLang.blog_create_type_notice}</span></p>

View file

@ -1,9 +1,11 @@
{include file='header.tpl' menu='blog_edit' showWhiteBack=true}
{include file='header.tpl' menu='blog_edit'}
<h2>{$aLang.blog_admin}: <a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlogEdit->getUrl()}/">{$oBlogEdit->getTitle()}</a></h2>
<h2>{$aLang.blog_admin}: <a href="{router page='blog'}{$oBlogEdit->getUrl()}/">{$oBlogEdit->getTitle()}</a></h2>
{if $aBlogUsers}
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<table class="people">
<thead>
<tr>
@ -11,18 +13,21 @@
<td class="option">{$aLang.blog_admin_users_administrator}</td>
<td class="option">{$aLang.blog_admin_users_moderator}</td>
<td class="option">{$aLang.blog_admin_users_reader}</td>
<td class="option">{$aLang.blog_admin_users_bun}</td>
</tr>
</thead>
<tbody>
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<tr>
<td class="user without-image"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogUser->getUserLogin()}/">{$oBlogUser->getUserLogin()}</a></td>
{if $oBlogUser->getUserId()==$oUserCurrent->getId()}
<td colspan="3" align="center">{$aLang.blog_admin_users_current_administrator}</td>
<td class="user without-image"><a href="{router page='profile'}{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
{if $oUser->getId()==$oUserCurrent->getId()}
<td colspan="3" align="center">{$aLang.blog_admin_users_current_administrator}</td>
{else}
<td class="option"><input type="radio" name="user_rank[{$oBlogUser->getUserId()}]" value="administrator" {if $oBlogUser->getIsAdministrator()}checked{/if} /></td>
<td class="option"><input type="radio" name="user_rank[{$oBlogUser->getUserId()}]" value="moderator" {if $oBlogUser->getIsModerator()}checked{/if} /></td>
<td class="option"><input type="radio" name="user_rank[{$oBlogUser->getUserId()}]" value="reader" {if !$oBlogUser->getIsAdministrator() and !$oBlogUser->getIsModerator()}checked{/if} /></td>
<td class="option"><input type="radio" name="user_rank[{$oUser->getId()}]" value="administrator" {if $oBlogUser->getIsAdministrator()}checked{/if}/></td>
<td class="option"><input type="radio" name="user_rank[{$oUser->getId()}]" value="moderator" {if $oBlogUser->getIsModerator()}checked{/if}/></td>
<td class="option"><input type="radio" name="user_rank[{$oUser->getId()}]" value="reader" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_USER}checked{/if}/></td>
<td class="option"><input type="radio" name="user_rank[{$oUser->getId()}]" value="ban" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_BAN}checked{/if}/></td>
{/if}
</tr>
{/foreach}

View file

@ -1,8 +1,29 @@
{include file='header.tpl' menu='blog'}
{assign var="oUserOwner" value=$oBlog->getOwner()}
{assign var="oVote" value=$oBlog->getVote()}
{literal}
<script language="JavaScript" type="text/javascript">
function toggleBlogDeleteForm(id,link) {
link=$(link);
var obj=$(id);
var slideObj = new Fx.Slide(obj);
if (obj.getStyle('display')=='none') {
slideObj.hide();
obj.setStyle('display','block');
}
link.toggleClass('inactive');
slideObj.toggle();
}
</script>
{/literal}
<div class="profile-blog">
<div class="voting {if $oBlog->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oBlog->getOwnerId()==$oUserCurrent->getId()}guest{/if} {if $oBlog->getUserIsVote()} voted {if $oBlog->getUserVoteDelta()>0}plus{elseif $oBlog->getUserVoteDelta()<0}minus{/if}{/if}">
<div class="voting {if $oBlog->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oBlog->getOwnerId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oBlog->getId()},this,1,'blog'); return false;"></a>
<span class="total">{if $oBlog->getRating()>0}+{/if}{$oBlog->getRating()}</span>
<a href="#" class="minus" onclick="lsVote.vote({$oBlog->getId()},this,-1,'blog'); return false;"></a>
@ -13,19 +34,43 @@
<img src="{$oBlog->getAvatarPath(24)}" alt="avatar" class="avatar" />
<h2><a href="#">{$oBlog->getTitle()|escape:'html'}</a></h2>
<ul class="action">
{if $oUserCurrent and ($oUserCurrent->getId()==$oBlog->getOwnerId() or $oUserCurrent->isAdministrator() or ($oBlogUser and $oBlogUser->getIsAdministrator()) )}
<li class="edit"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}">{$aLang.blog_edit}</a></li>
{/if}
<li class="rss"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_RSS}/blog/{$oBlog->getUrl()}/">rss</a></li>
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<li class="join {if !$bNeedJoin}active{/if}"><a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;"></a></li>
<li class="join {if $oBlog->getUserIsJoin()}active{/if}">
<a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;"></a>
</li>
{/if}
<li class="rss"><a href="{router page='rss'}blog/{$oBlog->getUrl()}/">rss</a></li>
{if $oUserCurrent and ($oUserCurrent->getId()==$oBlog->getOwnerId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator())}
<li class="edit"><a href="{router page='blog'}edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}">{$aLang.blog_edit}</a></li>
{if $oUserCurrent->isAdministrator()}
<li>
<a href="#" title="{$aLang.blog_delete}" class="delete" onclick="toggleBlogDeleteForm('blog_delete_form',this); return false;">{$aLang.blog_delete}</a>
<form id="blog_delete_form" class="delete-form hidden" action="{router page='blog'}delete/{$oBlog->getId()}/" method="POST">
<input type="hidden" value="{$LIVESTREET_SECURITY_KEY}" name="security_ls_key" />
{$aLang.blog_admin_delete_move}:<br />
<select name="topic_move_to">
<option value="-1">{$aLang.blog_delete_clear}</option>
{if $aBlogs}
<option disabled="disabled">-------------</option>
{foreach from=$aBlogs item=oBlogDelete}
<option value="{$oBlogDelete->getId()}">{$oBlogDelete->getTitle()}</option>
{/foreach}
{/if}
</select>
<input type="submit" value="{$aLang.blog_delete}" />
</form>
</li>
{else}
<li class="delete"><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></li>
{/if}
{/if}
</ul>
<div class="about">
<h3>{$aLang.blog_about}</h3>
<p>{$oBlog->getDescription()|nl2br}</p>
@ -34,18 +79,20 @@
<h3>{$aLang.blog_user_administrators} ({$iCountBlogAdministrators})</h3>
<ul>
<li>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlog->getUserLogin()}/"><img src="{$oBlog->getUserProfileAvatarPath(48)}" alt="" title="{$oBlog->getUserLogin()}"/></a><br />
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlog->getUserLogin()}/">{$oBlog->getUserLogin()}</a>
<a href="{$oUserOwner->getUserWebPath()}"><img src="{$oUserOwner->getProfileAvatarPath(48)}" alt="" title="{$oUserOwner->getLogin()}"/></a><br />
<a href="{$oUserOwner->getUserWebPath()}">{$oUserOwner->getLogin()}</a>
</li>
{if $aBlogAdministrators}
{foreach from=$aBlogAdministrators item=oBlogAdministrator}
<li>
<dl>
<dt><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogAdministrator->getUserLogin()}/"><img src="{$oBlogAdministrator->getUserProfileAvatarPath(48)}" alt="" title="{$oBlogAdministrator->getUserLogin()}"/></a></dt>
<dd><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogAdministrator->getUserLogin()}/">{$oBlogAdministrator->getUserLogin()}</a></dd>
</dl>
</li>
{/foreach}
{foreach from=$aBlogAdministrators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<li>
<dl>
<dt><a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" alt="" title="{$oUser->getLogin()}"/></a></dt>
<dd><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></dd>
</dl>
</li>
{/foreach}
{/if}
</ul>
</div>
@ -54,13 +101,15 @@
<h3>{$aLang.blog_user_moderators} ({$iCountBlogModerators})</h3>
{if $aBlogModerators}
<ul>
{foreach from=$aBlogModerators item=oBlogModerator}
<li>
<dl>
<dt><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogModerator->getUserLogin()}/"><img src="{$oBlogModerator->getUserProfileAvatarPath(48)}" alt="" title="{$oBlogModerator->getUserLogin()}"/></a></dt>
<dd><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogModerator->getUserLogin()}/">{$oBlogModerator->getUserLogin()}</a></dd>
</dl>
</li>
{foreach from=$aBlogModerators item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<li>
<dl>
<dt><a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(48)}" alt="" title="{$oUser->getLogin()}"/></a></dt>
<dd><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></dd>
</dl>
</li>
{/foreach}
</ul>
{else}
@ -70,13 +119,16 @@
</div>
<h3>{$aLang.blog_user_readers} ({$iCountBlogUsers})</h3>
{if $aBlogUsers}
<ul class="reader-list">
{foreach from=$aBlogUsers item=oBlogUser}
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlogUser->getUserLogin()}/">{$oBlogUser->getUserLogin()}</a></li>
{/foreach}
</ul>
<ul class="reader-list">
{foreach from=$aBlogUsers item=oBlogUser}
{assign var="oUser" value=$oBlogUser->getUser()}
<li><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
{/foreach}
</ul>
{else}
{$aLang.blog_user_readers_empty}
{/if}
@ -86,6 +138,5 @@
{include file='topic_list.tpl'}
{include file='footer.tpl'}

View file

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

View file

@ -0,0 +1,83 @@
<div class="block blogs">
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML(
$('blog_admin_user_add'),
DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
function addUserItem(sLogin,sPath) {
if($('invited_list_block').getElements('ul').length==0) {
list=new Element('ul', {class:'list',id:'invited_list'});
$('invited_list_block').adopt(list);
}
oSpan=new Element('span',{'class':'user'});
oLink=new Element('a',{'href':sPath, 'text':sLogin});
oItem=new Element('li');
$('invited_list').adopt(oItem.adopt(oSpan.adopt(oLink)));
}
function addBlogInvite(idBlog) {
sUsers=$('blog_admin_user_add').get('value');
if(sUsers.length<2) {
msgErrorBox.alert('Error','Пользователь не указан');
return false;
}
$('blog_admin_user_add').set('value','');
JsHttpRequest.query(
'POST '+aRouter['blog']+'ajaxaddbloginvite/',
{ users: sUsers, idBlog: idBlog, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
var aUsers = result.aUsers;
aUsers.each(function(item,index) {
if(item.bStateError){
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
} else {
addUserItem(item.sUserLogin,item.sUserWebPath);
}
});
}
},
true
);
return false;
}
</script>
{/literal}
<div class="block-content">
<form onsubmit="addBlogInvite({$oBlogEdit->getId()}); return false;">
<p><label for="blog_admin_user_add">{$aLang.blog_admin_user_add_label}</label><br />
<input type="text" id="blog_admin_user_add" name="add" value="" class="w100p" /><br /></p>
</form>
</div>
<h1>{$aLang.blog_admin_user_invited}</h1>
<div class="block-content" id="invited_list_block">
{if $aBlogUsersInvited}
<ul class="list user-list" id="invited_list">
{foreach from=$aBlogUsersInvited item=oBlogUser}
{assign var='oUser' value=$oBlogUser->getUser()}
<li><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
{/foreach}
</ul>
{/if}
</div>
</div>

View file

@ -4,7 +4,19 @@
{include file='header.tpl' menu='blog'}
{/if}
{include file='topic.tpl'}
{include file='actions/ActionBlog/comment.tpl'}
{include file='topic.tpl'}
{include
file='comment_tree.tpl'
iTargetId=$oTopic->getId()
sTargetType='topic'
iCountComment=$oTopic->getCountComment()
sDateReadLast=$oTopic->getDateRead()
bAllowNewComment=$oTopic->getForbidComment()
sNoticeNotAllow=$aLang.topic_comment_notallow
sNoticeCommentAdd=$aLang.topic_comment_add
}
{include file='footer.tpl'}

View file

@ -1,9 +1,11 @@
{include file='header.light.tpl' noShowSystemMessage=true}
<div class="center-block error">
<h1>{$aLang.error}: {$aMsgError[0].title}</h1>
<div class="center-block error">
{if $aMsgError[0].title}
<h1>{$aLang.error}: {$aMsgError[0].title}</h1>
{/if}
<p>{$aMsgError[0].msg}</p>
<p><a href="javascript:history.go(-1);">{$aLang.site_history_back}</a> / <a href="{$DIR_WEB_ROOT}">{$aLang.site_go_main}</a></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>
</div>
{include file='footer.light.tpl'}

View file

@ -1,10 +1,10 @@
{include file='header.tpl' menu='topic_action' showWhiteBack=true}
{include file='header.tpl' menu='topic_action'}
{literal}
<script>
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php', {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -28,19 +28,18 @@ document.addEvent('domready', function() {
<form action="" method="POST" enctype="multipart/form-data">
<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="ajaxBlogInfo(this.value);">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsOwner item=oBlog}
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()}</option>
{/foreach}
{foreach from=$aBlogsUser item=oBlogUser}
<option value="{$oBlogUser->getBlogId()}" {if $_aRequest.blog_id==$oBlogUser->getBlogId()}selected{/if}>{$oBlogUser->getBlogTitle()}</option>
{/foreach}
</select></p>
<script>
ajaxBlogInfo(document.getElementById('blog_id').value);
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</script>
<p><label for="topic_title">{$aLang.topic_create_title}:</label>
@ -52,23 +51,23 @@ document.addEvent('domready', function() {
<span class="form-note">{$aLang.topic_link_create_url_notice}</span></p>
<p><label for="topic_text">{$aLang.topic_link_create_text}:</label>
<textarea name="topic_text" id="topic_text" rows="15">{$_aRequest.topic_text}</textarea></p>
<textarea name="topic_text" id="topic_text" rows="20">{$_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="w100p" />
<span class="form-note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if}/>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if}/>
&mdash; {$aLang.topic_create_forbid_comment}</label>
<span class="form-note">{$aLang.topic_create_forbid_comment_notice}</span></p>
{if $oUserCurrent->isAdministrator()}
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if}/>
&mdash; {$aLang.topic_create_publish_index}</label>
<span class="form-note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
<p>
<p class="buttons">
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />&nbsp;
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />

View file

@ -1,11 +1,11 @@
{include file='header.light.tpl'}
<div class="center-block">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/" method="POST">
{if $bLoginError}<p class="error">{$aLang.user_login_bad}</p>{/if}
<form action="{router page='login'}" method="POST">
<h3>{$aLang.user_authorization}</h3>
{if $bLoginError}<p class="error">{$aLang.user_login_bad}</p>{/if}
<label for="login-input">{$aLang.user_login}:</label>
<p><input type="text" name="login" id="login-input" class="input-text" /></p>
@ -17,15 +17,15 @@
<input type="submit" name="submit_login" value="{$aLang.user_login_submit}" /><br /><br />
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/reminder/">{$aLang.user_password_reminder}</a><br />
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_REGISTRATION}/">{$aLang.user_registration}</a>
<a href="{router page='login'}reminder/">{$aLang.user_password_reminder}</a><br />
<a href="{router page='registration'}">{$aLang.user_registration}</a>
</form>
</div>
{if $USER_USE_INVITE}
{if $oConfig->GetValue('general.reg.invite')}
<div class="center-block">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_REGISTRATION}/invite/" method="POST">
<form action="{router page='registration'}invite/" method="POST">
<h3>{$aLang.registration_invite}</h3>
<label for="invite_code">{$aLang.registration_invite_code}:</label>
<p><input type="text" class="input-text" name="invite_code" id="invite_code" /></p>

View file

@ -1,7 +1,7 @@
{include file='header.light.tpl'}
<div class="center-block">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/reminder/" method="POST">
<form action="{router page='login'}reminder/" method="POST">
<h3>{$aLang.password_reminder}</h3>
<p><label for="mail">{$aLang.password_reminder_email}:</label>

View file

@ -1,85 +1,86 @@
{include file='window_load_img.tpl' sToLoad='page_text'}
{if $BLOG_USE_TINYMCE}
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/tiny_mce/tiny_mce.js"></script>
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce_3.2.7/tiny_mce.js"></script>
{literal}
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lslink,lsimage,lsvideo,safari,inlinepopups,media,lshselect",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]"
});
</script>
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
language : TINYMCE_LANG
});
</script>
{/literal}
{/if}
<form action="" method="POST">
<p><label for="page_pid">{$aLang.page_create_parent_page}:</label>
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="page_pid">{$aLang.page_create_parent_page}</label>
<select name="page_pid" id="page_pid" >
<option value="0"></option>
{foreach from=$aPages item=oPage}
<option style="margin-left: {$oPage->getLevel()*20}px;" value="{$oPage->getId()}" {if $_aRequest.page_pid==$oPage->getId()}selected{/if}>{$oPage->getTitle()}(/{$oPage->getUrlFull()}/)</option>
<option style="margin-left: {$oPage->getLevel()*20}px;" value="{$oPage->getId()}" {if $_aRequest.page_pid==$oPage->getId()}selected{/if}>{$oPage->getTitle()} (/{$oPage->getUrlFull()}/)</option>
{/foreach}
</select></p>
<p><label for="page_title">{$aLang.page_create_title}:</label>
<input type="text" id="page_title" name="page_title" value="{$_aRequest.page_title}" class="w100p" /></p>
<input type="text" id="page_title" name="page_title" value="{$_aRequest.page_title}" class="w100p" /></p>
<p><label for="page_url">{$aLang.page_create_url}:</label>
<input type="text" id="page_url" name="page_url" value="{$_aRequest.page_url}" class="w100p" /></p>
<label for="topic_text">{$aLang.page_create_text}:</label>
{if !$BLOG_USE_TINYMCE}
<div class="panel-form">
<a href="#" onclick="lsPanel.putTagAround('page_text','b'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}" /></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','i'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}" /></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','u'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}" /></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','s'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}" /></a>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form" style="background: #eaecea; ">
<a href="#" onclick="lsPanel.putTagAround('page_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('page_text','Введите ссылку'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}" /></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','code'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}" /></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','video'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}" /></a>
<a href="#" onclick="lsPanel.putTagUrl('page_text','Введите ссылку'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
<a href="#" onclick="lsPanel.putTagAround('page_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}" /></a>
<a href="#" onclick="lsPanel.putText('page_text','<cut>'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/cut.gif" width="20" height="20" title="{$aLang.panel_cut}" /></a>
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}"></a>
<a href="#" onclick="lsPanel.putText('page_text','<cut>'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/cut.gif" width="20" height="20" title="{$aLang.panel_cut}"></a>
</div>
{/if}
<textarea name="page_text" id="page_text" rows="20">{$_aRequest.page_text}</textarea><br /><br />
<p><textarea name="page_text" id="page_text" rows="20">{$_aRequest.page_text}</textarea></p>
<p><label for="page_seo_keywords">{$aLang.page_create_seo_keywords}:</label>
<input type="text" id="page_seo_keywords" name="page_seo_keywords" value="{$_aRequest.page_seo_keywords}" class="w100p" />
<span class="form-note">{$aLang.page_create_seo_keywords_notice}</span>
</p>
<input type="text" id="page_seo_keywords" name="page_seo_keywords" value="{$_aRequest.page_seo_keywords}" class="w100p" /><br />
<span class="form-note">{$aLang.page_create_seo_keywords_notice}</span></p>
<p><label for="page_seo_description">{$aLang.page_create_seo_description}:</label>
<input type="text" id="page_seo_description" name="page_seo_description" value="{$_aRequest.page_seo_description}" class="w100p" />
<span class="form-note">{$aLang.page_create_seo_description_notice}</span>
</p>
<input type="text" id="page_seo_description" name="page_seo_description" value="{$_aRequest.page_seo_description}" class="w100p" /><br />
<span class="form-note">{$aLang.page_create_seo_description_notice}</span></p>
<p><label for="page_active"><input type="checkbox" id="page_active" name="page_active" class="input-checkbox" value="1" {if $_aRequest.page_active==1}checked{/if} />
&mdash; {$aLang.page_create_active}</label> </p>
<p><label for="page_active"><input type="checkbox" id="page_active" name="page_active" value="1" {if $_aRequest.page_active==1}checked{/if}/>
&mdash; {$aLang.page_create_active}</label></p>
<p>
<input type="submit" name="submit_page_save" value="{$aLang.page_create_submit_save}" />&nbsp;
<input type="submit" name="submit_page_cancel" value="{$aLang.page_create_submit_cancel}" onclick="window.location='{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/admin/'; return false;" />
<p class="buttons">
<input type="submit" name="submit_page_save" value="{$aLang.page_create_submit_save}">&nbsp;
<input type="submit" name="submit_page_cancel" value="{$aLang.page_create_submit_cancel}" onclick="window.location='{router page='page'}admin/'; return false;">&nbsp;
</p>
<input type="hidden" name="page_id" value="{$_aRequest.page_id}" />
<input type="hidden" name="page_id" value="{$_aRequest.page_id}">
</form>

View file

@ -9,7 +9,7 @@
<h3>{$aLang.page_edit} «{$oPageEdit->getTitle()}»</h3>
{include file='actions/ActionPage/add.tpl'}
{else}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/admin/new/">{$aLang.page_new}</a>
<a href="{router page='page'}admin/new/">{$aLang.page_new}</a>
{/if}
<br /><br />
@ -27,7 +27,7 @@
{foreach from=$aPages item=oPage name=el2}
<tr>
<td class="user without-image" style="padding-left: {if $oPage->getLevel()==0}10{else}{$oPage->getLevel()*20}{/if}px;">
{if $oPage->getLevel()!=0}-&nbsp;{/if}<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/{$oPage->getUrlFull()}/">{$oPage->getTitle()}</a>
{if $oPage->getLevel()!=0}-&nbsp;{/if}<a href="{router page='page'}{$oPage->getUrlFull()}/">{$oPage->getTitle()}</a>
</td>
<td align="left">
/{$oPage->getUrlFull()}/
@ -40,9 +40,9 @@
{/if}
</td>
<td align="center">
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/admin/edit/{$oPage->getId()}/">{$aLang.page_admin_action_edit}</a>
<a href="{router page='page'}admin/edit/{$oPage->getId()}/">{$aLang.page_admin_action_edit}</a>
&nbsp;
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/admin/delete/{$oPage->getId()}/" onclick="return confirm('«{$oPage->getTitle()}»: {$aLang.page_admin_action_delete_confirm}');">{$aLang.page_admin_action_delete}</a>
<a href="{router page='page'}admin/delete/{$oPage->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" onclick="return confirm('«{$oPage->getTitle()}»: {$aLang.page_admin_action_delete_confirm}');">{$aLang.page_admin_action_delete}</a>
</td>
</tr>
{/foreach}

View file

@ -5,7 +5,7 @@
<div class="content">
<h2>{$oPage->getTitle()}</h2>
{if $BLOG_USE_TINYMCE}
{if $oConfig->GetValue('view.tinymce')}
{$oPage->getText()}
{else}
{$oPage->getText()|nl2br}

View file

@ -17,9 +17,10 @@
<tbody>
{foreach from=$aUsersCity item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="date">{date_format date=$oUser->getDateLast()}</td>
<td class="user"><a href="{router page='profile'}{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{router page='profile'}{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="date">{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
<td class="date">{date_format date=$oUser->getDateRegister()}</td>
<td class="strength">{$oUser->getSkill()}</td>
<td class="rating"><strong>{$oUser->getRating()}</strong></td>

View file

@ -17,9 +17,10 @@
<tbody>
{foreach from=$aUsersCountry item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="date">{date_format date=$oUser->getDateLast()}</td>
<td class="user"><a href="{router page='profile'}{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{router page='profile'}{$oUser->getLogin()}/" class="link">{$oUser->getLogin()}</a></td>
<td class="date">{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
<td class="date">{date_format date=$oUser->getDateRegister()}</td>
<td class="strength">{$oUser->getSkill()}</td>
<td class="rating"><strong>{$oUser->getRating()}</strong></td>

View file

@ -4,8 +4,8 @@
<h2>{$aLang.user_list} <span>({$aStat.count_all})</span></h2>
<ul class="block-nav">
<li {if $sEvent=='good'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/good/">{$aLang.user_good}</a></li>
<li {if $sEvent=='bad'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/bad/">{$aLang.user_bad}</a></li>
<li {if $sEvent=='good'}class="active"{/if}><a href="{router page='people'}good/">{$aLang.user_good}</a></li>
<li {if $sEvent=='bad'}class="active"{/if}><a href="{router page='people'}bad/">{$aLang.user_bad}</a></li>
</ul>
@ -22,7 +22,7 @@
<tbody>
{foreach from=$aUsersRating item=oUser}
<tr>
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="user"><a href="{router page='profile'}{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{router page='profile'}{$oUser->getLogin()}/" class="link">{$oUser->getLogin()}</a></td>
<td class="strength">{$oUser->getSkill()}</td>
<td class="rating"><strong>{$oUser->getRating()}</strong></td>
</tr>

View file

@ -17,7 +17,7 @@
<tbody>
{foreach from=$aUsersRegister item=oUser}
<tr>
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="user"><a href="{router page='profile'}{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{router page='profile'}{$oUser->getLogin()}/" class="link">{$oUser->getLogin()}</a></td>
<td class="date">{date_format date=$oUser->getDateRegister()}</td>
<td class="strength">{$oUser->getSkill()}</td>
<td class="rating"><strong>{$oUser->getRating()}</strong></td>

View file

@ -16,9 +16,10 @@
<tbody>
{foreach from=$aUsersLast item=oUser}
{assign var="oSession" value=$oUser->getSession()}
<tr>
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/">{$oUser->getLogin()}</a></td>
<td class="date">{date_format date=$oUser->getDateLast()}</td>
<td class="user"><a href="{router page='profile'}{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(24)}" alt="" /></a><a href="{router page='profile'}{$oUser->getLogin()}/" class="link">{$oUser->getLogin()}</a></td>
<td class="date">{date_format date=$oSession->getDateLast()}</td>
<td class="strength">{$oUser->getSkill()}</td>
<td class="rating"><strong>{$oUser->getRating()}</strong></td>
</tr>

View file

@ -0,0 +1,3 @@
{include file='header.tpl' menu="profile"}
{include file='comment_list.tpl'}
{include file='footer.tpl'}

View file

@ -0,0 +1,31 @@
{if $oUserFriend and ($oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_OFFER or $oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_ACCEPT) }
<li><a href="#" title="{$aLang.user_friend_del}" onclick="ajaxDeleteUserFriend(this,{$oUserProfile->getId()},'del'); return false;">{$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>
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$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>
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$aLang.user_friend_add}</a>
</li>
{elseif !$oUserFriend}
<li>
<a href="#" title="{$aLang.user_friend_add}" onclick="toogleFriendForm(this); return false;">{$aLang.user_friend_add}</a>
<form id="add_friend_form" onsubmit="ajaxAddUserFriend(this,{$oUserProfile->getId()},'add'); return false;" style="display:none;">
<br />
<label for="add_friend_text">{$aLang.user_friend_add_text_label}</label>
<textarea id="add_friend_text" style="width: 98%;"></textarea>
<input type="submit" value="{$aLang.user_friend_add_submit}" />
<input type="submit" value="{$aLang.user_friend_add_cansel}" onclick="toogleFriendForm(this); return false;" />
<br /><br />
</form>
</li>
{else}
<li>
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'link'); return false;">{$aLang.user_friend_add}</a>
</li>
{/if}

View file

@ -1,28 +1,26 @@
{if $oUserCurrent && $oUserCurrent->getId()!=$oUserProfile->getId()}
<div class="block">
<ul>
{if $oUserProfile->getUserIsFrend()}
<li><a href="#" title="{$aLang.user_friend_del}" onclick="ajaxToggleUserFrend(this,{$oUserProfile->getId()}); return false;">{$aLang.user_friend_del}</a></li>
{else}
<li><a href="#" title="{$aLang.user_friend_add}" onclick="ajaxToggleUserFrend(this,{$oUserProfile->getId()}); return false;">{$aLang.user_friend_add}</a></li>
{/if}
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/add/?talk_users={$oUserProfile->getLogin()}">{$aLang.user_write_prvmsg}</a></li>
{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>
</ul>
</div>
{/if}
<div class="block">
{if $oUserProfile->getProfileIcq() || $oUserProfile->getProfileFoto()}
<div class="block nostyle">
{if $oUserProfile->getProfileFoto()}
<img src="{$oUserProfile->getProfileFoto()}" alt="photo" /><br /><br />
{/if}
{if $oUserProfile->getProfileIcq()}
<h3>{$aLang.profile_social_contacts}</h3>
<strong>{$aLang.profile_social_contacts}</strong>
<ul>
{if $oUserProfile->getProfileIcq()}
<li>ICQ: <a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
<li><strong>ICQ:</strong> <a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
{/if}
</ul>
{/if}
{if $oUserProfile->getProfileFoto()}
<br /><br />
<img src="{$DIR_WEB_ROOT}{$oUserProfile->getProfileFoto()}" alt="photo" />
{/if}
</div>
</div>
{/if}

View file

@ -1,5 +1,7 @@
{include file='header.tpl' menu="profile"}
{assign var="oSession" value=$oUserProfile->getSession()}
{assign var="oVote" value=$oUserProfile->getVote()}
<div class="profile-user">
<div class="strength">
@ -7,7 +9,7 @@
</div>
<div class="voting {if $oUserProfile->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oUserProfile->getId()==$oUserCurrent->getId()}guest{/if} {if $oUserProfile->getUserIsVote()} voted {if $oUserProfile->getUserVoteDelta()>0}plus{elseif $oUserProfile->getUserVoteDelta()<0}minus{/if}{/if}">
<div class="voting {if $oUserProfile->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oUserProfile->getId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oUserProfile->getId()},this,1,'user'); return false;"></a>
<span class="total">{if $oUserProfile->getRating()>0}+{/if}{$oUserProfile->getRating()}</span>
<a href="#" class="minus" onclick="lsVote.vote({$oUserProfile->getId()},this,-1,'user'); return false;"></a>
@ -44,7 +46,7 @@
{if $oUserProfile->getProfileBirthday()}
<tr>
<td class="var">{$aLang.profile_birthday}:</td>
<td>{date_format date=$oUserProfile->getProfileBirthday() format="j rus_mon Y"}</td>
<td>{date_format date=$oUserProfile->getProfileBirthday() format="j F Y"}</td>
</tr>
{/if}
@ -53,10 +55,10 @@
<td class="var">{$aLang.profile_place}:</td>
<td>
{if $oUserProfile->getProfileCountry()}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/country/{$oUserProfile->getProfileCountry()|escape:'html'}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oUserProfile->getProfileCity()},{/if}
<a href="{router page='people'}country/{$oUserProfile->getProfileCountry()|escape:'html'}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oUserProfile->getProfileCity()},{/if}
{/if}
{if $oUserProfile->getProfileCity()}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/city/{$oUserProfile->getProfileCity()|escape:'html'}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
<a href="{router page='people'}city/{$oUserProfile->getProfileCity()|escape:'html'}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
{/if}
</td>
</tr>
@ -73,13 +75,15 @@
<tr>
<td class="var">{$aLang.profile_site}:</td>
<td>
<a href="{$oUserProfile->getProfileSite(true)|escape:'html'}">
{if $oUserProfile->getProfileSiteName()}
{$oUserProfile->getProfileSiteName()|escape:'html'}
{else}
{$oUserProfile->getProfileSite()|escape:'html'}
{/if}
</a>
<noindex>
<a href="{$oUserProfile->getProfileSite(true)|escape:'html'}" rel="nofollow">
{if $oUserProfile->getProfileSiteName()}
{$oUserProfile->getProfileSiteName()|escape:'html'}
{else}
{$oUserProfile->getProfileSite()|escape:'html'}
{/if}
</a>
</noindex>
</td>
</tr>
{/if}
@ -90,29 +94,18 @@
<h2>{$aLang.profile_activity}</h2>
<table class="data">
{if $aUsersFrend}
{if $aUsersFriend}
<tr>
<td class="var">{$aLang.profile_friends}:</td>
<td class="friends">
{foreach from=$aUsersFrend item=oUserFrend}
<a href="{$oUserFrend->getUserWebPath()}">{$oUserFrend->getLogin()}</a>&nbsp;
{foreach from=$aUsersFriend item=oUser}
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>&nbsp;
{/foreach}
</td>
</tr>
{/if}
{if $aUsersSelfFrend}
<tr>
<td class="var">{$aLang.profile_friends_self}:</td>
<td class="friends">
{foreach from=$aUsersSelfFrend item=oUserFrend}
<a href="{$oUserFrend->getUserWebPath()}">{$oUserFrend->getLogin()}</a>&nbsp;
{/foreach}
</td>
</tr>
{/if}
{if $USER_USE_INVITE and $oUserInviteFrom}
{if $oConfig->GetValue('general.reg.invite') and $oUserInviteFrom}
<tr>
<td class="var">{$aLang.profile_invite_from}:</td>
<td class="friends">
@ -121,10 +114,10 @@
</tr>
{/if}
{if $USER_USE_INVITE and $aUsersInvite}
{if $oConfig->GetValue('general.reg.invite') and $aUsersInvite}
<tr>
<td class="var">{$aLang.profile_invite_to}:</td>
<td>
<td class="friends">
{foreach from=$aUsersInvite item=oUserInvite}
<a href="{$oUserInvite->getUserWebPath()}">{$oUserInvite->getLogin()}</a>&nbsp;
{/foreach}
@ -137,40 +130,43 @@
<td class="var">{$aLang.profile_blogs_self}:</td>
<td>
{foreach from=$aBlogsOwner item=oBlog name=blog_owner}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogsAdministration}
{if $aBlogAdministrators}
<tr>
<td class="var">{$aLang.profile_blogs_administration}:</td>
<td>
{foreach from=$aBlogsAdministration item=oBlogUser name=blog_user}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlogUser->getBlogUrl()}/">{$oBlogUser->getBlogTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{foreach from=$aBlogAdministrators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogsModeration}
{if $aBlogModerators}
<tr>
<td class="var">{$aLang.profile_blogs_moderation}:</td>
<td>
{foreach from=$aBlogsModeration item=oBlogUser name=blog_user}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlogUser->getBlogUrl()}/">{$oBlogUser->getBlogTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{foreach from=$aBlogModerators item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
{/if}
{if $aBlogsUser}
{if $aBlogUsers}
<tr>
<td class="var">{$aLang.profile_blogs_join}:</td>
<td>
{foreach from=$aBlogsUser item=oBlogUser name=blog_user}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlogUser->getBlogUrl()}/">{$oBlogUser->getBlogTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{foreach from=$aBlogUsers item=oBlogUser name=blog_user}
{assign var="oBlog" value=$oBlogUser->getBlog()}
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
{/foreach}
</td>
</tr>
@ -179,11 +175,13 @@
<tr>
<td class="var">{$aLang.profile_date_registration}:</td>
<td>{date_format date=$oUserProfile->getDateRegister()}</td>
</tr>
</tr>
{if $oSession}
<tr>
<td class="var">{$aLang.profile_date_last}:</td>
<td>{date_format date=$oUserProfile->getDateLast()}</td>
<td>{date_format date=$oSession->getDateLast()}</td>
</tr>
{/if}
</table>
</div>

View file

@ -1,10 +1,10 @@
{include file='header.tpl' menu='topic_action' showWhiteBack=true}
{include file='header.tpl' menu='topic_action'}
{literal}
<script>
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php', {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -27,25 +27,28 @@ document.addEvent('domready', function() {
{/if}
<form action="" method="POST" enctype="multipart/form-data">
<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="ajaxBlogInfo(this.value);">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsOwner item=oBlog}
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()}</option>
{/foreach}
{foreach from=$aBlogsUser item=oBlogUser}
<option value="{$oBlogUser->getBlogId()}" {if $_aRequest.blog_id==$oBlogUser->getBlogId()}selected{/if}>{$oBlogUser->getBlogTitle()}</option>
{/foreach}
</select></p>
<script>
ajaxBlogInfo(document.getElementById('blog_id').value);
<script language="JavaScript" type="text/javascript">
ajaxBlogInfo($('blog_id').value);
</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="w100p" {if $bEditDisabled}disabled{/if} />
<span class="form-note">{$aLang.topic_question_create_title_notice}</span></p>
{$aLang.topic_question_create_answers}:
<ul class="answer-list">
{if count($_aRequest.answer)>=2}
@ -92,7 +95,7 @@ document.addEvent('domready', function() {
<span class="form-note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
<p class="buttons">
<p>
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />&nbsp;
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />

View file

@ -2,7 +2,7 @@
<div class="center-block">
<h3>{$aLang.registration_activate_ok}</h3>
<a href="{$DIR_WEB_ROOT}">{$aLang.site_go_main}</a>
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
</div>
{include file='footer.light.tpl'}

View file

@ -4,7 +4,7 @@
<h3>{$aLang.registration_confirm_header}</h3>
{$aLang.registration_confirm_text}<br /><br />
<a href="{$DIR_WEB_ROOT}">{$aLang.site_go_main}</a>
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
</div>
{include file='footer.light.tpl'}

View file

@ -1,7 +1,7 @@
{include file='header.light.tpl'}
<div class="center-block">
<form action="{$DIR_WEB_ROOT}/registration/" method="POST">
<form action="{router page='registration'}" method="POST">
<h3>{$aLang.registration}</h3>
<p><label for="login">{$aLang.registration_login}:</label>
@ -20,7 +20,7 @@
<input type="password" name="password_confirm" id="repass" class="input-text" value="" /></p>
<p><label for="captcha">{$aLang.registration_captcha}:</label>
<img src="{$DIR_WEB_ROOT}/classes/lib/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" /><br />
<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();"><br />
<input type="text" name="captcha" id="captcha" maxlength="3" class="input-text captcha" value="" /></p>
<input type="submit" name="submit_register" value="{$aLang.registration_submit}" />

View file

@ -1,7 +1,7 @@
{include file='header.light.tpl'}
<div class="center-block">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_REGISTRATION}/invite/" method="POST">
<form action="{router page='registration'}invite/" method="POST">
<h3>{$aLang.registration_invite}</h3>
<label for="invite_code">{$aLang.registration_invite_code}:</label>
<p><input type="text" class="input-text" name="invite_code" id="invite_code" /></p>

View file

@ -2,7 +2,7 @@
<div class="center-block">
<h3>{$aLang.registration_ok}</h3>
<a href="{$DIR_WEB_ROOT}">{$aLang.site_go_main}</a>
<a href="{cfg name='path.root.web'}>{$aLang.site_go_main}</a>
</div>
{include file='footer.light.tpl'}

View file

@ -6,9 +6,9 @@
<atom:link href="{$PATH_WEB_CURRENT}/" rel="self" type="application/rss+xml" />
<description><![CDATA[{$aChannel.description}]]></description>
<language>{$aChannel.language}</language>
<managingEditor>{$aChannel.managingEditor} ({$DIR_WEB_ROOT})</managingEditor>
<webMaster>{$aChannel.managingEditor} ({$DIR_WEB_ROOT})</webMaster>
<copyright>{$DIR_WEB_ROOT}</copyright>
<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>

View file

@ -1,7 +1,7 @@
{include file='header.tpl'}
<h2>{$aLang.search}</h2>
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/topics/" method="GET">
<form action="{router page='search'}topics/" method="GET">
<p>
<input type="text" value="" name="q" class="w100p" />
<input type="submit" value="{$aLang.search_submit}" />

View file

@ -1,14 +1,14 @@
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>{$SITE_NAME}</ShortName>
<ShortName>{cfg name='view.name'}</ShortName>
<Description>{$sHtmlTitle}</Description>
<Contact>{$sAdminMail}</Contact>
<Url type="text/html" template="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/topics/?q={literal}{searchTerms}{/literal}" />
<Url type="text/html" template="{router page='search'}topics/?q={literal}{searchTerms}{/literal}" />
<LongName>{$sHtmlDescription}</LongName>
<Image height="64" width="64" type="image/png">{$DIR_STATIC_SKIN}/img/logo.gif</Image>
<Image height="16" width="16" type="image/vnd.microsoft.icon">{$DIR_STATIC_SKIN}/img/favicon.ico</Image>
<Developer>{$SITE_NAME} ({$DIR_WEB_ROOT})</Developer>
<Image height="64" width="64" type="image/png">{cfg name='path.static.skin'}/images/logo.gif</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>
© «{$SITE_NAME}»
© «{cfg name='view.name'}»
</Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>

View file

@ -4,7 +4,7 @@
<ul class="block-nav">
{foreach from=$aRes.aCounts item=iCount key=sType name="sTypes"}
<li {if $aReq.sType == $sType}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/{$sType}/?q={$aReq.q|escape:'html'}">
<a href="{router page='search'}{$sType}/?q={$aReq.q|escape:'html'}">
{$iCount}
{if $sType=="topics"}
{$aLang.search_results_count_topics}

View file

@ -2,6 +2,8 @@
<h2>{$aLang.settings_invite}</h2>
<form action="" method="POST" enctype="multipart/form-data">
<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>

View file

@ -1,12 +1,12 @@
{include file='header.tpl' menu='settings' showWhiteBack=true}
{literal}
<script>
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
var inputCity = $('profile_city');
new Autocompleter.Request.HTML(inputCity, DIR_WEB_ROOT+'/include/ajax/cityAutocompleter.php', {
new Autocompleter.Request.HTML(inputCity, DIR_WEB_ROOT+'/include/ajax/cityAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -16,7 +16,7 @@ document.addEvent('domready', function() {
var inputCountry = $('profile_country');
new Autocompleter.Request.HTML(inputCountry, DIR_WEB_ROOT+'/include/ajax/countryAutocompleter.php', {
new Autocompleter.Request.HTML(inputCountry, DIR_WEB_ROOT+'/include/ajax/countryAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -28,80 +28,82 @@ document.addEvent('domready', function() {
<h1>{$aLang.settings_profile_edit}</h1>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p><label for="profile_name">{$aLang.settings_profile_name}:</label>
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="w100p" />
<span class="form-note">{$aLang.settings_profile_name_notice}</span></p>
<p><label for="mail">{$aLang.settings_profile_mail}:</label>
<input type="text" class="w100p" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}" />
<input type="text" class="w100p" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}"/>
<span class="form-note">{$aLang.settings_profile_mail_notice}</span></p>
<p>
<label for="">{$aLang.settings_profile_sex}:</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_m" value="man" {if $oUserCurrent->getProfileSex()=='man'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_man}</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_w" value="woman" {if $oUserCurrent->getProfileSex()=='woman'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_woman}</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_o" value="other" {if $oUserCurrent->getProfileSex()=='other'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_other}</label>
</p>
<p><label for="">{$aLang.settings_profile_sex}:</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_m" value="man" {if $oUserCurrent->getProfileSex()=='man'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_man}</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_w" value="woman" {if $oUserCurrent->getProfileSex()=='woman'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_woman}</label>
<label for=""><input type="radio" name="profile_sex" id="profile_sex_o" value="other" {if $oUserCurrent->getProfileSex()=='other'}checked{/if} class="radio" /> &mdash; {$aLang.settings_profile_sex_other}</label></p>
<p>
<label for="">{$aLang.settings_profile_birthday}:</label>
<select name="profile_birthday_day" class="w70">
<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" class="w100">
<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" class="w70">
<option value="">{$aLang.date_year}</option>
{section name=date_year start=1940 loop=2000 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>
</p>
<p><label for="">{$aLang.settings_profile_birthday}:</label>
<select name="profile_birthday_day" class="w70">
<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" class="w100">
<option value="">{$aLang.date_month}</option>
<option value="1" {if 1==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_1}</option>
<option value="2" {if 2==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_2}</option>
<option value="3" {if 3==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_3}</option>
<option value="4" {if 4==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_4}</option>
<option value="5" {if 5==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_5}</option>
<option value="6" {if 6==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_6}</option>
<option value="7" {if 7==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_7}</option>
<option value="8" {if 8==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_8}</option>
<option value="9" {if 9==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_9}</option>
<option value="10" {if 10==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_10}</option>
<option value="11" {if 11==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_11}</option>
<option value="12" {if 12==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.date_month_12}</option>
</select>
<select name="profile_birthday_year" class="w70">
<option value="">{$aLang.date_year}</option>
{section name=date_year start=1940 loop=2000 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></p>
<p><label for="profile_country">{$aLang.settings_profile_country}:</label><input type="text" class="w300" id="profile_country" name="profile_country" value="{$oUserCurrent->getProfileCountry()|escape:'html'}"/>
<label for="profile_city">{$aLang.settings_profile_city}:</label><input type="text" class="w300" id="profile_city" name="profile_city" value="{$oUserCurrent->getProfileCity()|escape:'html'}"/></p>
<p><label for="profile_country">{$aLang.settings_profile_country}:</label><input type="text" id="profile_country" name="profile_country" value="{$oUserCurrent->getProfileCountry()|escape:'html'}" />
<label for="profile_city">{$aLang.settings_profile_city}:</label><input type="text" id="profile_city" name="profile_city" value="{$oUserCurrent->getProfileCity()|escape:'html'}" /></p>
<p><label for="profile_icq">{$aLang.settings_profile_icq}:</label><input type="text" class="w300" name="profile_icq" id="profile_icq" value="{$oUserCurrent->getProfileIcq()|escape:'html'}"/></p>
<p><label for="profile_icq">{$aLang.settings_profile_icq}:</label><input type="text" name="profile_icq" id="profile_icq" value="{$oUserCurrent->getProfileIcq()|escape:'html'}" /></p>
<p><label for="profile_site">{$aLang.settings_profile_site}:</label>
<label for="profile_site"><input type="text" class="w300" style="margin-bottom: 5px;" id="profile_site" name="profile_site" value="{$oUserCurrent->getProfileSite()|escape:'html'}" /> &mdash; {$aLang.settings_profile_site_url}</label>
<label for="profile_site_name"><input type="text" class="w300" id="profile_site_name" name="profile_site_name" value="{$oUserCurrent->getProfileSiteName()|escape:'html'}" /> &mdash; {$aLang.settings_profile_site_name}</label></p>
<p>
<label for="profile_site">{$aLang.settings_profile_site}:</label>
<label for="profile_site"><input type="text" class="w300" style="margin-bottom: 5px;" id="profile_site" name="profile_site" value="{$oUserCurrent->getProfileSite()|escape:'html'}"/> &mdash; {$aLang.settings_profile_site_url}</label>
<label for="profile_site_name"><input type="text" class="w300" id="profile_site_name" name="profile_site_name" value="{$oUserCurrent->getProfileSiteName()|escape:'html'}"/> &mdash; {$aLang.settings_profile_site_name}</label>
</p>
<p><label for="profile_about">{$aLang.settings_profile_about}:</label>
<textarea class="small" name="profile_about" id="profile_about">{$oUserCurrent->getProfileAbout()|escape:'html'}</textarea></p>
<p><label for="password_now">{$aLang.settings_profile_password_current}:</label><input type="password" name="password_now" id="password_now" value="" />
<label for="password">{$aLang.settings_profile_password_new}:</label><input type="password" id="password" name="password" value="" />
<label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label><input type="password" id="password_confirm" name="password_confirm" value="" /></p>
<p>
<label for="password_now">{$aLang.settings_profile_password_current}:</label><input type="password" class="w300" name="password_now" id="password_now" value=""/>
<label for="password">{$aLang.settings_profile_password_new}:</label><input type="password" class="w300" id="password" name="password" value=""/>
<label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label><input type="password" class="w300" id="password_confirm" name="password_confirm" value=""/>
</p>
{if $oUserCurrent->getProfileAvatar()}
<img src="{$oUserCurrent->getProfileAvatarPath(100)}" alt="avatar" />
<img src="{$oUserCurrent->getProfileAvatarPath(64)}" alt="avatar" />
<img src="{$oUserCurrent->getProfileAvatarPath(24)}" alt="avatar" />
<label for="avatar_delete"><input type="checkbox" id="avatar_delete" name="avatar_delete" class="input-checkbox" value="on" /> &mdash; {$aLang.settings_profile_avatar_delete}</label>
<img src="{$oUserCurrent->getProfileAvatarPath(100)}" border="0">
<img src="{$oUserCurrent->getProfileAvatarPath(64)}" border="0">
<img src="{$oUserCurrent->getProfileAvatarPath(24)}" border="0">
<input type="checkbox" id="avatar_delete" name="avatar_delete" value="on"> &mdash; <label for="avatar_delete"><span class="form">{$aLang.settings_profile_avatar_delete}</span></label>
{/if}
<p><label for="avatar">{$aLang.settings_profile_avatar}:</label><input type="file" id="avatar" name="avatar"/></p>
{if $oUserCurrent->getProfileFoto()}
<img src="{$oUserCurrent->getProfileFoto()}" alt="avatar" />
<p><label for="foto_delete"><input type="checkbox" id="foto_delete" name="foto_delete" class="input-checkbox" value="on" /> &mdash; {$aLang.settings_profile_foto_delete}</label></p>
<img src="{$oUserCurrent->getProfileFoto()}" border="0">
<label for="foto_delete"><input type="checkbox" id="foto_delete" name="foto_delete" value="on"> &mdash; {$aLang.settings_profile_foto_delete}</label><br />
{/if}
<p><label for="foto">{$aLang.settings_profile_foto}:</label><input type="file" id="foto" name="foto" /></p>
<p><label for="foto">{$aLang.settings_profile_foto}:</label><input type="file" id="foto" name="foto"/></p>
<input type="submit" value="{$aLang.settings_profile_submit}" name="submit_profile_edit" />
<p><input type="submit" value="{$aLang.settings_profile_submit}" name="submit_profile_edit"/></p>
</form>
{include file='footer.tpl'}

View file

@ -2,7 +2,8 @@
<h2>{$aLang.settings_tuning}</h2>
<strong>{$aLang.settings_tuning_notice}</strong>
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/tuning/" method="POST" enctype="multipart/form-data">
<form action="{router page='settings'}tuning/" method="POST" enctype="multipart/form-data">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
<p>
<label for=""><input {if $oUserCurrent->getSettingsNoticeNewTopic()}checked{/if} type="checkbox" id="settings_notice_new_topic" name="settings_notice_new_topic" value="1" class="input-checkbox" /> &mdash; {$aLang.settings_tuning_notice_new_topic}</label>
<label for=""><input {if $oUserCurrent->getSettingsNoticeNewComment()}checked{/if} type="checkbox" id="settings_notice_new_comment" name="settings_notice_new_comment" value="1" class="input-checkbox" /> &mdash; {$aLang.settings_tuning_notice_new_comment}</label>

View file

@ -1,9 +1,9 @@
{include file='header.tpl' menu='talk'}
{literal}
<script>
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML($('talk_users'), DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php', {
new Autocompleter.Request.HTML($('talk_users'), DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 1, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -13,14 +13,76 @@ document.addEvent('domready', function() {
</script>
{/literal}
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce_3.2.7/tiny_mce.js"></script>
{literal}
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
language : TINYMCE_LANG
});
</script>
{/literal}
{else}
{include file='window_load_img.tpl' sToLoad='talk_text'}
{/if}
<h2>{$aLang.talk_create}</h2>
<form action="" method="POST" enctype="multipart/form-data">
<p><label for="talk_users">{$aLang.talk_create_users}:</label><input type="text" class="w100p" 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="w100p" id="talk_title" name="talk_title" value="{$_aRequest.talk_title}" /></p>
<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="w100p" 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="w100p" 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">{$_aRequest.talk_text}</textarea></p>
<label for="talk_text">{$aLang.talk_create_text}:</label>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form">
<select onchange="lsPanel.putTagAround('talk_text',this.value); this.selectedIndex=0; return false;" style="width: 91px;">
<option value="">{$aLang.panel_title}</option>
<option value="h4">{$aLang.panel_title_h4}</option>
<option value="h5">{$aLang.panel_title_h5}</option>
<option value="h6">{$aLang.panel_title_h6}</option>
</select>
<select onchange="lsPanel.putList('talk_text',this); return false;">
<option value="">{$aLang.panel_list}</option>
<option value="ul">{$aLang.panel_list_ul}</option>
<option value="ol">{$aLang.panel_list_ol}</option>
</select>
<a href="#" onclick="lsPanel.putTagAround('talk_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('talk_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putQuote('talk_text'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/quote.gif" width="20" height="20" title="{$aLang.panel_quote}"></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
<a href="#" onclick="lsPanel.putTagAround('talk_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}"></a>
</div>
{/if}
<p><textarea name="talk_text" id="talk_text" rows="12">{$_aRequest.talk_text}</textarea></p>
<p><input type="submit" value="{$aLang.talk_create_submit}" name="submit_talk_add"/></p>
</form>

View file

@ -0,0 +1,147 @@
<div class="block blogs">
<h3>{$aLang.talk_blacklist_title}</h3>
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML(
$('talk_blacklist_add'),
DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
function deleteFromBlackList(element) {
element.getParent('li').fade(0.7);
idTarget = element.get('id').replace('blacklist_item_','');
JsHttpRequest.query(
'POST '+aRouter['talk']+'ajaxdeletefromblacklist/',
{ idTarget: idTarget, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
element.getParent().fade(1);
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
element.getParent().fade(1);
} else {
element.getParent('li').destroy();
if($('blackList').getElements('li').length==0) {
$('blackList').destroy();
$('list_uncheck_all').setProperty('style','display:none');
}
}
},
true
);
return true;
}
function addListItem(sId,sLogin) {
if($('blackListBlock').getElements('li').length==0) {
$('list_uncheck_all').removeProperty('style');
list=new Element('ul', {class:'list',id:'blackList'});
$('blackListBlock').adopt(list);
}
oSpan=new Element('span',
{
'class' : 'user',
'text' : sLogin
}
);
oLink=new Element('a',
{
'id' : 'blacklist_item_'+sId,
'href' : "#",
'class' : 'delete',
'html' : ' &mdash; Удалить',
'events': {
'click': function() {
deleteFromBlackList(this);
return false;
}
}
}
);
oItem=new Element('li');
$('blackList').adopt(oItem.adopt(oSpan,oLink));
}
function addToBlackList() {
sUsers=$('talk_blacklist_add').get('value');
if(sUsers.length<2) {
msgErrorBox.alert('Error','Пользователь не указан');
return false;
}
$('talk_blacklist_add').set('value','');
JsHttpRequest.query(
'POST '+aRouter['talk']+'ajaxaddtoblacklist/',
{ users: sUsers, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
var aUsers = result.aUsers;
aUsers.each(function(item,index) {
if(item.bStateError){
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
} else {
addListItem(item.sUserId,item.sUserLogin);
}
});
}
},
true
);
return false;
}
</script>
{/literal}
<div class="block-content">
<form onsubmit="addToBlackList(); return false;">
<p><label for="talk_blacklist_add">{$aLang.talk_balcklist_add_label}:</label><br />
<input type="text" id="talk_blacklist_add" name="add" value="" class="w100p" /></p>
</form>
</div>
<div class="block-content" id="blackListBlock">
{if $aUsersBlacklist}
{literal}
<script>
window.addEvent('domready', function() {
$('list_uncheck_all').addEvents({
'click': function(){
$('blackList').getElements('a').each(function(item,index){
deleteFromBlackList(item);
});
return false;
}
});
});
</script>
{/literal}
<ul class="list user-list" id="blackList">
{foreach from=$aUsersBlacklist item=oUser}
<li>{$oUser->getLogin()} &mdash; <a href="#" id="blacklist_item_{$oUser->getId()}" onclick="deleteFromBlackList(this); return false;" class="delete">{$aLang.comment_delete}</a></li>
{/foreach}
</ul>
{/if}
</div>
<div class="right"><a href="#" id="list_uncheck_all" {if !$aUsersBlacklist}style="display:none;"{/if}>{$aLang.talk_balcklist_delete_all}</a></div>
</div>

View file

@ -0,0 +1,52 @@
{include file='header.tpl' menu='talk'}
<h3>{$aLang.talk_favourite_inbox}</h3>
<table class="people">
<thead>
<tr>
<td class="user" width="250px">{$aLang.talk_inbox_target}</td>
<td width="30px"></td>
<td>{$aLang.talk_inbox_title}</td>
<td width="150px">{$aLang.talk_inbox_date}</td>
</tr>
</thead>
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td class="user">
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="author {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td>
<span class="favorite {if $oTalk->getIsFavourite()}active{/if}">
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;"></a>
</span>
</td>
<td>
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<a href="{router page='talk'}read/{$oTalk->getId()}/"><b>{$oTalk->getTitle()|escape:'html'}</b></a>
{else}
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
{/if}
&nbsp;
{if $oTalk->getCountComment()}
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}<span style="color: #008000;">+{$oTalkUserAuthor->getCommentCountNew()}</span>{/if}
{/if}
</td>
<td>{date_format date=$oTalk->getDate()}</td>
</tr>
{/foreach}
</tbody>
</table>
{include file='paging.tpl' aPaging=`$aPaging`}
{include file='footer.tpl'}

View file

@ -0,0 +1,80 @@
<div class="block blogs">
<h3>{$aLang.talk_filter_title}</h3>
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML(
$('talk_filter_sender'),
DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': false
}
);
new vlaDatePicker(
$('talk_filter_start'),
{
separator: '.',
leadingZero: true,
twoDigitYear: false,
alignX: 'center',
alignY: 'top',
offset: { y: 3 },
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
prefillDate: false,
startMonday: true
}
);
new vlaDatePicker(
$('talk_filter_end'),
{
separator: '.',
leadingZero: true,
twoDigitYear: false,
alignX: 'center',
alignY: 'top',
offset: { y: 3 },
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
prefillDate: false,
startMonday: true
}
);
});
function eraseFilterForm() {
$$("#talk_filter_sender, #talk_filter_keyword, #talk_filter_start, #talk_filter_end").each(
function(item,index){
return item.set('value','');
}
);
return false;
}
</script>
{/literal}
<div class="block-content">
<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="w100p" />
<span class="form-note">{$aLang.talk_filter_notice_sender}</span></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="w100p" />
<span class="form-note">{$aLang.talk_filter_notice_keyword}</span></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}" class="w100p" style="width: 44%" readonly="readonly" /> &mdash;
<input type="text" id="talk_filter_end" name="end" value="{$_aRequest.end}" class="w100p" style="width: 44%" readonly="readonly" />
<span class="form-note">{$aLang.talk_filter_notice_date}</span></p>
<p><input type="submit" name="submit_talk_filter" value="{$aLang.talk_filter_submit}"/></p>
</form>
</div>
<div class="right"><a href="#" onclick="return eraseFilterForm();">{$aLang.talk_filter_erase_form}</a> | <a href="{router page='talk'}">{$aLang.talk_filter_erase}</a></div>
</div>

View file

@ -0,0 +1,82 @@
<div class="block blogs">
<h3>{$aLang.block_friends}</h3>
{if $aUsersFriend}
<div class="block-content">
{literal}
<script language="JavaScript" type="text/javascript">
function friendToogle(element) {
login=element.getNext('a').get('text');
to=$('talk_users')
.getProperty('value')
.split(',')
.map(function(item,index){
return item.trim();
}).filter(function(item,index){
return item.length>0;
});
$('talk_users').setProperty(
'value',
(element.getProperty('checked'))
? to.include(login).join(',')
: to.erase(login).join(',')
);
}
window.addEvent('domready', function() {
// сканируем список друзей
var lsCheckList=$('friends')
.getElements('input[type=checkbox]')
.addEvents({
'click': function(){
return friendToogle(this);
}
});
// toogle checkbox`а при клике на ссылку-логин
$('friends').getElements('a').addEvents({
'click': function() {
checkbox=this.getPrevious('input[type=checkbox]');
checkbox.setProperty('checked',!checkbox.getProperty('checked'));
friendToogle(checkbox);
return false;
}
});
// выделить всех друзей
$('friend_check_all').addEvents({
'click': function(){
lsCheckList.each(function(item,index){
if(!item.getProperty('checked')) {
item.setProperty('checked',true);
friendToogle(item);
}
});
return false;
}
});
// снять выделение со всех друзей
$('friend_uncheck_all').addEvents({
'click': function(){
lsCheckList.each(function(item,index){
if(item.getProperty('checked')) {
item.setProperty('checked',false);
friendToogle(item);
}
});
return false;
}
});
});
</script>
{/literal}
<ul class="list" id="friends">
{foreach from=$aUsersFriend item=oFriend}
<li><input type="checkbox" name="friend[{$oFriend->getId()}]"/> {$oFriend->getLogin()}</li>
{/foreach}
</ul>
</div>
<div class="right"><a href="#" id="friend_check_all">{$aLang.block_friends_check}</a> | <a href="#" id="friend_uncheck_all">{$aLang.block_friends_uncheck}</a></div>
{else}
{$aLang.block_friends_empty}
{/if}
</div>

View file

@ -9,6 +9,7 @@
<tr>
<td class="user" width="20px"><input type="checkbox" name="" class="input-checkbox" onclick="checkAllTalk(this);"></th>
<td width="250px">{$aLang.talk_inbox_target}</td>
<td width="30px"></td>
<td>{$aLang.talk_inbox_title}</td>
<td width="150px">{$aLang.talk_inbox_date}</td>
</tr>
@ -16,24 +17,31 @@
<tbody>
{foreach from=$aTalks item=oTalk}
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
<tr>
<td class="user"><input type="checkbox" name="talk_del[{$oTalk->getId()}]" class="form_talks_checkbox input-checkbox"></td>
<td>
{foreach from=$oTalk->getUsers() item=oUser name=users}
{if $oUser->getId()!=$oUserCurrent->getId()}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/" class="author">{$oUser->getLogin()}</a>
<td class="user">
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="author {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
{/if}
{/foreach}
</td>
<td>
{if $oTalk->getCountCommentNew() or !$oTalk->getDateLastRead()}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
<td class="talk">
<span class="favorite {if $oTalk->getIsFavourite()}active{/if}">
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;"></a>
</span>
</td>
<td>
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
<a href="{router page='talk'}read/{$oTalk->getId()}/"><b>{$oTalk->getTitle()|escape:'html'}</b></a>
{else}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
{/if}
&nbsp;
{if $oTalk->getCountComment()}
{$oTalk->getCountComment()} {if $oTalk->getCountCommentNew()}<span style="color: #390;">+{$oTalk->getCountCommentNew()}</span>{/if}
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}<span style="color: #008000;">+{$oTalkUserAuthor->getCommentCountNew()}</span>{/if}
{/if}
</td>
<td>{date_format date=$oTalk->getDate()}</td>
@ -41,7 +49,7 @@
{/foreach}
</tbody>
</table>
<input type="submit" name="submit_talk_del" value="{$aLang.talk_inbox_delete}" onclick="return confirm('{$aLang.talk_inbox_delete_confirm}');">
<input type="submit" name="submit_talk_del" value="{$aLang.talk_inbox_delete}" onclick="return ($$('.form_talks_checkbox:checked').length==0)?false:confirm('{$aLang.talk_inbox_delete_confirm}');">
</form>

View file

@ -1,5 +1,5 @@
{include file='header.tpl' menu='talk'}
{include file='header.tpl' menu='talk' showUpdateButton=true}
{assign var="oUser" value=$oTalk->getUser()}
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/comments.js"></script>
@ -10,75 +10,30 @@
{$oTalk->getText()}
</div>
<ul class="action">
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/">{$aLang.talk_inbox}</a></li>
<li class="delete"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/delete/{$oTalk->getId()}/" onclick="return confirm('{$aLang.talk_inbox_delete_confirm}');">{$aLang.talk_inbox_delete}</a></li>
<li><a href="{router page='talk'}">{$aLang.talk_inbox}</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}');">{$aLang.talk_inbox_delete}</a></li>
</ul>
<ul class="info">
<li class="date">{date_format date=$oTalk->getDate()}</li>
<li class="author"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTalk->getUserLogin()}/">{$oTalk->getUserLogin()}</a></li>
<li class="author"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
<li class="favorite {if $oTalk->getIsFavourite()}active{else}guest{/if}"><a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;"></a></li>
</ul>
</div>
<div class="comments">
<div class="header">
{if $oTalk->getCountComment()}<h3>{$aLang.talk_comments} ({$oTalk->getCountComment()})</h3>{/if}
</div>
{assign var="oTalkUser" value=$oTalk->getTalkUser()}
{assign var="nesting" value="-1"}
{foreach from=$aCommentsNew item=aComment name=rublist}
{if $nesting < $aComment.level}
{elseif $nesting > $aComment.level}
{section name=closelist1 loop=`$nesting-$aComment.level+1`}</div></div>{/section}
{elseif not $smarty.foreach.rublist.first}
</div></div>
{/if}
<div class="comment" id="comment_id_{$aComment.obj->getId()}">
<img src="{$DIR_STATIC_SKIN}/images/folder-close.gif" alt="+" title="{$aLang.comment_collapse}/{$aLang.comment_expand}" class="folding" />
<a name="comment{$aComment.obj->getId()}" ></a>
<ul class="info">
<li class="avatar"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$aComment.obj->getUserLogin()}/"><img src="{$aComment.obj->getUserProfileAvatarPath(24)}" alt="avatar" /></a></li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$aComment.obj->getUserLogin()}/" class="author">{$aComment.obj->getUserLogin()}</a></li>
<li class="date">{date_format date=$aComment.obj->getDate()}</li>
<li><a href="#comment{$aComment.obj->getId()}">#</a></li>
</ul>
<div id="comment_content_id_{$aComment.obj->getId()}" class="content {if $oUserCurrent and $aComment.obj->getUserId()==$oUserCurrent->getId()}self{else}{if $oTalk->getDateLastRead()<=$aComment.obj->getDate()}new{/if}{/if}">
<div class="text">
{$aComment.obj->getText()}<br />
<span class="reply-link">(<a href="javascript:lsCmtTree.toggleCommentForm({$aComment.obj->getId()});" class="reply-link">{$aLang.comment_answer}</a>)</span>
</div>
</div>
<div class="comment"><div class="content"><div class="text" id="comment_preview_{$aComment.obj->getId()}" style="display: none;"></div></div></div>
<div class="reply" id="reply_{$aComment.obj->getId()}" style="display: none;"></div>
<div class="comment-children" id="comment-children-{$aComment.obj->getId()}">
{assign var="nesting" value="`$aComment.level`"}
{if $smarty.foreach.rublist.last}
{section name=closelist2 loop=`$nesting+1`}</div></div>{/section}
{/if}
{/foreach}
<span id="comment-children-0"></span>
<br />
<h3 class="reply-title"><a href="javascript:lsCmtTree.toggleCommentForm(0);">{$aLang.topic_comment_add}</a></h3>
<div class="comment"><div class="content"><div class="text" id="comment_preview_0" style="display: none;"></div></div></div>
<div style="display: block;" id="reply_0" class="reply">
<form action="" method="POST" id="form_comment" enctype="multipart/form-data">
<textarea name="comment_text" id="form_comment_text"></textarea>
<input type="submit" name="submit_preview" value="{$aLang.comment_preview}" onclick="lsCmtTree.preview($('form_comment_reply').getProperty('value')); return false;" />&nbsp;
<input type="submit" name="submit_comment" value="{$aLang.comment_add}">
<input type="hidden" name="reply" value="0" id="form_comment_reply">
</form>
</div>
</div>
{if !$bNoComments}
{include
file='comment_tree.tpl'
iTargetId=$oTalk->getId()
sTargetType='talk'
iCountComment=$oTalk->getCountComment()
sDateReadLast=$oTalkUser->getDateLast()
sNoticeCommentAdd=$aLang.topic_comment_add
bNoCommentFavourites=true
}
{/if}
{include file='footer.tpl'}

View file

@ -0,0 +1,123 @@
<div class="block blogs">
<h3>{$aLang.talk_speaker_title}</h3>
{if $oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator() }
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML(
$('talk_speaker_add'),
DIR_WEB_ROOT+'/include/ajax/userAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY,
{
'indicatorClass': 'autocompleter-loading',
'minLength': 1,
'selectMode': 'pick',
'multiple': true
}
);
});
function deleteFromTalk(element,idTalk) {
element.getParent('li').fade(0.7);
idTarget = element.get('id').replace('speaker_item_','');
JsHttpRequest.query(
'POST '+aRouter['talk']+'ajaxdeletetalkuser/',
{ idTarget:idTarget,idTalk:idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
element.getParent().fade(1);
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
element.getParent().fade(1);
} else {
element.getParent('li').destroy();
}
},
true
);
return true;
}
function addListItem(sId,sLogin,sUserLink,sTalkId) {
oUser=new Element('a',
{
'class' : 'user',
'text' : sLogin,
'href' : sUserLink
}
);
oLink=new Element('a',
{
'id' : 'speaker_item_'+sId,
'href' : "#",
'class' : 'delete',
'events': {
'click': function() {
deleteFromTalk(this,sTalkId);
return false;
}
}
}
);
oItem=new Element('li');
$('speakerList').adopt(oItem.adopt(oUser,oLink));
}
function addToTalk(idTalk) {
sUsers=$('talk_speaker_add').get('value');
if(sUsers.length<2) {
msgErrorBox.alert('Error','Пользователь не указан');
return false;
}
$('talk_speaker_add').set('value','');
JsHttpRequest.query(
'POST '+aRouter['talk']+'ajaxaddtalkuser/',
{ users: sUsers, idTalk: idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
var aUsers = result.aUsers;
aUsers.each(function(item,index) {
if(item.bStateError){
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
} else {
addListItem(item.sUserId,item.sUserLogin,item.sUserLink,idTalk);
}
});
}
},
true
);
return false;
}
</script>
{/literal}
<div class="block-content">
<form onsubmit="addToTalk({$oTalk->getId()}); return false;">
<p><label for="talk_speaker_add">{$aLang.talk_speaker_add_label}:</label><br />
<input type="text" id="talk_speaker_add" name="add" value="" class="w100p" /></p>
</form>
</div>
{/if}
<div class="block-content" id="speakerListBlock">
{if $oTalk->getTalkUsers()}
<ul class="list user-list" id="speakerList">
{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><a class="{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())} &mdash; <a href="#" id="speaker_item_{$oTalkUser->getUserId()}" onclick="deleteFromTalk(this,{$oTalk->getId()}); return false;" class="delete">{$aLang.comment_delete}</a>{/if}</li>{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
</div>

View file

@ -1,12 +1,13 @@
{include file='header.tpl' menu="blog"}
<div class="topic top">
<h2>{$aLang.top_comments}</h2>
<h2>{$aLang.top_comments}</h2>
<ul class="block-nav">
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/comment/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/comment/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/comment/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/comment/all/">{$aLang.blog_menu_top_period_all}</a></li>
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}comment/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}comment/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}comment/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}comment/all/">{$aLang.blog_menu_top_period_all}</a></li>
</ul>
</div>

View file

@ -3,10 +3,10 @@
<div class="topic top">
<h2 class="title">{$aLang.top_topics}</h2>
<ul class="block-nav">
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/topic/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/topic/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/topic/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/topic/all/">{$aLang.blog_menu_top_period_all}</a></li>
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}topic/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}topic/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}topic/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}topic/all/">{$aLang.blog_menu_top_period_all}</a></li>
</ul>
</div>

View file

@ -4,7 +4,7 @@
{literal}
<script language="JavaScript" type="text/javascript">
document.addEvent('domready', function() {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php', {
new Autocompleter.Request.HTML($('topic_tags'), DIR_WEB_ROOT+'/include/ajax/tagAutocompleter.php?security_ls_key='+LIVESTREET_SECURITY_KEY, {
'indicatorClass': 'autocompleter-loading', // class added to the input during request
'minLength': 2, // We need at least 1 character
'selectMode': 'pick', // Instant completion
@ -15,34 +15,36 @@ document.addEvent('domready', function() {
{/literal}
{if $BLOG_USE_TINYMCE}
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/tiny_mce/tiny_mce.js"></script>
{literal}
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lslink,lsimage,lsvideo,safari,inlinepopups,media,lshselect,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>"
});
</script>
{/literal}
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce_3.2.7/tiny_mce.js"></script>
<script type="text/javascript">
{literal}
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>",
language : TINYMCE_LANG
});
{/literal}
</script>
{else}
{include file='window_load_img.tpl' sToLoad='topic_text'}
{/if}
@ -63,15 +65,14 @@ tinyMCE.init({
{/if}
<form action="" method="POST" enctype="multipart/form-data">
<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="ajaxBlogInfo(this.value);">
<option value="0">{$aLang.topic_create_blog_personal}</option>
{foreach from=$aBlogsOwner item=oBlog}
{foreach from=$aBlogsAllow item=oBlog}
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()}</option>
{/foreach}
{foreach from=$aBlogsUser item=oBlogUser}
<option value="{$oBlogUser->getBlogId()}" {if $_aRequest.blog_id==$oBlogUser->getBlogId()}selected{/if}>{$oBlogUser->getBlogTitle()}</option>
{/foreach}
{/foreach}
</select></p>
<script language="JavaScript" type="text/javascript">
@ -82,43 +83,54 @@ tinyMCE.init({
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="w100p" />
<span class="form-note">{$aLang.topic_create_title_notice}</span></p>
<label for="topic_text">{$aLang.topic_create_text}:</label>
{if !$BLOG_USE_TINYMCE}
<div class="panel-form">
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>
<label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form">
<select onchange="lsPanel.putTagAround('topic_text',this.value); this.selectedIndex=0; return false;" style="width: 91px;">
<option value="">{$aLang.panel_title}</option>
<option value="h4">{$aLang.panel_title_h4}</option>
<option value="h5">{$aLang.panel_title_h5}</option>
<option value="h6">{$aLang.panel_title_h6}</option>
</select>
<select onchange="lsPanel.putList('topic_text',this); return false;">
<option value="">{$aLang.panel_list}</option>
<option value="ul">{$aLang.panel_list_ul}</option>
<option value="ol">{$aLang.panel_list_ol}</option>
</select>
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/quote.gif" width="20" height="20" title="{$aLang.panel_quote}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/quote.gif" width="20" height="20" title="{$aLang.panel_quote}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>
<a href="#" onclick="showImgUploadForm(); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}"></a>
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;"><img src="{$DIR_STATIC_SKIN}/images/panel/cut.gif" width="20" height="20" title="{$aLang.panel_cut}"></a>
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}"></a>
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/cut.gif" width="20" height="20" title="{$aLang.panel_cut}"></a>
</div>
{/if}
<textarea name="topic_text" id="topic_text" rows="10">{$_aRequest.topic_text}</textarea><br /><br />
<p><textarea name="topic_text" id="topic_text" rows="20">{$_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="w100p" />
<span class="form-note">{$aLang.topic_create_tags_notice}</span></p>
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="input-checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if}/>
&mdash; {$aLang.topic_create_forbid_comment}</label>
<span class="form-note">{$aLang.topic_create_forbid_comment_notice}</span></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} />
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="input-checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if}/>
&mdash; {$aLang.topic_create_publish_index}</label>
<span class="form-note">{$aLang.topic_create_publish_index_notice}</span></p>
{/if}
<p class="buttons">
<p>
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />&nbsp;
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" class="right" />
</p>
</form>

View file

@ -21,5 +21,5 @@
{$sBlogsTop}
</div>
<div class="right"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOGS}/">{$aLang.block_blogs_all}</a></div>
<div class="right"><a href="{router page='blogs'}">{$aLang.block_blogs_all}</a></div>
</div>

View file

@ -1,5 +1,5 @@
<ul class="list">
{foreach from=$aBlogs item=oBlog}
<li><div class="total">{$oBlog->getRating()}</div><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a></li>
<li><div class="total">{$oBlog->getRating()}</div><a href="{router page='blog'}{$oBlog->getUrl()}/" {if $oBlog->getType()=='close'}class="close"{/if}>{$oBlog->getTitle()|escape:'html'}</a></li>
{/foreach}
</ul>

View file

@ -15,9 +15,8 @@
});
</script>
{/literal}
{$sStreamComments}
</div>
<div class="right"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_COMMENTS}/">{$aLang.block_stream_comments_all}</a> | <a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_RSS}/allcomments/">RSS</a></div>
</div>

View file

@ -1,10 +1,16 @@
<ul class="stream-content">
{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>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oComment->getUserLogin()}/" class="stream-author">{$oComment->getUserLogin()}</a>&nbsp;&#8594;
<a href="{$oComment->getBlogUrlFull()}" class="stream-blog">{$oComment->getBlogTitle()|escape:'html'}</a>&nbsp;/
<a href="{$oComment->getTopicUrl()}#comment{$oComment->getId()}" class="stream-comment">{$oComment->getTopicTitle()|escape:'html'}</a>
<span>({$oComment->getTopicCountComment()})</span>
<a href="{$oUser->getUserWebPath()}" class="stream-author">{$oUser->getLogin()}</a>&nbsp;&#8594;
<a href="{$oBlog->getUrlFull()}" class="stream-blog">{$oBlog->getTitle()|escape:'html'}</a>&nbsp;/
<a href="{$oTopic->getUrl()}#comment{$oComment->getId()}" class="stream-comment">{$oTopic->getTitle()|escape:'html'}</a>
<span>({$oTopic->getCountComment()})</span>
</li>
{/foreach}
</ul>
</ul>
<div class="right"><a href="{router page='comments'}">{$aLang.block_stream_comments_all}</a> | <a href="{router page='rss'}allcomments/">RSS</a></div>

View file

@ -1,10 +1,15 @@
<ul class="stream-content">
{foreach from=$oTopics item=oTopic name="cmt"}
{foreach from=$oTopics item=oTopic}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oBlog" value=$oTopic->getBlog()}
<li>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/" class="stream-author">{$oTopic->getUserLogin()}</a>&nbsp;&#8594;
<a href="{$oTopic->getBlogUrlFull()}" class="stream-blog">{$oTopic->getBlogTitle()|escape:'html'}</a>&nbsp;/
<a href="{$oUser->getUserWebPath()}" class="stream-author">{$oUser->getLogin()}</a>&nbsp;&#8594;
<a href="{$oBlog->getUrlFull()}" class="stream-blog">{$oBlog->getTitle()|escape:'html'}</a>&nbsp;/
<a href="{$oTopic->getUrl()}" class="stream-topic">{$oTopic->getTitle()|escape:'html'}</a>
<span>({$oTopic->getCountComment()})</span>
</li>
{/foreach}
</ul>
</ul>
<div class="right"><a href="{router page='new'}">{$aLang.block_stream_topics_all}</a> | <a href="{router page='rss'}new/">RSS</a></div>

View file

@ -1,7 +1,7 @@
<div class="block tags">
<ul class="cloud">
{foreach from=$aTags item=oTag}
<li><a class="w{$oTag->getSize()}" rel="tag" href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TAG}/{$oTag->getText()|escape:'html'}/">{$oTag->getText()|escape:'html'}</a></li>
<li><a class="w{$oTag->getSize()}" rel="tag" href="{router page='tag'}{$oTag->getText()|escape:'html'}/">{$oTag->getText()|escape:'html'}</a></li>
{/foreach}
</ul>
</div>

View file

@ -3,7 +3,7 @@
<h3>{$aLang.block_city_tags}</h3>
<ul class="cloud">
{foreach from=$aCityList item=aCity}
<li><a class="w{$aCity.size}" rel="tag" href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/city/{$aCity.name|escape:'html'}/" >{$aCity.name|escape:'html'}</a></li>
<li><a class="w{$aCity.size}" rel="tag" href="{router page='people'}city/{$aCity.name|escape:'html'}/" >{$aCity.name|escape:'html'}</a></li>
{/foreach}
</ul>
</div>

View file

@ -3,7 +3,7 @@
<h3>{$aLang.block_country_tags}</h3>
<ul class="cloud">
{foreach from=$aCountryList item=aCountry}
<li><a class="w{$aCountry.size}" rel="tag" href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/country/{$aCountry.name|escape:'html'}/">{$aCountry.name|escape:'html'}</a></li>
<li><a class="w{$aCountry.size}" rel="tag" href="{router page='people'}country/{$aCountry.name|escape:'html'}/">{$aCountry.name|escape:'html'}</a></li>
{/foreach}
</ul>
</div>

View file

@ -12,15 +12,16 @@
<tbody>
{foreach from=$aBlogs item=oBlog}
{assign var="oUserOwner" value=$oBlog->getOwner()}
<tr>
<td class="blog-name">
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlog->getUrl()}/"><img src="{$oBlog->getAvatarPath(24)}" alt="" /></a>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/{$oBlog->getUrl()}/" class="title">{$oBlog->getTitle()|escape:'html'}</a><br />
{$aLang.blogs_owner}: <a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oBlog->getUserLogin()}/" class="author">{$oBlog->getUserLogin()}</a>
<a href="{router page='blog'}{$oBlog->getUrl()}/"><img src="{$oBlog->getAvatarPath(24)}" alt="" /></a>
<a href="{router page='blog'}{$oBlog->getUrl()}/" class="title {if $oBlog->getType()=='close'}close{/if}">{$oBlog->getTitle()|escape:'html'}</a><br />
{$aLang.blogs_owner}: <a href="{router page='profile'}{$oUserOwner->getLogin()}/" class="author">{$oUserOwner->getLogin()}</a>
</td>
{if $oUserCurrent}
<td class="join {if $oBlog->getCurrentUserIsJoin()}active{/if}">
{if $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<td class="join {if $oBlog->getUserIsJoin()}active{/if}">
{if $oUserCurrent->getId()!=$oBlog->getOwnerId() and $oBlog->getType()=='open'}
<a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;"></a>
{/if}
</td>

View file

@ -1,43 +1,77 @@
<img src="{$DIR_STATIC_SKIN}/images/folding-close.gif" alt="+" title="{$aLang.comment_collapse}/{$aLang.comment_expand}" class="folding" style="display: none;"/>
<a name="comment{$oComment->getId()}" ></a>
{assign var="oUser" value=$oComment->getUser()}
{assign var="oVote" value=$oComment->getVote()}
<ul class="info">
<li class="avatar"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oComment->getUserLogin()}/"><img src="{$oComment->getUserProfileAvatarPath(24)}" alt="avatar" /></a></li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oComment->getUserLogin()}/" class="author">{$oComment->getUserLogin()}</a></li>
<li class="date">{date_format date=$oComment->getDate()}</li>
<li><a href="#comment{$oComment->getId()}">#</a></li>
{if $oComment->getPid()}
<li class="goto-comment-parent"><a href="#comment{$oComment->getPid()}" onclick="return lsCmtTree.goToParentComment($(this));" title="{$aLang.comment_goto_parent}">&uarr;</a></li>
{/if}
<li class="goto-comment-child hidden"><a href="#" onclick="return lsCmtTree.goToChildComment(this);" title="{$aLang.comment_goto_child}">&darr;</a></li>
{if !$oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="delete" onclick="lsCmtTree.toggleComment(this,{$oComment->getId()}); return false;">{$aLang.comment_delete}</a></li>
{/if}
{if $oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="repair" onclick="lsCmtTree.toggleComment(this,{$oComment->getId()}); return false;">{$aLang.comment_repair}</a></li>
{/if}
</ul>
{if !$oComment->getDelete() or $bOneComment or ($oUserCurrent and $oUserCurrent->isAdministrator())}
<img src="{cfg name='path.static.skin'}/images/folding-close.gif" alt="+" title="{$aLang.comment_collapse}/{$aLang.comment_expand}" class="folding" {if $bOneComment}style="display: none;"{/if} />
<a name="comment{$oComment->getId()}" ></a>
<ul class="info">
<li class="avatar"><a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" /></a></li>
<li><a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a></li>
<li class="date">{date_format date=$oComment->getDate()}</li>
<li><a href="#comment{$oComment->getId()}">#</a></li>
{if $oComment->getPid()}
<li class="goto-comment-parent"><a href="#comment{$oComment->getPid()}" onclick="return lsCmtTree.goToParentComment($(this));" title="{$aLang.comment_goto_parent}">^</a></li>
{/if}
<li class="goto-comment-child hidden"><a href="#" onclick="return lsCmtTree.goToChildComment(this);" title="{$aLang.comment_goto_child}">v</a></li>
{if !$oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="delete" onclick="lsCmtTree.toggleComment(this,{$oComment->getId()}); return false;">{$aLang.comment_delete}</a></li>
{/if}
{if $oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}
<li><a href="#" class="repair" onclick="lsCmtTree.toggleComment(this,{$oComment->getId()}); return false;">{$aLang.comment_repair}</a></li>
{/if}
{if $oUserCurrent and !$bNoCommentFavourites}
<li class="favorite {if $oComment->getIsFavourite()}active{/if}"><a href="#" onclick="lsFavourite.toggle({$oComment->getId()},this,'comment'); return false;"></a></li>
{/if}
</ul>
{if $oComment->getTargetType()!='talk'}
<div class="voting {if $oComment->getRating()>0}positive{elseif $oComment->getRating()<0}negative{/if} {if !$oUserCurrent || $oComment->getUserId()==$oUserCurrent->getId() || strtotime($oComment->getDate())<$smarty.now-$oConfig->GetValue('acl.vote.comment.limit_time')}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{else}minus{/if}{/if} ">
<div class="total">{if $oComment->getRating()>0}+{/if}{$oComment->getRating()}</div>
<a href="#" class="plus" onclick="lsVote.vote({$oComment->getId()},this,1,'comment'); return false;"></a>
<a href="#" class="minus" onclick="lsVote.vote({$oComment->getId()},this,-1,'comment'); return false;"></a>
</div>
{/if}
<div id="comment_content_id_{$oComment->getId()}" class="content {if $oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}del{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()}self{elseif $sDateReadLast<=$oComment->getDate()}new{/if}">
{if !$bOneComment and $oUserCurrent and $oComment->getUserId()!=$oUserCurrent->getId() and $sDateReadLast<=$oComment->getDate()}
{literal}
<script language="JavaScript" type="text/javascript">
window.addEvent('domready', function() {
{/literal}
lsCmtTree.addCommentScroll({$oComment->getId()});
{literal}
});
</script>
{/literal}
{/if}
<div class="text">
{if $oComment->isBad()}
<div style="display: none;" id="comment_text_{$oComment->getId()}">
{$oComment->getText()}
</div>
<a href="#" onclick="$('comment_text_{$oComment->getId()}').style.display='block';$(this).style.display='none';return false;">{$aLang.comment_bad_open}</a>
{else}
{$oComment->getText()}
{/if}
{if $oUserCurrent and !$oComment->getDelete() and !$bAllowNewComment}
<br />
<a href="javascript:lsCmtTree.toggleCommentForm({$oComment->getId()});" class="reply-link">({$aLang.comment_answer})</a>
{/if}
</div>
</div>
<div class="voting {if $oComment->getRating()>0}positive{elseif $oComment->getRating()<0}negative{/if} {if !$oUserCurrent || $oComment->getUserId()==$oUserCurrent->getId() || strtotime($oComment->getDate())<$smarty.now-$VOTE_LIMIT_TIME_COMMENT}guest{/if} {if $oComment->getUserIsVote()} voted {if $oComment->getUserVoteDelta()>0}plus{else}minus{/if}{/if} ">
<span class="total">{if $oComment->getRating()>0}+{/if}{$oComment->getRating()}</span>
<a href="#" class="plus" onclick="lsVote.vote({$oComment->getId()},this,1,'topic_comment'); return false;"></a>
<a href="#" class="minus" onclick="lsVote.vote({$oComment->getId()},this,-1,'topic_comment'); return false;"></a>
</div>
<div id="comment_content_id_{$oComment->getId()}" class="content {if $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()}self{else}new{/if}">
<div class="text">
{$oComment->getText()}
<br />
<span class="reply-link">(<a href="javascript:lsCmtTree.toggleCommentForm({$oComment->getId()});" class="reply-link">{$aLang.comment_answer}</a>)</span>
</div>
</div>
<div class="comment"><div class="content"><div class="text" id="comment_preview_{$oComment->getId()}" style="display: none;"></div></div></div>
<div class="reply" id="reply_{$oComment->getId()}" style="display: none;"></div>
<div class="comment-children" id="comment-children-{$oComment->getId()}"></div>
<div class="comment"><div class="content"><div class="text" id="comment_preview_{$oComment->getId()}" style="display: none;"></div></div></div>
<div class="reply" id="reply_{$oComment->getId()}" style="display: none;"></div>
{else}
<span class="delete">{$aLang.comment_was_delete}</span>
{/if}
<div class="comment-children" id="comment-children-{$oComment->getId()}">{if $bOneComment}</div>{/if}

View file

@ -1,38 +1,43 @@
{foreach from=$aComments item=oComment}
<div class="comment list">
<div class="comment-topic">
<a href="{$oComment->getBlogUrlFull()}" class="comment-blog">{$oComment->getBlogTitle()|escape:'html'}</a> /
<a href="{$oComment->getTopicUrl()}">{$oComment->getTopicTitle()|escape:'html'}</a>
<a href="{$oComment->getTopicUrl()}#comments" class="comment-total">{$oComment->getTopicCountComment()}</a>
</div>
<ul class="info">
<li class="avatar"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oComment->getUserLogin()}/"><img src="{$oComment->getUserProfileAvatarPath(24)}" alt="avatar" /></a></li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oComment->getUserLogin()}/" class="author">{$oComment->getUserLogin()}</a></li>
<li class="date">{date_format date=$oComment->getDate()}</li>
<li><a href="#comment{$oComment->getId()}">#</a></li>
</ul>
<div class="voting {if $oComment->getRating()>0}positive{elseif $oComment->getRating()<0}negative{/if}">
<span class="total">{if $oComment->getRating()>0}+{/if}{$oComment->getRating()}</span>
</div>
<div class="content">
<div class="text">
{if $oComment->isBad()}
<div style="display: none;" id="comment_text_{$oComment->getId()}">
{assign var="oUser" value=$oComment->getUser()}
{assign var="oTopic" value=$oComment->getTarget()}
{assign var="oBlog" value=$oTopic->getBlog()}
<div class="comment list">
<div class="comment-topic">
<a href="{$oBlog->getUrlFull()}" class="comment-blog">{$oBlog->getTitle()|escape:'html'}</a> /
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
<a href="{$oTopic->getUrl()}#comments" class="comment-total">{$oTopic->getCountComment()}</a>
</div>
<ul class="info">
<li class="avatar"><a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" /></a></li>
<li><a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a></li>
<li class="date">{date_format date=$oComment->getDate()}</li>
<li><a href="{$oTopic->getUrl()}#comment{$oComment->getId()}">#</a></li>
{if $oUserCurrent}
<li class="favorite {if $oComment->getIsFavourite()}active{/if}"><a href="#" onclick="lsFavourite.toggle({$oComment->getId()},this,'comment'); return false;"></a></li>
{/if}
</ul>
<div class="voting {if $oComment->getRating()>0}positive{elseif $oComment->getRating()<0}negative{/if}">
<div class="total">{if $oComment->getRating()>0}+{/if}{$oComment->getRating()}</div>
</div>
<div class="content">
<div class="text">
{if $oComment->isBad()}
<div style="display: none;" id="comment_text_{$oComment->getId()}">
{$oComment->getText()}
</div>
<a href="#" onclick="$('comment_text_{$oComment->getId()}').setStyle('display','block');$(this).setStyle('display','none');return false;">{$aLang.comment_bad_open}</a>
{else}
{$oComment->getText()}
{/if}
</div>
<a href="#" onclick="$('comment_text_{$oComment->getId()}').setStyle('display','block');$(this).setStyle('display','none');return false;">{$aLang.comment_bad_open}</a>
{else}
{$oComment->getText()}
{/if}
</div>
</div>
</div>
</div>
{/foreach}
{include file='paging.tpl' aPaging='$aPaging'}
{include file='paging.tpl' aPaging=`$aPaging`}

View file

@ -0,0 +1,90 @@
<script type="text/javascript" src="{cfg name='path.static.skin'}/js/comments.js"></script>
<div class="comments">
{if $oUserCurrent}
<div class="update" id="update">
<div class="refresh"><img class="update-comments" id="update-comments" alt="" src="{cfg name='path.static.skin'}/images/update.gif" onclick="lsCmtTree.responseNewComment({$iTargetId},'{$sTargetType}',this); return false;"/></div>
<div class="new-comments" id="new-comments" style="display: none;" onclick="lsCmtTree.goNextComment();"></div>
</div>
{/if}
<div class="header">
<h3>{$aLang.comment_title} (<span id="count-comments">{$iCountComment}</span>)</h3>
<a name="comments" ></a>
{if $sTargetType=='topic'}<a href="{router page='rss'}comments/{$iTargetId}/" class="rss">RSS</a>{/if}
<a href="#" onclick="lsCmtTree.collapseNodeAll(); return false;" onfocus="blur();">{$aLang.comment_collapse}</a> /
<a href="#" onclick="lsCmtTree.expandNodeAll(); return false;" onfocus="blur();">{$aLang.comment_expand}</a>
</div>
{literal}
<script language="JavaScript" type="text/javascript">
window.addEvent('domready', function() {
{/literal}
lsCmtTree.setIdCommentLast({$iMaxIdComment});
{literal}
});
</script>
{/literal}
{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></div>{/section}
{elseif not $smarty.foreach.rublist.first}
</div></div>
{/if}
<div class="comment" id="comment_id_{$oComment->getId()}">
{include file='comment.tpl'}
{assign var="nesting" value=$cmtlevel}
{if $smarty.foreach.rublist.last}
{section name=closelist2 loop=`$nesting+1`}</div></div>{/section}
{/if}
{/foreach}
<span id="comment-children-0"></span>
<br />
{if $bAllowNewComment}
{$sNoticeNotAllow}
{else}
{if $oUserCurrent}
<h3 class="reply-title"><a href="javascript:lsCmtTree.toggleCommentForm(0);">{$sNoticeCommentAdd}</a></h3>
<div class="comment"><div class="content"><div class="text" id="comment_preview_0" style="display: none;"></div></div></div>
<div style="display: block;" id="reply_0" class="reply">
{if !$oConfig->GetValue('view.tinymce')}
<div class="panel-form" style="background: #eaecea; margin-top: 2px;">
<a href="#" onclick="lsPanel.putTagAround('form_comment_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}"></a>
<a href="#" onclick="lsPanel.putTagAround('form_comment_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>
<a href="#" onclick="lsPanel.putTagAround('form_comment_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>
<a href="#" onclick="lsPanel.putTagAround('form_comment_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>
&nbsp;
<a href="#" onclick="lsPanel.putTagUrl('form_comment_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.gif" width="20" height="20" title="{$aLang.panel_url}"></a>
<a href="#" onclick="lsPanel.putQuote('form_comment_text'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/quote.gif" width="20" height="20" title="{$aLang.panel_quote}"></a>
<a href="#" onclick="lsPanel.putTagAround('form_comment_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
</div>
{/if}
<form action="" method="POST" id="form_comment" onsubmit="return false;" enctype="multipart/form-data">
<textarea name="comment_text" id="form_comment_text" style="width: 99%; height: 100px;"></textarea>
<input type="submit" name="submit_preview" value="{$aLang.comment_preview}" onclick="lsCmtTree.preview($('form_comment_reply').getProperty('value')); return false;" />&nbsp;
<input type="submit" name="submit_comment" value="{$aLang.comment_add}" onclick="lsCmtTree.addComment('form_comment',{$iTargetId},'{$sTargetType}'); return false;">
<input type="hidden" name="reply" value="" id="form_comment_reply">
<input type="hidden" name="cmt_target_id" value="{$iTargetId}">
</form>
</div>
{else}
{$aLang.comment_unregistered}<br>
{/if}
{/if}
</div>

View file

@ -83,6 +83,7 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.panel-form { padding: 4px 0 3px 5px; background: #f5f5f5; width: 99.1%; }
.panel-form img { vertical-align: top; }
.panel-form a { outline: none; }
.panel-form select { width: 73px; height: 18px; margin: 2px; float: left; }
/* Question add */
.answer-list { list-style: none; margin-bottom: 15px; }
@ -134,7 +135,7 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
/* Block Nav
-------------------------------------------------------------------*/
.block-nav { overflow: hidden; margin-bottom: 5px; zoom: 1; }
.block-nav li { font-size: 11px; line-height: 11px; float: left; padding: 0 !important; margin-right: 3px; }
.block-nav li { font-size: 11px; line-height: 11px; float: left; padding: 0 !important; list-style: none; margin-right: 3px; }
.block-nav li a { color: #777; background: #eee; text-decoration: none; outline: none; padding: 3px 5px 4px 5px; display: block; float: left; }
.block-nav li.active a { color: #fff; background: #333; }
@ -245,9 +246,6 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.topic .info li { float: left; margin-right: 10px; }
.topic .info li.voting { margin-right: 25px; }
.topic .info li.date { color: #333; }
.topic .info li.favorite a { background: url(../images/favorite.gif) no-repeat; display: block; height: 16px; width: 16px; outline: none; position: relative; top: 1px; }
.topic .info li.favorite a:hover { background: url(../images/favorite.gif) no-repeat 0 -16px !important; }
.topic .info li.favorite.active a { background: url(../images/favorite.gif) no-repeat 0 -16px; }
.topic .info li.author a { color: #333; font-weight: bold; }
.topic .info li.comments a { text-decoration: none; }
.topic .info li.comments a span.cm-total { }
@ -273,12 +271,18 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.topic .poll .poll-result li.most dl dd div { background: #555; }
.favorite a { background: url(../images/favorite.gif) no-repeat; display: block; height: 16px; width: 16px; outline: none; position: relative; top: 1px; }
.favorite a:hover { background-position: 0 -16px !important; }
.favorite.active a { background-position: 0 -16px; }
/* Comments
-------------------------------------------------------------------*/
.comments { }
.comments .comment .comment { padding-left: 30px; }
.comment { overflow: hidden; zoom: 1; position: relative; }
.comment ul { list-style: none; }
.comment .favorite { position: relative; top: 1px; }
.comment.list { margin-bottom: 20px; }
.comment.list .info { padding-left: 0; }
@ -383,6 +387,11 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.block.blogs .list li { overflow: hidden; border-bottom: 1px solid #eee; padding-bottom: 5px; margin-bottom: 5px; }
.block.blogs .list li a { padding-right: 50px; color: #777; text-decoration: none; }
.block.blogs .list li .total { float: right; font-weight: bold; padding-right: 13px; }
.block.blogs .list li a.close { padding-right: 18px; background: url(../images/key.gif) no-repeat right; }
.block.blogs .user-list a { padding: 0 !important; color: #284ea2 !important; }
.block.blogs .user-list a.delete { font-size: 11px; color: #f00 !important; }
.block.nostyle { padding: 0; border: 0; }
@ -462,6 +471,9 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.people tbody td.join a { display: block; width: 16px; height: 16px; margin: 0 auto; background: url(../images/blog-join.gif) no-repeat; outline: none; }
.people tbody td.join.active a { background: url(../images/blog-leave.gif) no-repeat; }
.people tbody td.option { text-align: center; }
.people tbody a.close { padding-right: 17px; background: url(../images/key.gif) no-repeat 100% -1px; }
.people tbody a.author { position: static !important; }
.people tbody a.inactive { color: #777; }
/* Data table
@ -509,6 +521,10 @@ span.form-note { display: block; color: #aaa; font-size: 11px; line-height: 14px
.profile-blog .avatar { float: left; margin-right: 7px; margin-top: 4px; }
.profile-blog .delete-form { border: 1px solid #ddd; background: #fff; padding: 4px 7px 7px; margin-top: 5px; }
.profile-blog .delete-form select { margin-bottom: 5px; }
.profile-blog .delete { background: #bd3e3e; color: #fff; padding: 2px 5px 3px; font-size: 10px; text-decoration: none; }
/* Profile User
-------------------------------------------------------------------*/

View file

@ -0,0 +1,183 @@
/***************/
/* vlaCalendar */
/***************/
/* Picker */
.vlaCalendarPicker {
position: absolute;
z-index: 999;
margin-top: -5px;
margin-left: -2px;
display: none;
}
.vlaCalendarPicker .pickerBackground {
background: transparent url('../images/datepicker/calendar_background.png') no-repeat top center;
padding: 16px;
height: 130px;
width: 166px;
overflow: hidden;
}
/* Background for IE6 - code does not validate as it is a hack */
*html .vlaCalendarPicker .pickerBackground {
background-image: url('../images/datepicker/calendar_background.gif');
}
/* Main calendar */
.vlaCalendar, .vlaCalendar table {
font-family: calibri, arial !important;
color: black;
font-size: 12px !important;
}
.vlaCalendar {
display: block;
width: 164px;
line-height: 14px !important;
}
.vlaCalendar .container, .vlaCalendar .container div {
width: 164px;
height: 130px;
text-align: left;
position: absolute;
overflow: hidden;
}
.vlaCalendar span.indication {
display: block;
text-align: center;
}
.vlaCalendar table {
margin-top: 8px;
text-align: right;
border-collapse: collapse;
background-color: white; /* <- IE ugly text in transition fix */
}
.vlaCalendar .picker td {
cursor: pointer;
}
/* Label & arrows */
.vlaCalendar .label:hover {
color: #0066cc;
cursor: pointer;
}
.vlaCalendar .noHover:hover {
color: black;
cursor: default;
}
.vlaCalendar .arrowLeft, .vlaCalendar .arrowRight {
background: transparent url('../images/datepicker/arrowleft.gif') no-repeat center;
height: 12px;
width: 10px;
cursor: pointer;
}
.vlaCalendar .arrowLeft {
margin-left: 5px;
float: left;
}
.vlaCalendar .arrowLeft:hover {
background-image: url('../images/datepicker/arrowleft_hover.gif');
}
.vlaCalendar .arrowRight {
margin-right: 5px;
float: right;
background-image: url('../images/datepicker/arrowright.gif');
}
.vlaCalendar .arrowRight:hover {
background-image: url('../images/datepicker/arrowright_hover.gif');
}
/* Month */
.vlaCalendar .month th {
text-align: center;
font-weight: normal;
width: 24px;
padding-bottom: 1px;
border-bottom: 1px solid #f5f5f5;
}
.vlaCalendar .month td {
padding-right: 3px;
height: 15px;
}
.vlaCalendar .month tr.firstRow td {
padding-top: 2px;
}
.vlaCalendar .month td:hover {
background: url('../images/datepicker/day_hover.gif') bottom no-repeat;
color: #0066cc;
}
.vlaCalendar .month td.selected {
background: url('../images/datepicker/day_selected.gif') bottom no-repeat;
color: #0066cc;
}
.vlaCalendar .month td.selected:hover {
background-image: url('../images/datepicker/day_selected_hover.gif');
}
.vlaCalendar .month td.outsideDay {
color: #a8a8a8;
}
.vlaCalendar .month td.outsideDay:hover {
color: #b1c5fc;
}
/* Year & decade */
.vlaCalendar .year {
margin-left: 2px;
}
.vlaCalendar .year td {
width: 40px;
height: 35px;
text-align: center;
cursor: pointer;
}
.vlaCalendar .year td:hover {
background: url('../images/datepicker/month_hover.gif') center no-repeat;
color: #0066cc;
}
.vlaCalendar .year td.selected {
background: url('../images/datepicker/month_selected.gif') center no-repeat;
}
.vlaCalendar .year td.selected:hover {
background-image: url('../images/datepicker/month_selected_hover.gif');
}
.vlaCalendar .year td.current {
background: url('../images/datepicker/month_current.gif') center no-repeat;
color: #0066cc;
}
.vlaCalendar .year td.current:hover {
background-image: url('../images/datepicker/month_current_hover.gif');
}
.vlaCalendar .year td.selectedcurrent {
background: url('../images/datepicker/month_selectedcurrent.gif') center no-repeat;
}
.vlaCalendar .year td.selectedcurrent:hover {
background-image: url('../images/datepicker/month_selectedcurrent_hover.gif');
}
.vlaCalendar .year td.outsideYear {
color: #a8a8a8;
}
.vlaCalendar .year td.outsideYear:hover {
color: #b1c5fc;
}

View file

@ -1,21 +1,18 @@
</div>
<!-- /Content -->
</div> <!-- /Content -->
{if !$bNoSidebar}
{include file='sidebar.tpl'}
{/if}
</div>
<!-- Footer -->
</div> <!-- /Wrapper -->
<div id="footer">
<div class="right">
Сайт работает на базе движка <a href="http://livestreet.ru">LiveStreet</a><br />
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/about/">{$aLang.page_about}</a> | <a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/download/">{$aLang.page_download} LiveStreet</a>
Сайт работает на базе движка <a href="http://livestreet.ru">LiveStreet</a>
</div>
Автор шаблона — <a href="http://deniart.ru/">deniart</a>
</div>
<!-- /Footer -->
</div>
</body>

View file

@ -5,9 +5,10 @@
<head>
<title>{$sHtmlTitle}</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/style.css?v=1" />
<link rel="stylesheet" type="text/css" href="{cfg name='path.static.skin'}/css/style.css?v=1" />
{if $bRefreshToHome}
<meta HTTP-EQUIV="Refresh" CONTENT="3; URL={$DIR_WEB_ROOT}/">
<meta HTTP-EQUIV="Refresh" CONTENT="3; URL={cfg name='path.root.web'}/">
{/if}
</head>
@ -15,7 +16,7 @@
<div id="container">
<div id="header">
<h1><a href="{$DIR_WEB_ROOT}">LiveStreet</a></h1>
<h1><a href="{cfg name='path.root.web'}">LiveStreet</a></h1>
</div>
{if !$noShowSystemMessage}

View file

@ -7,64 +7,75 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="DESCRIPTION" content="{$sHtmlDescription}" />
<meta name="KEYWORDS" content="{$sHtmlKeywords}" />
{$aHtmlHeadFiles.css}
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/style.css?v=1" />
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/roar.css" />
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/piechart.css" />
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/autocompleter.css" />
<link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/prettify.css" />
<!--[if IE 6]><link rel="stylesheet" type="text/css" href="{$DIR_STATIC_SKIN}/css/ie.css?v=1" /><![endif]-->
<link href="{$DIR_STATIC_SKIN}/images/favicon.ico" rel="shortcut icon" />
<link rel="search" type="application/opensearchdescription+xml" href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/opensearch/" title="{$SITE_NAME}" />
<link href="{cfg name='path.static.skin'}/images/favicon.ico" rel="shortcut icon" />
<link rel="search" type="application/opensearchdescription+xml" href="{router page='search'}opensearch/" title="{cfg name='view.name'}" />
{if $aHtmlRssAlternate}
<link rel="alternate" type="application/rss+xml" href="{$aHtmlRssAlternate.url}" title="{$aHtmlRssAlternate.title}">
{/if}
</head>
<script language="JavaScript" type="text/javascript">
var DIR_WEB_ROOT='{cfg name="path.root.web"}';
var DIR_STATIC_SKIN='{cfg name="path.static.skin"}';
var BLOG_USE_TINYMCE='{cfg name="view.tinymce"}';
var TALK_RELOAD_PERIOD='{cfg name="module.talk.period"}';
var TALK_RELOAD_REQUEST='{cfg name="module.talk.request"}';
var TALK_RELOAD_MAX_ERRORS='{cfg name="module.talk.max_errors"}';
var LIVESTREET_SECURITY_KEY = '{$LIVESTREET_SECURITY_KEY}';
var TINYMCE_LANG='en';
{if $oConfig->GetValue('lang.current')=='russian'}
TINYMCE_LANG='ru';
{/if}
var aRouter=new Array();
{foreach from=$aRouter key=sPage item=sPath}
aRouter['{$sPage}']='{$sPath}';
{/foreach}
</script>
<script language="JavaScript" type="text/javascript">
var DIR_WEB_ROOT='{$DIR_WEB_ROOT}';
var DIR_STATIC_SKIN='{$DIR_STATIC_SKIN}';
var BLOG_USE_TINYMCE='{$BLOG_USE_TINYMCE}';
</script>
{$aHtmlHeadFiles.js}
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/JsHttpRequest/JsHttpRequest.js"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/mootools-1.2.js?v=1.2.2"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/plugs/Roal/Roar.js"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/plugs/Autocompleter/Observer.js"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/plugs/Autocompleter/Autocompleter.js"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/plugs/Autocompleter/Autocompleter.Request.js"></script>
<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/prettify/prettify.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/vote.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/favourites.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/questions.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/block_loader.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/friend.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/blog.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/other.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/login.js"></script>
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/panel.js"></script>
{literal}
<script language="JavaScript" type="text/javascript">
var tinyMCE=false;
var msgErrorBox=new Roar({
{literal}
<script language="JavaScript" type="text/javascript">
var tinyMCE=false;
var msgErrorBox=new Roar({
position: 'upperRight',
className: 'roar-error',
margin: {x: 30, y: 10}
});
var msgNoticeBox=new Roar({
var msgNoticeBox=new Roar({
position: 'upperRight',
className: 'roar-notice',
margin: {x: 30, y: 10}
});
</script>
{/literal}
</script>
{/literal}
{if $oUserCurrent && $oConfig->GetValue('module.talk.reload')}
{literal}
<script language="JavaScript" type="text/javascript">
var talkNewMessages=new lsTalkMessagesClass({
reload: {
request: TALK_RELOAD_REQUEST,
url: DIR_WEB_ROOT+'/include/ajax/talkNewMessages.php',
errors: TALK_RELOAD_MAX_ERRORS
}
});
(function(){
talkNewMessages.get();
}).periodical(TALK_RELOAD_PERIOD);
</script>
{/literal}
{/if}
</head>

View file

@ -2,7 +2,7 @@
{if $menu} {include file=menu.$menu.tpl} {/if}
<div class="search">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/topics/" method="post">
<form action="{router page='search'}topics/" method="post">
<input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="{$aLang.search}" name="q" />
<input class="button" type="submit" value="{$aLang.search}" />
</form>

View file

@ -2,7 +2,7 @@
<div class="login-form">
<a href="#" class="close" onclick="hideLoginForm(); return false;"></a>
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/" method="POST">
<form action="{router page='login'}" method="POST">
<h3>{$aLang.user_authorization}</h3>
<p><label for="login">{$aLang.user_login}:</label>
@ -22,13 +22,13 @@
<div id="header">
<h1><a href="{$DIR_WEB_ROOT}">LiveStreet</a></h1>
<h1><a href="{cfg name='path.root.web'}">LiveStreet</a></h1>
<ul class="nav-main">
<li {if $sMenuHeadItemSelect=='blog'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/">{$aLang.blogs}</a></li>
<li {if $sMenuHeadItemSelect=='people'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/">{$aLang.people}</a></li>
<li {if $sAction=='page' and $sEvent=='about'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/about/">{$aLang.page_about}</a></li>
<li {if $sMenuHeadItemSelect=='blog'}class="active"{/if}><a href="{router page='blog'}">{$aLang.blogs}</a></li>
<li {if $sMenuHeadItemSelect=='people'}class="active"{/if}><a href="{router page='people'}">{$aLang.people}</a></li>
<li {if $sAction=='page' and $sEvent=='about'}class="active"{/if}><a href="{router page='page'}about/">{$aLang.page_about}</a></li>
</ul>
@ -37,19 +37,19 @@
<li><a href="{$oUserCurrent->getUserWebPath()}" class="avatar"><img src="{$oUserCurrent->getProfileAvatarPath(24)}" alt="{$oUserCurrent->getLogin()}" /></a></li>
<li><a href="{$oUserCurrent->getUserWebPath()}" class="author">{$oUserCurrent->getLogin()}</a>&nbsp;/&nbsp;</li>
<li>{$aLang.user_rating} <strong>{$oUserCurrent->getRating()}</strong>&nbsp;/&nbsp;</li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/add/" alt="{$aLang.topic_create}" title="{$aLang.topic_create}" class="submit-topic">Написать</a>&nbsp;/&nbsp;</li>
<li><a href="{router page='topic'}add/" alt="{$aLang.topic_create}" title="{$aLang.topic_create}" class="submit-topic">{$aLang.topic_create}</a>&nbsp;/&nbsp;</li>
<li>
{if $iUserCurrentCountTalkNew}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/" class="new-message" title="{$aLang.user_privat_messages_new}">{$aLang.user_privat_messages} ({$iUserCurrentCountTalkNew})</a>&nbsp;/&nbsp;
<a href="{router page='talk'}" class="new-message" title="{$aLang.user_privat_messages_new}">{$aLang.user_privat_messages} ({$iUserCurrentCountTalkNew})</a>&nbsp;/&nbsp;
{else}
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/">{$aLang.user_privat_messages} (0)</a>&nbsp;/&nbsp;
<a href="{router page='talk'}">{$aLang.user_privat_messages} (0)</a>&nbsp;/&nbsp;
{/if}
</li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/profile/">{$aLang.user_settings}</a>&nbsp;/&nbsp;</li>
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/exit/">{$aLang.exit}</a></li>
<li><a href="{router page='settings'}profile/">{$aLang.user_settings}</a>&nbsp;/&nbsp;</li>
<li><a href="{router page='login'}exit/?security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.exit}</a></li>
{else}
<li><a href="#" onclick="showLoginForm(); return false;">{$aLang.user_login_submit}</a>&nbsp;/&nbsp;</li>
<li><a href="{$DIR_WEB_ROOT}/registration/" class="reg">{$aLang.registration_submit}</a></li>
<li><a href="{router page='registration'}" class="reg">{$aLang.registration_submit}</a></li>
{/if}
</ul>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 B

View file

@ -51,11 +51,15 @@ var lsBlockLoaderClass = new Class({
var blockContent=blockNav.getParent('div').getChildren('div.'+this.options.classes_nav.content)[0].set('html','');
this.showStatus(blockContent);
if(!params) {
params={ security_ls_key: LIVESTREET_SECURITY_KEY };
} else {
params['security_ls_key']=LIVESTREET_SECURITY_KEY;
}
JsHttpRequest.query(
this.type[type].url,
params,
'POST '+this.type[type].url,
params,
function(result, errors) {
thisObj.onLoad(result, errors, blockContent);
},
@ -67,7 +71,7 @@ var lsBlockLoaderClass = new Class({
onLoad: function(result, errors, blockContent) {
blockContent.set('html','');
if (!result) {
msgErrorBox.alert('Error','Please try again later');
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
//msgErrorBox.alert(result.sMsgTitle,result.sMsg);

View file

@ -1,19 +1,19 @@
function ajaxJoinLeaveBlog(obj,idBlog) {
obj=$(obj);
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/joinLeaveBlog.php',
{ idBlog: idBlog },
function(result, errors) {
'POST '+DIR_WEB_ROOT+'/include/ajax/joinLeaveBlog.php',
{ idBlog: idBlog, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
msgErrorBox.alert('Error','Please try again later');
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
} else {
msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
if (obj) {
obj.getParent().removeClass('active');
if (result.bState) {
if (obj) {
obj.getParent().removeClass('active');
if (result.bState) {
obj.getParent().addClass('active');
}
divCount=$('blog_user_count_'+idBlog);
@ -21,7 +21,7 @@ function ajaxJoinLeaveBlog(obj,idBlog) {
divCount.set('text',result.iCountUser);
}
}
}
}
},
true
);
@ -30,8 +30,8 @@ function ajaxJoinLeaveBlog(obj,idBlog) {
function ajaxBlogInfo(idBlog) {
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/blogInfo.php',
{ idBlog: idBlog },
'POST '+DIR_WEB_ROOT+'/include/ajax/blogInfo.php',
{ idBlog: idBlog, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');

View file

@ -1,4 +1,3 @@
var lsCmtTreeClass = new Class({
Implements: Options,
@ -12,11 +11,22 @@ var lsCmtTreeClass = new Class({
classes: {
visible: 'lsCmtTree_visible',
hidden: 'lsCmtTree_hidden',
openImg: 'lsCmtTree_open',
closeImg: 'lsCmtTree_close'
}
openImg: 'lsCmtTree_open',
closeImg: 'lsCmtTree_close'
}
},
typeComment: {
topic: {
url_add: aRouter.blog+'ajaxaddcomment/',
url_response: DIR_WEB_ROOT+'/include/ajax/commentResponse.php'
},
talk: {
url_add: aRouter.talk+'ajaxaddcomment/',
url_response: aRouter.talk+'ajaxresponsecomment/'
}
},
initialize: function(options){
this.setOptions(options);
this.make();
@ -32,13 +42,13 @@ var lsCmtTreeClass = new Class({
var thisObj = this;
var aImgFolding=$$('img.folding');
aImgFolding.each(function(img, i){
var divComment = img.getParent('div').getChildren('div.comment-children')[0];
var divComment = img.getParent('div').getChildren('div.comment-children')[0];
if (divComment && divComment.getChildren('div.comment')[0]) {
thisObj.makeImg(img);
} else {
img.setStyle('display','none');
}
});
});
},
makeImg: function(img) {
@ -48,7 +58,7 @@ var lsCmtTreeClass = new Class({
img.addClass(this.options.classes.closeImg);
img.removeEvents('click');
img.addEvent('click',function(){
thisObj.toggleNode(img);
thisObj.toggleNode(img);
});
},
@ -80,7 +90,7 @@ var lsCmtTreeClass = new Class({
var divComment = img.getParent('div').getChildren('div.comment-children')[0];
divComment.removeClass(thisObj.options.classes.visible);
divComment.addClass(thisObj.options.classes.hidden);
divComment.addClass(thisObj.options.classes.hidden);
},
expandNodeAll: function() {
@ -114,7 +124,7 @@ var lsCmtTreeClass = new Class({
}
},
responseNewComment: function(idTopic,objImg,selfIdComment,bNotFlushNew) {
responseNewComment: function(idTarget,typeTarget,objImg,selfIdComment,bNotFlushNew) {
var thisObj=this;
if (!bNotFlushNew) {
@ -132,9 +142,9 @@ var lsCmtTreeClass = new Class({
objImg=$(objImg);
objImg.setProperty('src',DIR_STATIC_SKIN+'/images/update_act.gif');
(function(){
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/commentResponse.php',
{ idCommentLast: idCommentLast, idTopic: idTopic },
JsHttpRequest.query(
'POST '+thisObj.typeComment[typeTarget].url_response,
{ idCommentLast: idCommentLast, idTarget: idTarget, typeTarget: typeTarget, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
objImg.setProperty('src',DIR_STATIC_SKIN+'/images/update.gif');
if (!result) {
@ -229,33 +239,34 @@ var lsCmtTreeClass = new Class({
this.iCommentIdLastView=idComment;
},
addComment: function(formObj,topicId) {
addComment: function(formObj,targetId,targetType) {
var thisObj=this;
formObj=$(formObj);
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/commentAdd.php',
{ params: formObj },
function(result, errors) {
'POST '+thisObj.typeComment[targetType].url_add,
{ params: formObj, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
thisObj.enableFormComment();
msgErrorBox.alert('Error','Please try again later');
msgErrorBox.alert('Error','Please try again later');
return;
}
if (result.bStateError) {
thisObj.enableFormComment();
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
$('form_comment_text').disabled=true;
thisObj.responseNewComment(topicId,$('update-comments'),result.sCommentId,true);
} else {
thisObj.responseNewComment(targetId,targetType,$('update-comments'),result.sCommentId,true);
}
},
true
);
$('form_comment_text').addClass('loader');
$('form_comment_text').setProperty('readonly',true);
},
enableFormComment: function() {
$('form_comment_text').removeClass('loader');
$('form_comment_text').disabled=false;
$('form_comment_text').setProperty('readonly',false);
},
addCommentScroll: function(commentId) {
@ -269,10 +280,10 @@ var lsCmtTreeClass = new Class({
return false;
}
var thisObj=this;
var thisObj=this;
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/commentToggle.php',
{ idComment: commentId },
'POST '+DIR_WEB_ROOT+'/include/ajax/commentToggle.php',
{ idComment: commentId, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
@ -308,8 +319,10 @@ var lsCmtTreeClass = new Class({
$('comment_preview_'+this.iCurrentShowFormComment).set('html','').setStyle('display','none');
if (this.iCurrentShowFormComment==idComment) {
slideCurrentForm.toggle();
//$('form_comment_text').focus();
slideCurrentForm.toggle();
slideCurrentForm.addEvent('complete', function() {
$('form_comment_text').focus();
});
return;
}
@ -320,11 +333,13 @@ var lsCmtTreeClass = new Class({
slideNextForm.hide();
slideNextForm.slideIn();
//$('form_comment_text').focus();
$('form_comment_text').setProperty('value','');
$('form_comment_reply').setProperty('value',idComment);
this.iCurrentShowFormComment=idComment;
slideNextForm.addEvent('complete', function() {
$('form_comment_text').focus();
});
},
hideCommentForm: function(idComment) {
@ -382,3 +397,9 @@ window.addEvent('domready', function() {
});
});
window.addEvent('keyup', function(e) {
if(e.control && e.key == 'enter') {
$('form_comment').getElement('input[name=submit_comment]').click();
return false;
}
});

View file

@ -18,6 +18,14 @@ var lsFavouriteClass = new Class({
topic: {
url: DIR_WEB_ROOT+'/include/ajax/topicFavourite.php',
targetName: 'idTopic'
},
comment: {
url: DIR_WEB_ROOT+'/include/ajax/commentFavourite.php',
targetName: 'idComment'
},
talk : {
url: DIR_WEB_ROOT+'/include/ajax/talkFavourite.php',
targetName: 'idTalk'
}
},
@ -44,9 +52,10 @@ var lsFavouriteClass = new Class({
var params = new Hash();
params['type']=value;
params[this.typeFavourite[type].targetName]=idTarget;
params['security_ls_key']=LIVESTREET_SECURITY_KEY;
JsHttpRequest.query(
this.typeFavourite[type].url,
'POST '+this.typeFavourite[type].url,
params,
function(result, errors) {
thisObj.onToggle(result, errors, thisObj);

View file

@ -1,8 +1,61 @@
function ajaxToggleUserFrend(obj,idUser) {
obj=$(obj);
function toogleFriendForm(obj) {
var friendForm=$('add_friend_form');
var slideForm = new Fx.Slide('add_friend_form');
friendForm.getElements('textarea').set('value','');
if(friendForm.getStyle('display')=='none') {
friendForm.setStyle('display','block');
slideForm.hide();
}
slideForm.toggle();
slideForm.addEvent('complete', function() {friendForm.getElement('textarea').focus();});
}
function ajaxAddUserFriend(obj,idUser,sAction) {
obj = $(obj).getParent('li');
if(sAction!='link' && sAction!='accept') {
sText = obj.getElement('form textarea').get('value');
obj.getElement('form').getChildren().each(function(item){item.setProperty('disabled','disabled')});
} else {
sText='';
}
if(sAction=='accept') {
sPath=aRouter.profile+'ajaxfriendaccept/';
} else {
sPath=aRouter.profile+'ajaxfriendadd/';
}
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/userFriend.php',
{ idUser: idUser },
'POST '+sPath,
{ idUser: idUser,userText: sText, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
obj.getElement('form').getChildren().each(function(item){item.removeProperty('disabled')});
}
if (result.bStateError) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
obj.getElement('form').getChildren().each(function(item){item.removeProperty('disabled')});
} else {
msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
if (obj) {
item = new Element('li',{'html':result.sToggleText});
item.getElement('li').inject(obj.getParent('ul'),'top');
obj.dispose();
}
}
},
true
);
}
function ajaxDeleteUserFriend(obj,idUser,sAction) {
obj=$(obj).getParent('li');
JsHttpRequest.query(
'POST '+aRouter.profile+'ajaxfrienddelete/',
{ idUser: idUser,sAction: sAction, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
@ -11,18 +64,13 @@ function ajaxToggleUserFrend(obj,idUser) {
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
} else {
msgNoticeBox.alert(result.sMsgTitle,result.sMsg);
if (obj) {
obj.set('text',result.sToggleText);
if (result.bState) {
obj.getParent('li').removeClass('add');
obj.getParent('li').addClass('del');
} else {
obj.getParent('li').removeClass('del');
obj.getParent('li').addClass('add');
}
if (obj) {
item = new Element('li',{'html':result.sToggleText});
item.getElement('li').inject(obj.getParent('ul'),'top');
obj.dispose();
}
}
},
true
);
}
}

View file

@ -0,0 +1,60 @@
var lsTalkMessagesClass = new Class({
Implements: Options,
options: {
target: {
id: 'new_messages' ,
class_new: 'message',
class_empty: 'message-empty'
},
reload: {
request: 0,
url: '',
errors: 4
}
},
errors:0,
requestObj: new JsHttpRequest(),
initialize: function(options){
var thisObj = this;
this.setOptions(options);
},
get: function() {
var thisObj = this;
this.options.reload.request -= 1;
if(this.errors<this.options.reload.errors&&this.options.reload.request>1) {
JsHttpRequest.query(
'POST '+thisObj.options.reload.url,
{ security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
thisObj.errors+=1;
return null;
}
if(result.bStateError!=true && result.bStateError!=undefined ) {
this.targetObj = $('new_messages');
if (result.iCountTalkNew>0) {
this.targetObj
.addClass('message')
.removeClass('message-empty')
.innerHTML = result.iCountTalkNew;
} else {
this.targetObj
.addClass('message-empty')
.removeClass('message');
}
thisObj.errors=0;
} else {
thisObj.errors+=1;
}
},
true
);
}
}
});

View file

@ -6,8 +6,8 @@ function ajaxTextPreview(textId,save,divPreview) {
text = $(textId).value;
}
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/textPreview.php',
{ text: text, save: save },
'POST '+DIR_WEB_ROOT+'/include/ajax/textPreview.php',
{ text: text, save: save, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');
@ -30,26 +30,26 @@ function ajaxTextPreview(textId,save,divPreview) {
// для опроса
function addField(btn){
li = btn;
while (li.tagName != 'LI') li = li.parentNode;
var newTr = li.parentNode.insertBefore(li.cloneNode(true),li.nextSibling);
checkFieldForLast();
li = btn;
while (li.tagName != 'LI') li = li.parentNode;
var newTr = li.parentNode.insertBefore(li.cloneNode(true),li.nextSibling);
checkFieldForLast();
}
function checkFieldForLast(){
btns = document.getElementsByName('drop_answer');
for (i = 0; i < btns.length; i++){
btns[i].disabled = false;
}
if (btns.length<=2) {
btns[0].disabled = true;
btns[1].disabled = true;
}
btns = document.getElementsByName('drop_answer');
for (i = 0; i < btns.length; i++){
btns[i].disabled = false;
}
if (btns.length<=2) {
btns[0].disabled = true;
btns[1].disabled = true;
}
}
function dropField(btn){
li = btn;
while (li.tagName != 'LI') li = li.parentNode;
li.parentNode.removeChild(li);
checkFieldForLast();
li = btn;
while (li.tagName != 'LI') li = li.parentNode;
li.parentNode.removeChild(li);
checkFieldForLast();
}
@ -60,36 +60,63 @@ function checkAllTalk(checkbox) {
chk.checked=true;
} else {
chk.checked=false;
}
}
});
}
function checkAllReport(checkbox) {
$$('.form_reports_checkbox').each(function(chk){
if (checkbox.checked) {
chk.checked=true;
} else {
chk.checked=false;
}
});
}
function checkAllPlugins(checkbox) {
$$('.form_plugins_checkbox').each(function(chk){
if (checkbox.checked) {
chk.checked=true;
} else {
chk.checked=false;
}
});
}
function showImgUploadForm() {
$$('.upload-form').setStyle('display', 'block');
if (Browser.Engine.trident) {
//return true;
}
if (!winFormImgUpload) {
winFormImgUpload=new StickyWin.Modal({content: $('window_load_img'), closeClassName: 'close-block', useIframeShim: false, modalOptions: {modalStyle:{'z-index':900}}});
}
winFormImgUpload.show();
winFormImgUpload.pin(true);
$$('input[name=img_file]').set('value', '');
$$('input[name=img_url]').set('value', 'http://');
return false;
}
function hideImgUploadForm() {
$$('.upload-form').setStyle('display', 'none');
winFormImgUpload.hide();
}
var winFormImgUpload;
function ajaxUploadImg(value,sToLoad) {
sToLoad=$(sToLoad);
function ajaxUploadImg(value,sToLoad) {
var req = new JsHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseJS.bStateError) {
msgErrorBox.alert(req.responseJS.sMsgTitle,req.responseJS.sMsg);
} else {
sToLoad.insertAtCursor(req.responseJS.sText);
lsPanel.putText(sToLoad,req.responseJS.sText);
hideImgUploadForm();
}
}
}
req.open(null, DIR_WEB_ROOT+'/include/ajax/uploadImg.php', true);
req.send( { value: value } );
req.send( { value: value, security_ls_key: LIVESTREET_SECURITY_KEY } );
}

View file

@ -69,6 +69,22 @@ var lsPanelClass = new Class({
if (Browser.Engine.trident) return document.selection.createRange().text;
//if (window.khtml) return window.getSelection();
return document.getSelection();
},
putList: function(obj,select) {
obj=$(obj);
typeList = select.value;
if (selText=obj.getSelectedText()) {
selText = selText.replace('/\r/g', '');
selText = selText != '' ? selText : ' ';
selText = selText.replace(new RegExp('^(.+)', 'gm'), '\t<li>$1</li>');
this.putText(obj,'<'+typeList+'>\n'+selText+'\n</'+typeList+'>');
} else {
this.putTextAround(obj,'<'+typeList+'>\n\t<li>','</li>\n</'+typeList+'>');
}
select.selectedIndex=0;
}
});

View file

@ -1,7 +1,7 @@
function ajaxQuestionVote(idTopic,idAnswer) {
JsHttpRequest.query(
DIR_WEB_ROOT+'/include/ajax/questionVote.php',
{ idTopic: idTopic, idAnswer: idAnswer },
'POST '+DIR_WEB_ROOT+'/include/ajax/questionVote.php',
{ idTopic: idTopic, idAnswer: idAnswer, security_ls_key: LIVESTREET_SECURITY_KEY },
function(result, errors) {
if (!result) {
msgErrorBox.alert('Error','Please try again later');

View file

@ -23,7 +23,7 @@ var lsVoteClass = new Class({
},
typeVote: {
topic_comment: {
comment: {
url: DIR_WEB_ROOT+'/include/ajax/voteComment.php',
targetName: 'idComment'
},
@ -59,9 +59,10 @@ var lsVoteClass = new Class({
var params = new Hash();
params['value']=value;
params[this.typeVote[type].targetName]=idTarget;
params['security_ls_key']=LIVESTREET_SECURITY_KEY;
JsHttpRequest.query(
this.typeVote[type].url,
'POST '+this.typeVote[type].url,
params,
function(result, errors) {
thisObj.onVote(result, errors, thisObj);

View file

@ -1,49 +1,47 @@
<ul class="menu">
<li {if $sMenuItemSelect=='index'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/">{$aLang.blog_menu_all}</a> {if $iCountTopicsNew>0}+{$iCountTopicsNew}{/if}
{if $sMenuItemSelect=='index'}
<ul class="sub-menu" >
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/">{$aLang.blog_menu_all_good}</a></li>
{if $iCountTopicsNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_NEW}/">{$aLang.blog_menu_all_new}</a> +{$iCountTopicsNew}</li>{/if}
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='blog'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/">{$aLang.blog_menu_collective}</a> {if $iCountTopicsCollectiveNew>0}+{$iCountTopicsCollectiveNew}{/if}
{if $sMenuItemSelect=='blog'}
<ul class="sub-menu" >
<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}</a> +{$iCountTopicsBlogNew}</li>{/if}
<li {if $sMenuSubItemSelect=='bad'}class="active"{/if}><a href="{$sMenuSubBlogUrl}bad/">{$aLang.blog_menu_collective_bad}</a></li>
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='log'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PERSONAL_BLOG}/">{$aLang.blog_menu_personal}</a> {if $iCountTopicsPersonalNew>0}+{$iCountTopicsPersonalNew}{/if}
{if $sMenuItemSelect=='log'}
<ul class="sub-menu">
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PERSONAL_BLOG}/">{$aLang.blog_menu_personal_good}</a></li>
{if $iCountTopicsPersonalNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PERSONAL_BLOG}/new/">{$aLang.blog_menu_personal_new}</a> +{$iCountTopicsPersonalNew}</li>{/if}
<li {if $sMenuSubItemSelect=='bad'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PERSONAL_BLOG}/bad/">{$aLang.blog_menu_personal_bad}</a></li>
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='top'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/">{$aLang.blog_menu_top}</a>
{if $sMenuItemSelect=='top'}
<ul class="sub-menu">
<li {if $sMenuSubItemSelect=='blog'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/blog/">{$aLang.blog_menu_top_blog}</a></li>
<li {if $sMenuSubItemSelect=='topic'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/topic/">{$aLang.blog_menu_top_topic}</a></li>
<li {if $sMenuSubItemSelect=='comment'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOP}/comment/">{$aLang.blog_menu_top_comment}</a></li>
</ul>
{/if}
</li>
</ul>
<ul class="menu">
<li {if $sMenuItemSelect=='index'}class="active"{/if}>
<a href="{cfg name='path.root.web'}">{$aLang.blog_menu_all}</a> {if $iCountTopicsNew>0}+{$iCountTopicsNew}{/if}
{if $sMenuItemSelect=='index'}
<ul class="sub-menu" >
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{cfg name='path.root.web'}/">{$aLang.blog_menu_all_good}</a></li>
{if $iCountTopicsNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{router page='new'}/">{$aLang.blog_menu_all_new}</a> +{$iCountTopicsNew}</li>{/if}
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='blog'}class="active"{/if}>
<a href="{router page='blog'}">{$aLang.blog_menu_collective}</a> {if $iCountTopicsCollectiveNew>0}+{$iCountTopicsCollectiveNew}{/if}
{if $sMenuItemSelect=='blog'}
<ul class="sub-menu" >
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{router page='blog'}">{$aLang.blog_menu_collective_good}</a></li>
{if $iCountTopicsBlogNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{router page='blog'}new/">{$aLang.blog_menu_collective_new}</a> +{$iCountTopicsBlogNew}</li>{/if}
<li {if $sMenuSubItemSelect=='bad'}class="active"{/if}><a href="{router page='blog'}bad/">{$aLang.blog_menu_collective_bad}</a></li>
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='log'}class="active"{/if}>
<a href="{router page='personal_blog'}">{$aLang.blog_menu_personal}</a> {if $iCountTopicsPersonalNew>0}+{$iCountTopicsPersonalNew}{/if}
{if $sMenuItemSelect=='log'}
<ul class="sub-menu">
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{router page='personal_blog'}">{$aLang.blog_menu_personal_good}</a></li>
{if $iCountTopicsPersonalNew>0}<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{router page='personal_blog'}new/">{$aLang.blog_menu_personal_new}</a> +{$iCountTopicsPersonalNew}</li>{/if}
<li {if $sMenuSubItemSelect=='bad'}class="active"{/if}><a href="{router page='personal_blog'}bad/">{$aLang.blog_menu_personal_bad}</a></li>
</ul>
{/if}
</li>
<li {if $sMenuItemSelect=='top'}class="active"{/if}>
<a href="{router page='top'}">{$aLang.blog_menu_top}</a>
{if $sMenuItemSelect=='top'}
<ul class="sub-menu">
<li {if $sMenuSubItemSelect=='blog'}class="active"{/if}><a href="{router page='top'}blog/">{$aLang.blog_menu_top_blog}</a></li>
<li {if $sMenuSubItemSelect=='topic'}class="active"{/if}><a href="{router page='top'}topic/">{$aLang.blog_menu_top_topic}</a></li>
<li {if $sMenuSubItemSelect=='comment'}class="active"{/if}><a href="{router page='top'}comment/">{$aLang.blog_menu_top_comment}</a></li>
</ul>
{/if}
</li>
</ul>

View file

@ -1,8 +1,8 @@
<ul class="menu">
<li class="active">{$aLang.blog_admin}
<li class="active"><a href="{router page='blog'}edit/{$oBlogEdit->getId()}/">{$aLang.blog_admin}</a>
<ul class="sub-menu">
<li {if $sMenuItemSelect=='profile'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/edit/{$oBlogEdit->getId()}/">{$aLang.blog_admin_profile}</a></li>
<li {if $sMenuItemSelect=='admin'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/admin/{$oBlogEdit->getId()}/">{$aLang.blog_admin_users}</a></li>
<li {if $sMenuItemSelect=='profile'}class="active"{/if}><a href="{router page='blog'}edit/{$oBlogEdit->getId()}/">{$aLang.blog_admin_profile}</a></li>
<li {if $sMenuItemSelect=='admin'}class="active"{/if}><a href="{router page='blog'}admin/{$oBlogEdit->getId()}/">{$aLang.blog_admin_users}</a></li>
</ul>
</li>
</ul>

View file

@ -1,9 +1,9 @@
<ul class="menu">
<li class="active"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/">{$aLang.people_menu_users}</a>
<li class="active"><a href="{router page='people'}">{$aLang.people_menu_users}</a>
<ul class="sub-menu">
<li {if $sEvent=='' || $sEvent=='good' || $sEvent=='bad'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/">{$aLang.people_menu_users_all}</a></li>
<li {if $sEvent=='online'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/online/">{$aLang.people_menu_users_online}</a></li>
<li {if $sEvent=='new'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PEOPLE}/new/">{$aLang.people_menu_users_new}</a></li>
<li {if $sEvent=='' || $sEvent=='good' || $sEvent=='bad'}class="active"{/if}><a href="{router page='people'}">{$aLang.people_menu_users_all}</a></li>
<li {if $sEvent=='online'}class="active"{/if}><a href="{router page='people'}online/">{$aLang.people_menu_users_online}</a></li>
<li {if $sEvent=='new'}class="active"{/if}><a href="{router page='people'}new/">{$aLang.people_menu_users_new}</a></li>
</ul>
</li>
</ul>

View file

@ -1,22 +1,23 @@
<ul class="menu">
<li {if $sAction=='profile'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUserProfile->getLogin()}/">{$aLang.user_menu_profile}</a>
<a href="{router page='profile'}{$oUserProfile->getLogin()}/">{$aLang.user_menu_profile}</a>
{if $sAction=='profile'}
<ul class="sub-menu" >
<li {if $aParams[0]=='whois' or $aParams[0]==''}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUserProfile->getLogin()}/">{$aLang.user_menu_profile_whois}</a></li>
<li {if $aParams[0]=='favourites'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUserProfile->getLogin()}/favourites/">{$aLang.user_menu_profile_favourites}</a>{if $iCountTopicFavourite} ({$iCountTopicFavourite}){/if}</li>
<li {if $aParams[0]=='whois' or $aParams[0]==''}class="active"{/if}><a href="{router page='profile'}{$oUserProfile->getLogin()}/">{$aLang.user_menu_profile_whois}</a></li>
<li {if $aParams[0]=='favourites'and$aParams[1]!='comments'}class="active"{/if}><a href="{router page='profile'}{$oUserProfile->getLogin()}/favourites/">{$aLang.user_menu_profile_favourites}</a>{if $iCountTopicFavourite} ({$iCountTopicFavourite}){/if}</li>
<li {if $aParams[1]=='comments'}class="active"{/if}><a href="{router page='profile'}{$oUserProfile->getLogin()}/favourites/comments/">{$aLang.user_menu_profile_favourites_comments}</a>{if $iCountCommentFavourite} ({$iCountCommentFavourite}){/if}</li>
</ul>
{/if}
</li>
<li {if $sAction=='my'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_MY}/{$oUserProfile->getLogin()}/">{$aLang.user_menu_publication} {if ($iCountCommentUser+$iCountTopicUser)>0} ({$iCountCommentUser+$iCountTopicUser}){/if}</a>
<a href="{router page='my'}{$oUserProfile->getLogin()}/">{$aLang.user_menu_publication} {if ($iCountCommentUser+$iCountTopicUser)>0} ({$iCountCommentUser+$iCountTopicUser}){/if}</a>
{if $sAction=='my'}
<ul class="sub-menu" >
<li {if $aParams[0]=='blog' or $aParams[0]==''}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_MY}/{$oUserProfile->getLogin()}/">{$aLang.user_menu_publication_blog}</a>{if $iCountTopicUser}({$iCountTopicUser}){/if}</li>
<li {if $aParams[0]=='comment'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_MY}/{$oUserProfile->getLogin()}/comment/">{$aLang.user_menu_publication_comment}</a>{if $iCountCommentUser}({$iCountCommentUser}){/if}</li>
<li {if $aParams[0]=='blog' or $aParams[0]==''}class="active"{/if}><a href="{router page='my'}{$oUserProfile->getLogin()}/">{$aLang.user_menu_publication_blog}</a>{if $iCountTopicUser}({$iCountTopicUser}){/if}</li>
<li {if $aParams[0]=='comment'}class="active"{/if}><a href="{router page='my'}{$oUserProfile->getLogin()}/comment/">{$aLang.user_menu_publication_comment}</a>{if $iCountCommentUser}({$iCountCommentUser}){/if}</li>
</ul>
{/if}
</li>
</li>
</ul>

View file

@ -1,17 +1,17 @@
<ul class="menu">
<li {if $sMenuItemSelect=='settings'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/">{$aLang.settings_menu}</a>
<a href="{router page='settings'}">{$aLang.settings_menu}</a>
{if $sMenuItemSelect=='settings'}
<ul class="sub-menu" >
<li {if $sMenuSubItemSelect=='profile'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/profile/">{$aLang.settings_menu_profile}</a></li>
<li {if $sMenuSubItemSelect=='tuning'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/tuning/">{$aLang.settings_menu_tuning}</a></li>
<li {if $sMenuSubItemSelect=='profile'}class="active"{/if}><a href="{router page='settings'}profile/">{$aLang.settings_menu_profile}</a></li>
<li {if $sMenuSubItemSelect=='tuning'}class="active"{/if}><a href="{router page='settings'}tuning/">{$aLang.settings_menu_tuning}</a></li>
</ul>
{/if}
</li>
{if $USER_USE_INVITE}
{if $oConfig->GetValue('general.reg.invite')}
<li {if $sMenuItemSelect=='invite'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SETTINGS}/invite/">{$aLang.settings_menu_invite}</a>
<a href="{router page='settings'}invite/">{$aLang.settings_menu_invite}</a>
</li>
{/if}
</ul>

View file

@ -1,8 +1,9 @@
<ul class="menu">
<li class="active"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/">{$aLang.talk_menu_inbox}</a>
<li class="active"><a href="{router page='talk'}">{$aLang.talk_menu_inbox}</a>
<ul class="sub-menu">
<li {if $sEvent=='inbox'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/">{$aLang.talk_menu_inbox_list}</a></li>
<li {if $sEvent=='add'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TALK}/add/">{$aLang.talk_menu_inbox_create}</a></li>
<li {if $sEvent=='inbox'}class="active"{/if}><a href="{router page='talk'}">{$aLang.talk_menu_inbox_list}</a></li>
<li {if $sEvent=='add'}class="active"{/if}><a href="{router page='talk'}add/">{$aLang.talk_menu_inbox_create}</a></li>
<li {if $sEvent=='favourites'}class="active"{/if}><a href="{router page='talk'}favourites/">{$aLang.talk_menu_inbox_favourites}</a>{if $iCountTalkFavourite} ({$iCountTalkFavourite}){/if}</li>
</ul>
</li>
</ul>

View file

@ -1,24 +1,24 @@
<ul class="menu">
<li {if $sMenuSubItemSelect=='add'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{if $sMenuItemSelect=='add_blog'}{$ROUTE_PAGE_TOPIC}{else}{$sMenuItemSelect}{/if}/add/">{$aLang.topic_menu_add}</a>
<a href="{cfg name='path.root.web'}/{if $sMenuItemSelect=='add_blog'}topic{else}{$sMenuItemSelect}{/if}/add/">{$aLang.topic_menu_add}</a>
{if $sMenuSubItemSelect=='add'}
<ul class="sub-menu" >
<li {if $sMenuItemSelect=='topic'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_topic}</a></li>
<li {if $sMenuItemSelect=='question'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_QUESTION}/{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_question}</a></li>
<li {if $sMenuItemSelect=='link'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LINK}/{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_link}</a></li>
<li ><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOG}/add/">{$aLang.blog_menu_create}</a></li>
<li {if $sMenuItemSelect=='topic'}class="active"{/if}><a href="{router page='topic'}{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_topic}</a></li>
<li {if $sMenuItemSelect=='question'}class="active"{/if}><a href="{router page='question'}{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_question}</a></li>
<li {if $sMenuItemSelect=='link'}class="active"{/if}><a href="{router page='link'}{$sMenuSubItemSelect}/">{$aLang.topic_menu_add_link}</a></li>
<li><a href="{router page='blog'}add/">{$aLang.blog_menu_create}</a></li>
</ul>
{/if}
</li>
<li {if $sMenuSubItemSelect=='saved'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/saved/">{$aLang.topic_menu_saved}</a>
<a href="{router page='topic'}saved/">{$aLang.topic_menu_saved}</a>
</li>
<li {if $sMenuSubItemSelect=='published'}class="active"{/if}>
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/published/">{$aLang.topic_menu_published}</a>
<a href="{router page='topic'}published/">{$aLang.topic_menu_published}</a>
</li>
</ul>

View file

@ -1,9 +1,13 @@
{assign var="oBlog" value=$oTopic->getBlog()}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oVote" value=$oTopic->getVote()}
<div class="topic">
<h2 class="title">
<a href="{$oTopic->getBlogUrlFull()}" class="blog-title">{$oTopic->getBlogTitle()|escape:'html'}</a><span>&nbsp;/</span>
{if $oTopic->getPublish()==0}<img src="{$DIR_STATIC_SKIN}/images/topic_unpublish.gif" title="{$aLang.topic_unpublish}" alt="{$aLang.topic_unpublish}">{/if}
{if $oTopic->getType()=='link'}<img src="{$DIR_STATIC_SKIN}/images/topic_link.gif" title="{$aLang.topic_link}" alt="{$aLang.topic_link}">{/if}
<a href="{if $oTopic->getType()=='link'}{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LINK}/go/{$oTopic->getId()}/{else}{$oTopic->getUrl()}{/if}">{$oTopic->getTitle()|escape:'html'}</a>
<a href="{$oBlog->getUrlFull()}" class="blog-title">{$oBlog->getTitle()|escape:'html'}</a><span>&nbsp;/</span>
{if $oTopic->getPublish()==0}<img src="{cfg name='path.static.skin'}/images/topic_unpublish.gif" title="{$aLang.topic_unpublish}" alt="{$aLang.topic_unpublish}">{/if}
{if $oTopic->getType()=='link'}<img src="{cfg name='path.static.skin'}/images/topic_link.gif" title="{$aLang.topic_link}" alt="{$aLang.topic_link}">{/if}
<a href="{if $oTopic->getType()=='link'}{router page='link'}go/{$oTopic->getId()}/{else}{$oTopic->getUrl()}{/if}">{$oTopic->getTitle()|escape:'html'}</a>
</h2>
@ -13,7 +17,7 @@
{if !$oTopic->getUserQuestionIsVote()}
<ul>
{foreach from=$oTopic->getQuestionAnswers() key=key item=aAnswer}
<li><label for="topic_answer_{$oTopic->getId()}_{$key}"><input type="radio" id="topic_answer_{$oTopic->getId()}_{$key}" name="topic_answer_{$oTopic->getId()}" value="{$key}" onchange="$('topic_answer_{$oTopic->getId()}_value').setProperty('value',this.value);" /> {$aAnswer.text}</label></li>
<li><label for="topic_answer_{$oTopic->getId()}_{$key}"><input type="radio" id="topic_answer_{$oTopic->getId()}_{$key}" name="topic_answer_{$oTopic->getId()}" value="{$key}" onchange="$('topic_answer_{$oTopic->getId()}_value').setProperty('value',this.value);" /> {$aAnswer.text|escape:'html'}</label></li>
{/foreach}
<li>
<input type="submit" value="{$aLang.topic_question_vote}" onclick="ajaxQuestionVote({$oTopic->getId()},$('topic_answer_{$oTopic->getId()}_value').getProperty('value'));" />
@ -35,11 +39,11 @@
{if $oUserCurrent}
<ul class="action">
{if $oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oTopic->getUserIsBlogAdministrator() or $oTopic->getUserIsBlogModerator() or $oTopic->getBlogOwnerId()==$oUserCurrent->getId()}
<li class="edit"><a href="{$DIR_WEB_ROOT}/{$oTopic->getType()}/edit/{$oTopic->getId()}/" title="{$aLang.topic_edit}">{$aLang.topic_edit}</a></li>
{if $oUserCurrent and ($oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getUserIsModerator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
<li class="edit"><a href="{cfg name='path.root.web'}/{$oTopic->getType()}/edit/{$oTopic->getId()}/" title="{$aLang.topic_edit}">{$aLang.topic_edit}</a></li>
{/if}
{if $oUserCurrent->isAdministrator() or $oTopic->getUserIsBlogAdministrator() or $oTopic->getBlogOwnerId()==$oUserCurrent->getId()}
<li class="delete"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/delete/{$oTopic->getId()}/" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');">{$aLang.topic_delete}</a></li>
{if $oUserCurrent and ($oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
<li class="delete"><a href="{router page='topic'}delete/{$oTopic->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');">{$aLang.topic_delete}</a></li>
{/if}
</ul>
{/if}
@ -47,27 +51,20 @@
<ul class="tags">
{foreach from=$oTopic->getTagsArray() item=sTag name=tags_list}
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TAG}/{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a></li>
{/foreach}
<li><a href="{router page='tag'}{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a>{if !$smarty.foreach.tags_list.last}{/if}</li>
{/foreach}
</ul>
<ul class="info">
<li class="voting {if $oTopic->getUserIsVote() || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC}{if $oTopic->getRating()>0}positive{elseif $oTopic->getRating()<0}negative{/if}{/if} {if !$oUserCurrent || $oTopic->getUserId()==$oUserCurrent->getId() || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC}guest{/if} {if $oTopic->getUserIsVote()} voted {if $oTopic->getUserVoteDelta()>0}plus{elseif $oTopic->getUserVoteDelta()<0}minus{/if}{/if}">
<li class="voting {if $oVote || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}{if $oTopic->getRating()>0}positive{elseif $oTopic->getRating()<0}negative{/if}{/if} {if !$oUserCurrent || $oTopic->getUserId()==$oUserCurrent->getId() || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oTopic->getId()},this,1,'topic'); return false;"></a>
<span class="total" title="проголосовало: {$oTopic->getCountVote()}">{if $oTopic->getUserIsVote() || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC} {if $oTopic->getRating()>0}+{/if}{$oTopic->getRating()} {else} <a href="#" onclick="lsVote.vote({$oTopic->getId()},this,0,'topic'); return false;">&mdash;</a> {/if}</span>
<span class="total" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">{if $oVote || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')} {if $oTopic->getRating()>0}+{/if}{$oTopic->getRating()} {else} <a href="#" onclick="lsVote.vote({$oTopic->getId()},this,0,'topic'); return false;">&mdash;</a> {/if}</span>
<a href="#" class="minus" onclick="lsVote.vote({$oTopic->getId()},this,-1,'topic'); return false;"></a>
</li>
<li class="date">{date_format date=$oTopic->getDateAdd()}</li>
<li class="favorite {if $oUserCurrent}{if $oTopic->getIsFavourite()}active{/if}{else}fav-guest{/if}"><a href="#" onclick="lsFavourite.toggle({$oTopic->getId()},this,'topic'); return false;"></a></li>
{if $oTopic->getType()=='link'}<li class="link"><a href="{$DIR_WEB_ROOT}/link/go/{$oTopic->getId()}/" title="{$aLang.topic_link_count_jump}: {$oTopic->getLinkCountJump()}">{$oTopic->getLinkUrl(true)}</a></li> {/if}
<li class="author"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/">{$oTopic->getUserLogin()}</a></li>
<li class="comments">
{if $oTopic->getCountComment()>0}
<a href="{$oTopic->getUrl()}#comments" title="{$aLang.topic_comment_read}"><span class="cm-total">{$oTopic->getCountComment()}</span>{if $oTopic->getCountCommentNew()}<span class="cm-new">+{$oTopic->getCountCommentNew()}</span>{/if}</a>
{else}
<a href="{$oTopic->getUrl()}#comments" title="{$aLang.topic_comment_add}"><span class="cm-total">{$aLang.topic_comment_add}</span></a>
{/if}
</li>
{if $oTopic->getType()=='link'}<li class="link"><a href="{router page='link'}go/{$oTopic->getId()}/" title="{$aLang.topic_link_count_jump}: {$oTopic->getLinkCountJump()}">{$oTopic->getLinkUrl(true)}</a></li>{/if}
<li class="author"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
</ul>
</div>

View file

@ -1,21 +1,27 @@
{if count($aTopics)>0}
{foreach from=$aTopics item=oTopic}
{foreach from=$aTopics item=oTopic}
{assign var="oBlog" value=$oTopic->getBlog()}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oVote" value=$oTopic->getVote()}
<div class="topic">
<h2 class="title">
<a href="{$oTopic->getBlogUrlFull()}" class="blog-title">{$oTopic->getBlogTitle()|escape:'html'}</a><span>&nbsp;/</span>
{if $oTopic->getPublish()==0}<img src="{$DIR_STATIC_SKIN}/images/topic_unpublish.gif" title="{$aLang.topic_unpublish}" alt="{$aLang.topic_unpublish}">{/if}
{if $oTopic->getType()=='link'}<img src="{$DIR_STATIC_SKIN}/images/topic_link.gif" title="{$aLang.topic_link}" alt="{$aLang.topic_link}">{/if}
<a href="{if $oTopic->getType()=='link'}{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LINK}/go/{$oTopic->getId()}/{else}{$oTopic->getUrl()}{/if}">{$oTopic->getTitle()|escape:'html'}</a>
<a href="{$oBlog->getUrlFull()}" class="blog-title">{$oBlog->getTitle()|escape:'html'}</a><span>&nbsp;/</span>
{if $oTopic->getPublish()==0}<img src="{cfg name='path.static.skin'}/images/topic_unpublish.gif" title="{$aLang.topic_unpublish}" alt="{$aLang.topic_unpublish}">{/if}
{if $oTopic->getType()=='link'}<img src="{cfg name='path.static.skin'}/images/topic_link.gif" title="{$aLang.topic_link}" alt="{$aLang.topic_link}">{/if}
<a href="{if $oTopic->getType()=='link'}{router page='link'}go/{$oTopic->getId()}/{else}{$oTopic->getUrl()}{/if}">{$oTopic->getTitle()|escape:'html'}</a>
</h2>
<div class="content">
{if $oTopic->getType()=='question'}
<div id="topic_question_area_{$oTopic->getId()}" class="poll">
{if !$oTopic->getUserQuestionIsVote()}
<ul>
{foreach from=$oTopic->getQuestionAnswers() key=key item=aAnswer}
<li><label for="topic_answer_{$oTopic->getId()}_{$key}"><input type="radio" id="topic_answer_{$oTopic->getId()}_{$key}" name="topic_answer_{$oTopic->getId()}" value="{$key}" onchange="$('topic_answer_{$oTopic->getId()}_value').setProperty('value',this.value);" /> {$aAnswer.text}</label></li>
<li><label for="topic_answer_{$oTopic->getId()}_{$key}"><input type="radio" id="topic_answer_{$oTopic->getId()}_{$key}" name="topic_answer_{$oTopic->getId()}" value="{$key}" onchange="$('topic_answer_{$oTopic->getId()}_value').setProperty('value',this.value);" /> {$aAnswer.text|escape:'html'}</label></li>
{/foreach}
<li>
<input type="submit" value="{$aLang.topic_question_vote}" onclick="ajaxQuestionVote({$oTopic->getId()},$('topic_answer_{$oTopic->getId()}_value').getProperty('value'));" />
@ -27,7 +33,7 @@
{else}
{include file='topic_question.tpl'}
{/if}
</div>
</div>
{/if}
@ -38,35 +44,38 @@
</div>
{if $oUserCurrent}
<ul class="action">
{if $oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oTopic->getUserIsBlogAdministrator() or $oTopic->getUserIsBlogModerator() or $oTopic->getBlogOwnerId()==$oUserCurrent->getId()}
<li class="edit"><a href="{$DIR_WEB_ROOT}/{$oTopic->getType()}/edit/{$oTopic->getId()}/" title="{$aLang.topic_edit}">{$aLang.topic_edit}</a></li>
{/if}
{if $oUserCurrent->isAdministrator() or $oTopic->getUserIsBlogAdministrator() or $oTopic->getBlogOwnerId()==$oUserCurrent->getId()}
<li class="delete"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TOPIC}/delete/{$oTopic->getId()}/" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');">{$aLang.topic_delete}</a></li>
{if $oUserCurrent and ($oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getUserIsModerator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
<li class="edit"><a href="{cfg name='path.root.web'}/{$oTopic->getType()}/edit/{$oTopic->getId()}/" title="{$aLang.topic_edit}">{$aLang.topic_edit}</a></li>
{/if}
{if $oUserCurrent and ($oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
<li class="delete"><a href="{router page='topic'}delete/{$oTopic->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.topic_delete}" onclick="return confirm('{$aLang.topic_delete_confirm}');">{$aLang.topic_delete}</a></li>
{/if}
</ul>
{/if}
<ul class="tags">
{foreach from=$oTopic->getTagsArray() item=sTag name=tags_list}
<li><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_TAG}/{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a></li>
{/foreach}
<li><a href="{router page='tag'}{$sTag|escape:'html'}/">{$sTag|escape:'html'}</a>{if !$smarty.foreach.tags_list.last}{/if}</li>
{/foreach}
</ul>
<ul class="info">
<li class="voting {if $oTopic->getUserIsVote() || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC}{if $oTopic->getRating()>0}positive{elseif $oTopic->getRating()<0}negative{/if}{/if} {if !$oUserCurrent || $oTopic->getUserId()==$oUserCurrent->getId() || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC}guest{/if} {if $oTopic->getUserIsVote()} voted {if $oTopic->getUserVoteDelta()>0}plus{elseif $oTopic->getUserVoteDelta()<0}minus{/if}{/if}">
<li class="voting {if $oVote || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}{if $oTopic->getRating()>0}positive{elseif $oTopic->getRating()<0}negative{/if}{/if} {if !$oUserCurrent || $oTopic->getUserId()==$oUserCurrent->getId() || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
<a href="#" class="plus" onclick="lsVote.vote({$oTopic->getId()},this,1,'topic'); return false;"></a>
<span class="total" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">{if $oTopic->getUserIsVote() || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$VOTE_LIMIT_TIME_TOPIC} {if $oTopic->getRating()>0}+{/if}{$oTopic->getRating()} {else} <a href="#" onclick="lsVote.vote({$oTopic->getId()},this,0,'topic'); return false;">&mdash;</a> {/if}</span>
<span class="total" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">{if $oVote || ($oUserCurrent && $oTopic->getUserId()==$oUserCurrent->getId()) || strtotime($oTopic->getDateAdd())<$smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')} {if $oTopic->getRating()>0}+{/if}{$oTopic->getRating()} {else} <a href="#" onclick="lsVote.vote({$oTopic->getId()},this,0,'topic'); return false;">&mdash;</a> {/if}</span>
<a href="#" class="minus" onclick="lsVote.vote({$oTopic->getId()},this,-1,'topic'); return false;"></a>
</li>
<li class="date">{date_format date=$oTopic->getDateAdd()}</li>
<li class="favorite {if $oUserCurrent}{if $oTopic->getIsFavourite()}active{/if}{else}fav-guest{/if}"><a href="#" onclick="lsFavourite.toggle({$oTopic->getId()},this,'topic'); return false;"></a></li>
{if $oTopic->getType()=='link'}<li class="link"><a href="{$DIR_WEB_ROOT}/link/go/{$oTopic->getId()}/" title="{$aLang.topic_link_count_jump}: {$oTopic->getLinkCountJump()}">{$oTopic->getLinkUrl(true)}</a></li> {/if}
<li class="author"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/">{$oTopic->getUserLogin()}</a></li>
{if $oTopic->getType()=='link'}<li class="link"><a href="{router page='link'}go/{$oTopic->getId()}/" title="{$aLang.topic_link_count_jump}: {$oTopic->getLinkCountJump()}">{$oTopic->getLinkUrl(true)}</a></li>{/if}
<li class="author"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
<li class="comments">
{if $oTopic->getCountComment()>0}
<a href="{$oTopic->getUrl()}#comments" title="{$aLang.topic_comment_read}"><span class="cm-total">{$oTopic->getCountComment()}</span>{if $oTopic->getCountCommentNew()}<span class="cm-new">+{$oTopic->getCountCommentNew()}</span>{/if}</a>
@ -79,7 +88,6 @@
{/foreach}
{include file='paging.tpl' aPaging=`$aPaging`}
{else}
{$aLang.blog_no_topic}
{/if}