Перейти к контенту

[2.3.x]iReputation System 1.0.0


Yama

Рекомендуемые сообщения

  • 3 недели спустя...
  • Ответы 146
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

поставил на 2.3.3 и такая ошибка, когда нажимаешь сверху на Репутацию

 

Вам нельзя просматривать репутацию.

 

 

че делать??

 

все ясно.. в компонентах есть доп. настройки

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
У меня, как я понял, проблема с кодировкой. Я поставил на свой форум(2.3.6) систему репутации iReputation System 1.0.0. Все нормально работает. Но в тексте повышения(или понижения) когда пишешь русскими буквами, вместо них отображаются вопросы. Помогите пожалуйста.
Ссылка на комментарий
Поделиться на других сайтах

У меня, как я понял, проблема с кодировкой. Я поставил на свой форум(2.3.6) систему репутации iReputation System 1.0.0. Все нормально работает. Но в тексте повышения(или понижения) когда пишешь русскими буквами, вместо них отображаются вопросы. Помогите пожалуйста.

Через phpMyAdmin посмотрите какая кодировка у текстового поля в таблице репутации. Её нужно сделать такой же, как у поля post таблицы posts.

Ссылка на комментарий
Поделиться на других сайтах

Когда нажима Отправить, репутацию. выходить ошибка базы данных. Через пхпмайадмин зашел посмотреть, вот такая ошибка:

"#

Время: Thu, 18 Jun 2009 12:02:25 -0400

#

Код ошибки: 1062

#

Сообщение сервера: Duplicate entry '0' for key 1

#

IP-адрес клиента: 92.46.189.59

#

Страница: /index.php?autocom=reputation

#

Запрос: INSERT INTO ibf_reputation (rep_to_id,rep_by_id,rep_pos,rep_text,rep_time) VALUES(9,2,1,'За рассказ про ушу.',1245340945)"

 

Подскажите, что делать?

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
Поставил 1.0.0,ппц вообще нет ни кнопок ни чего,но в АЦ считается что он установлен,всё изменил как было написано в инструкции по установки( с чем отсутствие кнопок может быть связанно?
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Все конечно прелестно, все становится и работает. Но вот уважаемый разработчик, Вы бы как-то обозначили, что Ваш мод сносит все изменения в скинах. После установки данного мода слетела масса настроек по форме быстрого ответа и смайлам. Так что нафег такое счастье.
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Как ограничить накручивание репутации?

Сделать ограничение на изменение раз в день?

 

Или расскажите теорию где-что прописать.

Ссылка на комментарий
Поделиться на других сайтах

Есть лекарство!

Защита от флуда или "накручивания" репутации.

 

Идем в файл sources/components_public/reputation.php

 

Находим строки:

		
$rep_text = $this->ipsclass->my_nl2br( $this->postlib->parser->pre_db_parse( $rep_text ) );

 

Ниже добавляем:

// ограничение по времени на добавление "репы" 
	if( !$this->canUserAddRep( $data['id'], $this->ipsclass->member['id']) ) 
	{
		$this->ipsclass->Error( array( LEVEL => 1, MSG => 'error_no_more_once' ) );
	}

 

Идем в конец файла и добавляем свой метод, перед :

 }

 

код:

 

	// определяем можно ли добавлять пользователю репу? 

function canUserAddRep( $iToID, $iByID )
{

		// количество дней для ограничение флуда
		$iDays = 1;

		$bCanUserAddRep = false; 

		$r = $this->ipsclass->DB->build_and_exec_query(array(
			'select'   => '*',
			'from'	 => 'reputation',
			'where'	=> 'rep_to_id='.$iToID.' AND rep_by_id='.$iByID,
			'order'	=> 'rep_time DESC'
			)
		);

		$iCheckTime = (time() - $r['rep_time']);



		$sLog = "\n время " . $iCheckTime; 

		if ( $iCheckTime < (24*3600*$iDays) )
		{
			$bCanUserAddRep = false;					
		}
		else
		{
			$bCanUserAddRep = true;

		}

		if( !isset($r['rep_time']) )
		{

		   $bCanUserAddRep = true; 
		}


		return $bCanUserAddRep;
}

 

 

Теперь надо добавить значение в языковой файл.

Файл:

/cache/lang_cache/ru/reputation.php

Находим:

'error_no_retards'		=>		"Нельзя изменять репутацию самому себе!",

Добавляем ниже:

'error_no_more_once'	=> "Нельзя изменять репутацию так часто!",

 

Если обнаружите ошибку - пишите в личку и на форум..

Если захотите поблагодарить, то заходите на мой сайт musical-express.ru и потыкайте на рекламу ).

 

2 genresu4

Спасибо, уже стало легче. Можно ли сделать ещё так, чтобы при нажатии +/- на автомате выделялся вариант в окне изменения репутации? Или оно так и должно быть, но у меня не пашет? :D

 

