+2.75
Рейтинг
11.12
Сила

Виктор

для всплывающих подсказок могу подкинуть ссылочку на очень симпатичный джикери плагин
craigsworks.com/projects/qtip/demos/

Насчет личных сообщений — вообще очень хорошая идея.
Делается это легко, для этого в своем шаблоне открываем файлик header.tpl, и находим
<title>{$sHtmlTitle}</title>

дальше приводим к такому виду
<title>{$sHtmlTitle} {if $aPaging.iCurrentPage>1} страница {$aPaging.iCurrentPage} {/if}</title>

ну можете по импровизировать, но думаю суть понятна, демонстрация работы interesnie.com.ua/index/page2/
Плагин интеграции KeyCAPTCHA будет доступен после модерации в каталоге, по шуточной цене 1.5$
самописным скриптом. а вобще есть сервис rss2lj.net/
  • avatar abr307
  • 0
Убрал точку в .htaccess последнюю строку (убрал точку перед «/»)
RewriteRule ^(.*)$ /index.php
Заработало

Спасибо Большое!
  • avatar PSNet
  • 1
например в comment_tree.tpl,
с самого верху будет что-то типа этого:


{if $oUserCurrent}
	<div class="update" id="update" style="{if $aPagingCmt and $aPagingCmt.iCountPage>1}display:none;{/if}">
		<div class="update-comments" id="update-comments" onclick="ls.comments.load({$iTargetId},'{$sTargetType}'); return false;"></div>
		<div class="new-comments" id="new_comments_counter" style="display: none;" onclick="ls.comments.goToNextComment();"></div>
		<input type="hidden" id="comment_last_id" value="{$iMaxIdComment}" />
		<input type="hidden" id="comment_use_paging" value="{if $aPagingCmt and $aPagingCmt.iCountPage>1}1{/if}" />
	</div>
	<script>
                setInterval ("ls.comments.load({$iTargetId},'{$sTargetType}')", 120000);
	</script>
{/if}

вот тот скрипт нужно установить в ваш шаблон. 120000 == 2 мин
  • avatar Shatter
  • 1
