+0.08
Рейтинг
0.50
Сила
  • avatar imsory
  • 1
Опять в код не обернул, прошу прощения -)

{if $oTopic->getIsAllowAction()}
<ul class="topic-main-info">    
    {if $oUserCurrent->isAdministrator() }
        {if $oTopic->getIsAllowEdit()}
            <li class="vote-item edit"><a href="{$oTopic->getUrlEdit()}" title="{$aLang.topic_edit}" class="actions-edit"><i></i></a></li>
        {/if}       
    {/if}    
        {if $oTopic->getIsAllowDelete()}
            <li class="vote-item 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}');" class="actions-delete"><i></i></a></li>
        {/if}
</ul>
{/if}
  • avatar imsory
  • 0
Решил проблему вот так:

{if $oTopic->getIsAllowAction()}
    {if $oUserCurrent->isAdministrator() }
    {if $oTopic->getIsAllowEdit()}
  • {/if} {/if} {if $oTopic->getIsAllowDelete()}
  • {/if}
{/if}
  • avatar imsory
  • 0
Плагин вставляет большой отступ над иконками. Подскажите пожалуйста, как его убрать?

...
"
				
	"
<div style="margin-bottom: 25px; border-bottom: #999 2px solid; padding-bottom: 15px;">
...
  • avatar imsory
  • 0
Я не умею пользоваться гит хаб, поэтому залил на дропбокс -)

dl.dropboxusercontent.com/u/6892731/topic_part_header.txt

вот полный файл topic_part_header.tpl, участок кода, который был добавлен выделен стрелочками (этот код отсутствовал в файле до модификации).

Я хочу вставить 2 кнопки «редактировать» и «удалить» топик именно в это место.

Fatal error: Call to a member function getUserIsAdministrator() on a non-object in /var/www/мой-сайт/templates/compiled/шаблон/9379624bbb45e2aa3a64b9beccf045ce42fc14e4.file.topic_part_header.tpl.php on line 135


Файл:

dl.dropboxusercontent.com/u/6892731/9379624bbb45e2aa3a64b9beccf045ce42fc14e4.file.topic_part_header.tpl.php
  • avatar imsory
  • 0
{assign var="aBlogs" value=$oTopic->getMultiblogs()}
{assign var="oUser" value=$oTopic->getUser()}
{assign var="oVote" value=$oTopic->getVote()}
{assign var="oFavourite" value=$oTopic->getFavourite()}
<!-- fchn topic - start -->

