+0.72
Рейтинг
2.52
Сила

Антон

Профиль только админу и владельцу...

Уважаемые знатоки кода, прошу помощи!

Как нужно обернуть код в whois.tpl чтобы профиль был доступен только админу и владельцу профиля?

Знаю только такой код, который позволяет видеть страницу только админу:
{if $oUserCurrent and $oUserCurrent->isAdministrator()}
{/if}

Плагин «Автоматическая вставка контента в текст топика (AutoInjector)»


Плагин позволяет на основе заданных правил вставлять внутрь текста топика практически любой контент: контекстную рекламу, баннеры, коды биржей ссылок, различные блоки информации, графические элементы, видео и т.п. Вставлять контент можно в любую позицию текста топика. Кроме того, с помощью плагина можно заменять часть текста топика на свой контент, например, скрывать ссылки/фото/видео при соблюдении некоторых условий.

Вставка/замена контента происходит “на лету” перед отдачей страницы пользователю. В базе данных топик хранится в неизменном виде, поэтому автор топика при редактировании не видит этот контент и не сможет его удалить/изменить.

Читать дальше →

Как сделать чтобы при голосовании за топик, голосовавшему к рейтингу прибавлялось определенное значение? [РЕШЕНО]

Доброе время суток сообщество Livestreet, обращаюсь к вам немного с нестандартным вопросом, потому что и задача у меня нестандартная. Состоит она вот в чем:

Любому проголосовавшему за топик (неважно + или -) к рейтингу нужно добавить определенное значение, например +1,00 или +0,50, оно ни от чего не зависит, всегда одна и та же величина.

Буду очень благодарен за любую помощь и наводки!

РЕШЕНИЕ:
1) находим файл classes\modules\rating\Rating.class.php
2) открываем и заменяем функцию VoteTopic (85 строка) на следующее:
	public function VoteTopic(ModuleUser_EntityUser $oUser, ModuleTopic_EntityTopic $oTopic, $iValue) {
		$oTopic->setRating($oTopic->getRating()+$iValue);
		$oUser=$this->User_GetUserById($oUser->getUserId());
		$oUser->setRating($oUser->getRating()+$iValue);
		$this->User_Update($oUser);
		return $iValue;
	}

ДАННАЯ ФУНКЦИЯ ДОБАВЛЯЕТ ГОЛОСУЮЩЕМУ +1 или -1 РЕЙТИНГА В ЗАВИСИМОСТИ + ИЛИ — ОН ПОСТАВИЛ ПОСТУ, И +1 ИЛИ -1 ПОСТУ.

! ВНИМАНИЕ ФУНКЦИЯ 1) НЕ ДОБАВЛЯЕТ СИЛЫ НИКОМУ 2) НЕ ДОБАВЛЯЕТ РЕЙТИНГА СОЗДАТЕЛЮ ТОПИКА


функционал странный, но именно такой мне был необходим, спасибо пользователям beauty_free и gran

[РЕШЕНО] Что за аномалия?

Хочу реализовать прибавление рейтинга за публикацию топика:
В Action.Topic.class.php добавляю 3 строчки:
if ($this->Topic_AddTopic($oTopic)) {
			$this->Hook_Run('topic_add_after', array('oTopic'=>$oTopic,'oBlog'=>$oBlog));
			/**
			 * Получаем топик, чтоб подцепить связанные данные
			 */
			$oTopic=$this->Topic_GetTopicById($oTopic->getId());
			/**
			 * Прибавляем 0.4 рейтинга за публикацию топика
			 */
			$oUserTopic = $this->oUserCurrent;
            $oUserTopic->setRating($oUserTopic->getRating()+0.4); // можно в конфиге val вместо 0.4
            $this->User_Update($oUserTopic);


Всё ок, работает на ура!
В этом же файле, только ниже, в функции удаления (вконце) добавляю 3 строчки отнимания рейтинга при удалении топика:
protected function EventDelete() {
		$this->Security_ValidateSendForm();
		/**
		 * Получаем номер топика из УРЛ и проверяем существует ли он
		 */
		$sTopicId=$this->GetParam(0);
		if (!($oTopic=$this->Topic_GetTopicById($sTopicId))) {
			return parent::EventNotFound();
		}
		/**
		 * проверяем есть ли право на удаление топика
		 */
		if (!$this->ACL_IsAllowDeleteTopic($oTopic,$this->oUserCurrent)) {
			return parent::EventNotFound();
		}
		
		/**
		 * Удаляем топик
		 */
		$this->Hook_Run('topic_delete_before', array('oTopic'=>$oTopic));
		$this->Topic_DeleteTopic($oTopic);
		$this->Hook_Run('topic_delete_after', array('oTopic'=>$oTopic));
		/**
		 * Отнимаем 0.4 рейтинга
		 */
		$oUserTopic = $this->oUserCurrent;
        $oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Теже 3 строчки, но только знак минус. НЕ РАБОТАЕТ. РЕЙТИНГ НЕ ОТНИМАЕТСЯ!

Понял, потом, что функция отнимания неверна, т.к. если удалит админ или редактор, то у него отнимется рейтинг.

Пределал:
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
		$oUserTopic->setRating($oUserTopic->getRating()-0.4);
        $this->User_Update($oUserTopic);

Заменил, и всё равно рейтинг не отнимается. Что не так?

Как вызвать окно с уведомлением? [РЕШЕНО]

Здравствуйте!

Как можно вызвать окно уведомлением об ошибке, которое появляется справа вверху?
Цель: ограничить, например, просмотр топика только для зарегистрированных.
Как я это делаю: ставлю в ссылку-заголовок и в ссылку «читать дальше» условие, что если юзер не зарегистрирован, то никуда не переходим

<a href="{if $oUserCurrent}{$oTopic->getUrl()}{else}#{/if}">{$oTopic->getTitle()|escape:'html'}</a>

Как добавить всплывающее красное окно, которое скажет юзеру, что ему надо зарегистрироваться для просмотра топика?

Спасибо за ответ.

Бесплатный мини плагин "Блок Дни рождения"

Блок выводит статистику о приближающихся днях рождений пользователей и друзей. Совместим с 0.4 и 0.5 версиями.

Разрабатывался на шаблоне new-jquery (0.5) и new (0.4). По умолчанию шаблон new-jquery, а для 0.4 версии шаблон в архиве в папке plugins\birthdays\templates\skin (добавлены также шаблоны для street-spirit и social-jquery).



Читать дальше →

Дополнительное поле при создании топика

Здравствуйте, довольно актуальная тема на 0.5.x

Дополнительное поле при создание топика

Сразу хочу сказать спасибо:
bas eXtravert bamboo

Источники: HOWTO: Дополнительные поля при создании топика — подправил адреса к файлам + добавил русского языка

Цель:
  • Часть I создание дополнительного поля в шаблоне new под 0.5.1
  • Часть II опубликованное дополнительное поле видно только администраторам


Читать дальше →

Вставка счетчиков

Друзья, пемножко разобраться…

При попытке в счетчик GoogleAnalytics на сайте выдается ошибка следующего рода:

Fatal error: Smarty error: [in footer.tpl line 79]: syntax error: unrecognized tag 'var' (Smarty_Compiler.class.php, line 590) in /home/u312638/youcover.ru/www/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092

сам код выглядит так:


<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-000000-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>


используется 0.4.2 и шаблон whitelite.

заранее спасибо!