Я в условия вместо

$this->ipsclass->input['act']

поставил:

$_GET['act']

- все заработало.

 

В итоге надо переписать шаблон giv_rep:

 

Код:

<if="$this->ipsclass->input['act']==add">
<input type="radio" name="rep_type" value="1" checked>{$this->ipsclass->lang['pos']}<br />
<else />
<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
</if>
<if="$this->ipsclass->input['act']==del">
<input type="radio" name="rep_type" value="2" checked>{$this->ipsclass->lang['neg']}
<else />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}
</if>

 

 

Заменить:

<if="$_GET['act']==add">
<input type="radio" name="rep_type" value="1" checked>{$this->ipsclass->lang['pos']}<br />
<else />
<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
</if>
<if="$_GET['act']==del">
<input type="radio" name="rep_type" value="2" checked>{$this->ipsclass->lang['neg']}
<else />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}
</if>

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
Есть лекарство!

Защита от флуда или "накручивания" репутации.

 

Идем в файл sources/components_public/reputation.php

При добавлении первого же кода пишет:

 

Parse error: syntax error, unexpected '{' in /home/softfan/public_html/forum/sources/components_public/reputation.php on line 1

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
Поставил 1.0.0,ппц вообще нет ни кнопок ни чего,но в АЦ считается что он установлен,всё изменил как было написано в инструкции по установки( с чем отсутствие кнопок может быть связанно?

+1 то же самое, версия 2.3.5 , ничего не видно... хотя и критов никаких и ошибок тоже нету, как будто просто не устанавливал

Ссылка на комментарий
Поделиться на других сайтах

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

Как это исправить, кто подскажет?

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

Всем привет.

Возникла небольшая проблема.

Всё встало отлично , проблем небыло , однако возникла след.ситуация.

Не отображается количество репутации в темах.В чём может быть причина ?

Под аватором , даже при добавлении репутации , остаётся 0 , если пройти в профиль , то там показывает.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 2 недели спустя...

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

 

Спасибо )

Изменено пользователем Deluxe
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Быстрый выбор типа изменения репутации.

Если кому то захочеться не париться с выбором и иметь красивые + и - возле цифарки с репутацией вместо "Изменить репутацию" то советую в каждом скине править skin_reputation --> give_rep сделав замену:

найти

<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}

заменить на

<if="$this->ipsclass->input['act']==add">
<input type="radio" name="rep_type" value="1" checked>{$this->ipsclass->lang['pos']}<br />
<else />
<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
</if>
<if="$this->ipsclass->input['act']==del">
<input type="radio" name="rep_type" value="2" checked>{$this->ipsclass->lang['neg']}
<else />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}
</if>

дальше, в skin_topic --> member_reputation заменить всё на

<if="$this->ipsclass->member['g_access_rep']">
{$this->ipsclass->lang['rep']}
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=del'>
<b>-</b></a></if>
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=member_reputation&id={$id}'>{$reputation}</a>
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=add'><b>+</b></a></if></if>

вместо + и - можно попробовать указать <{WARN_ADD}> и <{WARN_MINUS}>, но например в стиле ip.boardpr это выглядит как будто понизить рейтинг это круто :D

 

Во второй замене нужно в конце добавить <br />, т.е. код такой:

<if="$this->ipsclass->member['g_access_rep']">
{$this->ipsclass->lang['rep']}
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=del'>
<b>-</b></a></if>
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=member_reputation&id={$id}'>{$reputation}</a>
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=add'><b>+</b></a></if></if>[b]<br />[/b]

 

Потому что строка Регистрация: 13.8.2009 вылазит на строку регистрации, если залогиненный ;)

 

А кто такие чуваки?

http://ru.wikipedia.org/wiki/Чувак

 

IPB 2.3.6 - мод стал нормально

После внесения всех перечисленных в теме изменений - немного преобразился в более нормальный вид :)

 

вместо + и - можно попробовать указать <{WARN_ADD}> и <{WARN_MINUS}>

Если ставить в сответствии, то получается нелогично :)

Поэтому для:

+ ставим <{WARN_MINUS}>

- ставим <{WARN_ADD}>

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 1 месяц спустя...

Все установил по инструкции, вроде все установилось, но при нажатии на репутацию форум выдает следующую ошибку,

 

 

Parse error: syntax error, unexpected '[' in /home/madonna/public_html/l-gaga.ru/forum/cache/skin_cache/cacheid_2/skin_reputation.php on line 60

 

Подскажите плиз, в чем может быть проблема???

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Господа, такая проблема: воспользовавшись инструкцией по видоизменению данного мода (чтобы было видно +/-) я не совсем правильно ее интерпритировал, влез в xml файл и поправил там строки:

<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}

заменил на:

<if="$_GET['act']==add">
<input type="radio" name="rep_type" value="1" checked>{$this->ipsclass->lang['pos']}<br />
<else />
<input type="radio" name="rep_type" value="1">{$this->ipsclass->lang['pos']}<br />
</if>
<if="$_GET['act']==del">
<input type="radio" name="rep_type" value="2" checked>{$this->ipsclass->lang['neg']}
<else />
<input type="radio" name="rep_type" value="2">{$this->ipsclass->lang['neg']}
</if>

а эти строки:

<func_name>member_reputation</func_name> 
	<func_data><![CDATA[$reputation=0, $id=0]]></func_data>
	</template>

я сменил на:

<func_name>member_reputation</func_name> 
	<func_data><![CDATA[<if="$this->ipsclass->member['g_access_rep']">
{$this->ipsclass->lang['rep']}
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=del'>
<b>-</b></a></if>
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=member_reputation&id={$id}'>{$reputation}</a>
<if="$id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']">
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}&act=add'><b>+</b></a></if></if>]></func_data>
	</template>

Вроде бы этот, вариант у меня заработал и я преустновил модинсталлером данный пакет

после этого я не мог попасть не в один постов, посмотрев что дела идут неважно заменил старым файлом и переустановил: безрезультатно

поразмыслив решил потестить как оно удалиться (ибо не оч. хотелось видеть ошибку по отзывам на форуме) на стареньком дампе на вирт. тачке поднял мод и удалил - все прошло удачно

удалил мод на настоящем форуме - безрезультатно, правдо ошибка теперь другая:

Parse error: syntax error, unexpected '(', expecting T_STRING in Z:\home\localhost\forum\cache\skin_cache\cacheid_3\skin_topic.php on line 16

попробовал достать из дампа шабоны стилей cacheid_3и закинуть - вроде норм прошло

долго радоваться не пртишлось, попробовал поставить проверенный мод который ранее тестил на вирт тачке

и как я понял шаблоны стилей храняться в каком-то кеше, оно их обновило - и опять та же борода:

 Parse error: syntax error, unexpected '(', expecting T_STRING in Z:\home\localhost\forum\cache\skin_cache\cacheid_3\skin_topic.php on line 16

При чем выскакивает только там где есть кнопка спасибо, т.е. у мну уставновленна мод-я спасибо и вот если я спасибо нажать не могу (нажал ранее или пост мой) - все норм, а если могу - ошибка

 

Скажите чтож-я натворил изменив xml файл и как исправить без отката до оч. страго дампа, одостаточно много инфы успело накопиться, а ввиду слабого железа и нехватки места дампы делать постояннно не мог.

 

Ну и собственно выдержка из файла skin_topic.php начиная с 16й сроки

 

function () {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "" . (($this->ipsclass->member['g_access_rep']) ? ("
{$this->ipsclass->lang['rep']}<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=member_reputation&id={$id}'>{$reputation}</a>
<br />
" . (($id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']) ? ("
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}'><strong>{$this->ipsclass->lang['rep_mem']}</strong></a>
<br />
") : ("")) . "
") : ("")) . "";
//--endhtml--//

 

Еще пробовал установить новый скин, но там та же проблема возникает.

 

Сравнил старые скины с бэкапми рание описанные строки:

 

function () {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= "" . (($this->ipsclass->member['g_access_rep']) ? ("
{$this->ipsclass->lang['rep']}<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=member_reputation&id={$id}'>{$reputation}</a>
<br />
" . (($id != $this->ipsclass->member['id'] AND $this->ipsclass->member['g_give_rep']) ? ("
<a href='{$this->ipsclass->base_url}autocom=reputation&cmd=give_reputation&id={$id}'><strong>{$this->ipsclass->lang['rep_mem']}</strong></a>
<br />
") : ("")) . "
") : ("")) . "";
//--endhtml--//

 

они здесь лишние и вызываю бэд, удалил их - все заработало норм

так же в шаблоне стиля в skin-topic появилась пустая строка (строка-переменная, не заню как ее обозвать, в общем переенная на подобии Кутвук_Кщц в этой же графе), где и есть эта приписка репутации

 

Собственно вопрос в следующем: теперь при любом обновлении шаблонов стиля (как я понял) у меня будут добавляться эти строки, как мне от этого избавиться?

 

В общем проблема решена, IPB хранит данные о стиляхв так называемом "КЭШЭ" порыскав по БД с запросом $reputation} наткнулся на совпадения в ibf_skin_templates_cache, ibf_skin_templates удалив ненужные строки - проблему решил.

Возможно кому-то поможет.

Изменено пользователем ZeFein
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Установил всё по инструкции и никаких изменений. Вообще ничего, только там месте, где должна быть репутация - пустая строчка.
Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.