Пардон:
{if $oUserCurrent and $oUserCurrent->getId()==$oUserProfile->getId()}
    Это мой профиль
{else}
    Это не мой профиль :(
{/if}
  • avatar vdenu
  • 0
Для 0.4
/**
 * Настройки вывода блоков
 */
$config['block']['rule_index_blog'] = array(
	'path' => array( 
		'___path.root.web___/blog$',
		'___path.root.web___/blog/*$',
		'___path.root.web___/blog/*/page\d+$',
		'___path.root.web___/blog/*/*\.html$',
		'___path.root.web___/blog/*\.html$',
	),
	'action'  => array(
			'index', 'new', 'search'
		),

В стандартном шаблоне должно сработать. У меня работает на моём шаблоне.
  • avatar Asphix
  • 0
есть такой файлик topic_list или topic.tpl (в зависимости от него) и если в нём сделать условие

{if $sAction=='index'}


свершится чудо! Всё, что будет внутри данного условия отобразится только на главной странице
Что бы поменять расположение блоков в сайдбаре заходим в classes/actions дальше ищем акшн раздела в котором нужно поменять порядок, для главной это ActionIndex.class.php. Находим строку
$this->Viewer_AddBlocks('right'....
у меня она выглядит так
$this->Viewer_AddBlocks('right',array('baner','stream','tags','blogs'));
и меняем местами блоки.
  • avatar xyz
  • 0
1. заменить questionVote.php на этот
<?php
/*-------------------------------------------------------
*
*   LiveStreet Engine Social Networking
*   Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
*   Official site: www.livestreet.ru
*   Contact e-mail: rus.engine@gmail.com
*
*   GNU General Public License, version 2:
*   http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
---------------------------------------------------------
*/

/**
 * Обрабатывает голосование за топик-вопрос
 */

set_include_path(get_include_path().PATH_SEPARATOR.dirname(dirname(dirname(__FILE__))));
$sDirRoot=dirname(dirname(dirname(__FILE__)));
require_once($sDirRoot."/config/config.ajax.php");

$idAnswer=getRequest('idAnswer',null,'post');
$idTopic=getRequest('idTopic',null,'post');
$bStateError=true;
$sTextResult='';
$sMsgTitle='';
$sMsg='';
if ($oEngine->User_IsAuthorization()) {
	if ($oTopic=$oEngine->Topic_GetTopicById($idTopic)) {
		if ($oTopic->getType()=='question') {
			//голосовал уже или нет
			$oUserCurrent=$oEngine->User_GetUserCurrent();
			if (!($oTopicQuestionVote=$oEngine->Topic_GetTopicQuestionVote($oTopic->getId(),$oUserCurrent->getId()))) {
				$aAnswer=$oTopic->getQuestionAnswers();							
				if (isset($aAnswer[$idAnswer]) or $idAnswer==-1) {						
					if ($idAnswer==-1) {
						$oTopic->setQuestionCountVoteAbstain($oTopic->getQuestionCountVoteAbstain()+1);
					} else {
						$oTopic->increaseQuestionAnswerVote($idAnswer);
					}
					$oTopic->setQuestionCountVote($oTopic->getQuestionCountVote()+1);
					
					$oTopicQuestionVote=Engine::GetEntity('Topic_TopicQuestionVote');
					$oTopicQuestionVote->setTopicId($oTopic->getId());
					$oTopicQuestionVote->setVoterId($oUserCurrent->getId());
					$oTopicQuestionVote->setAnswer($idAnswer);	
					
					if ($oEngine->Topic_AddTopicQuestionVote($oTopicQuestionVote) and $oEngine->Topic_updateTopic($oTopic)) {
						$bStateError=false;
						$sMsgTitle=$oEngine->Lang_Get('attention');
						$sMsg=$oEngine->Lang_Get('topic_question_vote_ok');						
						
						$oEngine->Viewer_Assign('oTopic',$oTopic);								
						$sTextResult=$oEngine->Viewer_Fetch("topic_question.tpl");	
					} else {
						$sMsgTitle=$oEngine->Lang_Get('error');
						$sMsg=$oEngine->Lang_Get('system_error');
					}
				} else {
					$sMsgTitle=$oEngine->Lang_Get('error');
					$sMsg=$oEngine->Lang_Get('system_error');
				}
			} else {
				$sMsgTitle=$oEngine->Lang_Get('error');
				$sMsg=$oEngine->Lang_Get('topic_question_vote_already');
			}
		} else {
			$sMsgTitle=$oEngine->Lang_Get('error');
			$sMsg=$oEngine->Lang_Get('system_error');
		}
	} else {
		$sMsgTitle=$oEngine->Lang_Get('error');
		$sMsg=$oEngine->Lang_Get('system_error');
	}
} else {
	if ($oTopic=$oEngine->Topic_GetTopicById($idTopic)) {
		if ($oTopic->getType()=='question') {
			//голосовал уже или нет
			//$oUserCurrent=$oEngine->User_GetUserCurrent();
			if (!isset($_SESSION['voted_'.$oTopic->getId()])) {
				$aAnswer=$oTopic->getQuestionAnswers();							
				if (isset($aAnswer[$idAnswer]) or $idAnswer==-1) {						
					if ($idAnswer==-1) {
						$oTopic->setQuestionCountVoteAbstain($oTopic->getQuestionCountVoteAbstain()+1);
					} else {
						$oTopic->increaseQuestionAnswerVote($idAnswer);
					}
					$oTopic->setQuestionCountVote($oTopic->getQuestionCountVote()+1);
					
					/*$oTopicQuestionVote=Engine::GetEntity('Topic_TopicQuestionVote');
					$oTopicQuestionVote->setTopicId($oTopic->getId());
					$oTopicQuestionVote->setVoterId($oUserCurrent->getId());
					$oTopicQuestionVote->setAnswer($idAnswer);	*/
					
					if (/*$oEngine->Topic_AddTopicQuestionVote($oTopicQuestionVote) and */$oEngine->Topic_updateTopic($oTopic)) {
						$bStateError=false;
						$sMsgTitle=$oEngine->Lang_Get('attention');
						$sMsg=$oEngine->Lang_Get('topic_question_vote_ok');						
						
						$oEngine->Viewer_Assign('oTopic',$oTopic);								
						$sTextResult=$oEngine->Viewer_Fetch("topic_question.tpl");	
						
						$_SESSION['voted_'.$oTopic->getId()] = true;
					} else {
						$sMsgTitle=$oEngine->Lang_Get('error');
						$sMsg=$oEngine->Lang_Get('system_error');
					}
				} else {
					$sMsgTitle=$oEngine->Lang_Get('error');
					$sMsg=$oEngine->Lang_Get('system_error');
				}
			} else {
				$sMsgTitle=$oEngine->Lang_Get('error');
				$sMsg=$oEngine->Lang_Get('topic_question_vote_already');
			}
		} else {
			$sMsgTitle=$oEngine->Lang_Get('error');
			$sMsg=$oEngine->Lang_Get('system_error');
		}
	} else {
		$sMsgTitle=$oEngine->Lang_Get('error');
		$sMsg=$oEngine->Lang_Get('system_error');
	}
}

$GLOBALS['_RESULT'] = array(
"bStateError"     => $bStateError,
"sText"   => $sTextResult,
"sMsgTitle" => $sMsgTitle,
"sMsg" => $sMsg,
);

?>


2. в шаблонах вывода топика (topic.tpl/topic_list.tpl) рядом с
<div id="topic_question_area_{$oTopic->getId()}">
заменить на
<div id="topic_question_area_{$oTopic->getId()}">
    		{assign var="iTopicId" value=$oTopic->getId()} 
    		{assign var="voted" value="voted_`$iTopicId`"}    		
    		{if ($oUserCurrent && !$oTopic->getUserQuestionIsVote()) || (!$oUserCurrent && (!$smarty.session.$voted))} 		
Есть в конфигах строки:
/**
 * Настройки роутинга
 */
$config['router']['rewrite'] = array();

Замени их на:
/**
 * Настройки роутинга
 */
$config['router']['rewrite'] = array(
   'blogs' => 'category'
);
Давно уже перенес, в каталоге валяется неактивный с 17 ноября) dl.dropbox.com/u/8957070/extcity_042.zip
  • avatar PSNet
  • 0
Добавьте условие
{if $sMenuItemSelect=='index'}
{include file='header_index.tpl' menu='blog'}
{else}
{include file='header.tpl' menu='blog'}
{/if}
c:\WebServers\home\livesteet.com\www\engine\modules\text\Text.class.php
86я строка (LiveStreet 0.4.2)
«Автозамена» — стреть её всю, за ненадобностью
В файле — /engine/modules/text/Text.class.php
Есть кусок
// Автозамена
$this->oJevix->cfgSetAutoReplace(array('±', '( c )', '( r )', '( C )', '( R )'), array('±', '©', '®', '©', '®');
Убираете здесь не нужное.
На форуме нашел решение:
Было
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
Стало
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php
теперь работает:) у меня.
  • avatar x3r0x
  • 0
Способ, который я проделал на версии 0.4.2:

1. Редактируем файл header.light.tpl (в каталоге, котором лежит скин, например /templates/skin/new/), а именно меняем строку:
<body>

на
<body id="light_bg">


2. В каталог /templates/skin/new/images копируем изображение под именем bg.jpg

3. В файл /templates/skin/new/css/style.css добавляем строки:
#light_bg {
	background: #f7f8f9 url(../images/bg.jpg) no-repeat top left;
}


4. Чистим кеши, смотрим результат

PS: браузеры любят кешировать css, так что скорей всего придется чистить и кеш браузера.
  • avatar nartuk
  • 0
Как вариант (но не как идеальное решение) можно в шаблонах везде где есть вывод ника, сделать суловие if.
Например:
{if $oUser->getId()==1}
<span style="color:red; font-weight:bold;"><a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a></span>
{else}
<a href="{$oUser->getUserWebPath()}" class="author">{$oUser->getLogin()}</a>
{/if}
  • avatar xyz
  • 0
Давай я тебя научу.
Смотри, заходишь в /classes/actions/ActionTopic.class.php
видишь там событие EventAdd
в нем видишь вызов
$this->Viewer_Assign('aBlogsAllow',$this->Blog_GetBlogsAllowByUser($this->oUserCurrent));

— значит нам нужен /classes/modules/blof/Blog.class.php
в нем видим 3 вызова
if ($oUser->isAdministrator()) {
			return $this->GetBlogs();
		} else {						
			$aAllowBlogsUser=$this->GetBlogsByOwnerId($oUser->getId());
			$aBlogUsers=$this->GetBlogUsersByUserId($oUser->getId());			

лезем в эти функции и ищем обращения к мапперу
1. $data=$this->oMapperBlog->GetBlogs();
2. $data=$this->oMapperBlog->GetBlogsByOwnerId($sUserId);
3. $data = $this->oMapperBlog->GetBlogUsers($aFilter);

идем в маппер и во всех этих функциях прописываем в $sql в конец
ORDER by b.blog_title asc