<table class="topic topic-type-{$oTopic->getType()} js-topic">
<tbody>
<tr>
<td class="votecell">

				{assign var="bVoteInfoShow" value=false}
			
			<li class="topic-info-vote">
								<div id="vote_area_topic_{$oTopic->getId()}" class="vote-topic
																	{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
																		{if $oTopic->getRating() > 0}
																			vote-count-positive
																		{elseif $oTopic->getRating() < 0}
																			vote-count-negative
																		{elseif $oTopic->getRating() == 0}
																			vote-count-zero
																		{/if}
																	{/if}
																	
																	{if !$oUserCurrent or ($oUserCurrent && $oTopic->getUserId() != $oUserCurrent->getId())}
																		vote-not-self
																	{/if}
																	
																	{if $oVote} 
																		voted
																		
																		{if $oVote->getDirection() > 0}
																			voted-up
																		{elseif $oVote->getDirection() < 0}
																			voted-down
																		{elseif $oVote->getDirection() == 0}
																			voted-zero
																		{/if}
																	{else}
																		not-voted
																	{/if}
																	
																	{if (strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time') && !$oVote) || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId())}
																		vote-nobuttons
																	{/if}
																	
																	{if strtotime($oTopic->getDateAdd()) > $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
																		vote-not-expired
																	{/if}

																	{if $bVoteInfoShow}js-infobox-vote-topic{/if}">
					<div class="vote-item vote-up" onclick="return ls.vote.vote({$oTopic->getId()},this,1,'topic');"><i></i></div>
					
					<div class="vote-item vote-count" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">
						<span id="vote_total_topic_{$oTopic->getId()}" class="
								{if $oTopic->getRating() > 0}
									vote-count-positive
								{elseif $oTopic->getRating() < 0}
									vote-count-negative
								{elseif $oTopic->getRating() == 0}
									vote-count-zero
								{/if}
								">
							{$oTopic->getRating()}
						</span>
					</div>
					
					<div class="vote-item vote-down" onclick="return ls.vote.vote({$oTopic->getId()},this,-1,'topic');"><i></i></div>

					{if $bVoteInfoShow}
						<div id="vote-info-topic-{$oTopic->getId()}" style="display: none;">
							<ul class="vote-topic-info">
								<li><i class="icon-plus icon-white"></i> {$oTopic->getCountVoteUp()}</li>
								<li><i class="icon-minus icon-white"></i> {$oTopic->getCountVoteDown()}</li>
								<li><i class="icon-eye-open icon-white"></i> {$oTopic->getCountRead()}</li>
								{hook run='topic_show_vote_stats' topic=$oTopic}
							</ul>
						</div>
					{/if}


----------------------------------------

{if $oUserCurrent and ($oUserCurrent->getId()==$oTopic->getUserId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getUserIsModerator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}

				{if $oUserCurrent and ($oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() or $oBlog->getOwnerId()==$oUserCurrent->getId())}
					<div class="vote-item edit"><a href="{cfg name='path.root.web'}/{$oTopic->getType()}/edit/{$oTopic->getId()}/" title="{$aLang.topic_edit}" class="actions-edit"><i></i></a></div>
				{/if}
					<div class="vote-item 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}');" class="actions-delete"><i></i></a></div>
		{/if}


----------------------------------------
				</div>
			</li>
</td>			

<td class="postcell">
<article>
	<header class="topic-header">
    	              
		
			{if $bTopicList}
				<a class="titleh1" href="{$oTopic->getUrl()}" {if $oTopic->getType() == 'link'}title="{$aLang.topic_link}"{/if}>{$oTopic->getTitle()|escape:'html'}</a>
			{else}
				<h1 class="title">{$oTopic->getTitle()|escape:'html'}</h1>
			{/if}
            {if $oTopic->getPublish() == 0}   
				<i class="icon icon-eye-close" title="{$aLang.topic_unpublish}"></i>
			{/if}
		        
        
        	<ul class="topic-additional-info">
				<li class="topic-info-author">
					<a rel="author" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
				</li>
				<li class="topic-info-author">
					<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
				</li>
            	<li class="category"><a>Shared to </a>
					{foreach from=$aBlogs item=oBlog}
						<a href="{$oBlog->getUrlFull()}" class="topic-blog">{$oBlog->getTitle()|escape:'html'}</a> 
					{/foreach}
				</li>				
                <li class="date">
                	<time datetime="{date_format date=$oTopic->getDateAdd() format='c'}" title="{date_format date=$oTopic->getDateAdd() format='M j, Y'}">
					{date_format date=$oTopic->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day g:i A" format="M j, Y"}</time>
                </li>
				{if $oTopic->getsourcecontent() != ""}
				{if $oTopic->getType() == 'gif' or $oTopic->getType() == 'photoset'}<li class="source">
					<a href="http://{$oTopic->getsourcecontent()|escape:'html'}" target="_blank">Source</a>
				</li>{/if}
				{/if}		

				
            </ul>

	</header>
  • avatar imsory
  • 0
Забыл сохранить второй раз. -) Сейчас все отлично работает, потестил, я так понимаю это защита от двойного нажатия на кнопку «опубликовать»? Спасибо большое!
  • avatar imsory
  • 0
Загружаю картинку, потом еще раз ее же получаю ошибку:

Notice: Use of undefined constant time — assumed 'time' in

/var/www/имя_сайта/classes/modules/topic/entity/Topic.entity.class.php on line 72


Error: Can't create topics in such a frequent rate

Получается мы на правильном пути :)

Но если еще раз нажать на кнопку опубликовать, то топик опубликуется.
  • avatar imsory
  • 0
Получается здесь хеш для фотосетов просто игнорируется, а на основе картинки не получилось сделать?
  • avatar imsory
  • 0
У меня стандартный тип топика «фотосеты», только отключен flash загрузчик и можно загрузить только 1 картинку. Картинки хранятся в таблице ls_topic_photo. Еще есть обычный тип топика, можно как нибудь сделать чтобы хеш для фотосетов формировался из картинок а для обычного топика остался без изменений (текста + название).
  • avatar imsory
  • 0
Я тоже об этом думал, а как это сделать?
  • avatar imsory
  • 0
На моем сайте одни картинки, поле с текстом я вообще убрал, хеш формируется только из названий топика. А одинаковый заголовок будет попадаться часто.
Опять не поняли друг друга. -) Но я тут уже разобрался.
В файле topic_photoset.tpl заменил:

{if $bTopicList}
    {$oTopic->getTextShort()}
{else}
    {$oTopic->getText()}
{/if}


На это:

{if $bTopicList}
    {$oTopic->getTextShort()|strip_tags}
{else}
    {$oTopic->getText()|strip_tags}
{/if}
не работает -( там ниже еще есть похожие строчки, пробовал менять их тоже, отключал все плагины и менял шаблон на стандартный.
это для любого комментария
Не из комментария, а из текстового редактора при создании фотосета.
Спасибо, работает!) А из фотосета можно убрать?

P.S. Вы занимаетесь разработкой плагинов? Я тогда запишу все, что нужно сделать и скину вам в скайп на этой неделе.
Видимо мы друг друга не понимаем. Вот на хабре в комментариях нет html тегов, в твиттере нет html тегов. И никто туда не вставляет «нехороший» код. Я просто хочу, чтобы мои пользователи не могли вставлять вообще никакой код в комменты ни «хороший», ни «плохой», только текст.
А что могут быть за последствия? -) В комментариях мне не нужен парсер так на хабре. У меня основной тип топика — фотосет. Я хочу сделать из поля «текст» описание для фотосета на 200 символов. Редактор мне там не нужен, чтобы туда какой нибудь хитрец не вставил картинку или заголовок с тегом h4.
да, вообще отключить, оставить парсер только в редакторе топика.
Здравствуйте, все работает отлично. Но создается два одинаковых изображения с разрешением 1000px. Можно как нибудь этого избежать? Мне кажется оригинала с разрешением 1000px будет достаточно.
  • avatar imsory
  • 0
Как решили проблему? Ну помогите мне кто нибудь, пожалуйста. =)