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

[2.1.x]Simple Reputation System


Dan1

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

  • Ответы 285
  • Создана
  • Последний ответ

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

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

Как стояли 644, так и стоят 644, но без изменений, изменить нельзя, а просмотреть можно!!!

Менять не надо, пусть 644 стоят, у меня так по крайне мере и всё робит.

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

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

Сорри за то что пишу не в ту тему, наверное... Но тут такая проблемка. Я себе установил [AH23] Reputation System 4.6.1 by AH Modding под IPB 2.3.1

И тут такой трабл:

1. http://infostore.org/file/3931346/3168951/rep.JPG

2. http://infostore.org/file/3931352/3168957/rep2.JPG

Как ето исправить ?

Зарание спасибо

 

[Thu Sep 06 09:30:59 2007] [error] [client 193.93.163.1] File does not exist: /var/www/html/test/admin/style_images, referer: http://cs.onet.net.ua/test/admin/index.php...11&type=css

[Thu Sep 06 09:31:00 2007] [error] [client 193.93.163.1] File does not exist: /var/www/html/test/admin/style_images, referer: http://cs.onet.net.ua/test/admin/index.php...11&type=css

[Thu Sep 06 09:31:00 2007] [error] [client 193.93.163.1] File does not exist: /var/www/html/test/admin/{ibf.vars.img_url}, referer: http://cs.onet.net.ua/test/admin/index.php...11&type=css

[Thu Sep 06 09:31:00 2007] [error] [client 193.93.163.1] File does not exist: /var/www/html/test/admin/style_images, referer: http://cs.onet.net.ua/test/admin/index.php...11&type=css

[Thu Sep 06 09:31:00 2007] [error] [client 193.93.163.1] File does not exist: /var/www/html/test/admin/{ibf.vars.img_url}, referer: http://cs.onet.net.ua/test/admin/index.php...11&type=css

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

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

При добавлении кому-либо репы - вылетает ошибка:

 

mySQL query error: INSERT INTO ibf_reputation (from_user,to_user,post,topic,message,rating,anonym,created) VALUES(1537,377,1029,453,123,1,0,1192352225)

SQL error: Unknown column 'anonym' in 'field list'
SQL error code: 
Date: 14.10.2007, 12:57

Как поправить?

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

поставить наконец что то одно определенное

либо симпл, в которой нет анонима

либо екстендед, в которой много чего пофиксено

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

Поломал немного для функционирования в 2.3.1. Никаких нововведений, только работоспособность.

 

Изменяемые файлы:

 

index.php

/sources/ipsclass.php

/sources/action_public/topics.php

/cache/lang_cache/*/lang_topic.php

 

 

**************************************************************************

Выполнить SQL-запрос в БД С форумом

**************************************************************************

 

ALTER TABLE `ibf_members` ADD `reputation` INT NOT NULL ;

 

CREATE TABLE `ibf_reputation` (

`id` int(11) NOT NULL auto_increment,

`from_user` int(11) NOT NULL default '0',

`to_user` int(11) NOT NULL default '0',

`forum` int(11) NOT NULL default '0',

`topic` int(11) NOT NULL default '0',

`post` int(11) NOT NULL default '0',

`created` int(11) NOT NULL default '0',

`message` text NOT NULL,

`rating` int(11) NOT NULL default '0',

PRIMARY KEY (`id`)

) ;

 

 

 

**************************************************************************

Скопировать папки из данного архива в директорию с форумом (корень форума)

**************************************************************************

 

Рисунки также скопировать во все директории скинов в style_images

 

**************************************************************************

Открыть файл /sources/action_public/topics.php

**************************************************************************

 

----Найти:----

$poster = $this->ipsclass->parse_member( $row, 1, 'skin_topic' );

----Вставить ПЕРЕД:----

$this->ipsclass->c_pid = $row['pid'];

----Удалить:---- (это на совести автора, не разбирался)

$this->cached_members[ $row['author_id'] ] = $poster;

**************************************************************************

Открыть файл /sources/ipsclass.php

**************************************************************************

 

----Найти:----

var $vn_build_reason = '';

----Вставить ПОСЛЕ----

var $c_pid		  = 0;

----Найти:----

		//-----------------------------------------
	// Photo and such
	//-----------------------------------------

	$member = $this->member_set_information( $member );

 

----Вставить ПОСЛЕ----

 

				if($this->input['act'] == 'st' OR $this->input['act'] == 'rep')
			{
					$member['reputation_allow'] = true;
					$this->DB->simple_construct( array( 'select' => 'id, reputation',
																  'from'   => 'members',
																  'where'  => "id=".$member['id']
																)
														 );

					$this->DB->simple_exec();
					if ($this->DB->get_num_rows())
					{
							$row = $this->DB->fetch_row();
							$member['reputation'] = $row['reputation'];
					}

					$member['reputation_text'] = $this->lang['reputation'];
					if($this->member['id'] != $member['id'])
					{
							$member['reputation_minus'] = "<a href='java script:rep_change_window_open(\"{$this->base_url}act=rep&type=win_minus&mid={$member['id']}&p={$this->c_pid}\");' title='{$this->lang['rep_dec']}'>{$this->lang['minus']}</a>";
							$member['reputation_add'] = "<a href='java script:rep_change_window_open(\"{$this->base_url}act=rep&type=win_add&mid={$member['id']}&p={$this->c_pid}\");' title='{$this->lang['rep_inc']}'>{$this->lang['plus']}</a>";
					}
					else
					{
							$member['reputation_minus'] = "{$this->lang['minus_disabled']}";
							$member['reputation_add'] = "{$this->lang['plus_disabled']}";
					}
					$member['reputation_scores'] = "<a href='{$this->base_url}act=rep&type=history&mid={$member['id']}' title='{$this->lang['view_rep']}'>{$member['reputation']}</a>";
			}

 

отредактируйте обязательно: уберите пробел между java и script

 

**************************************************************************

Открыть файл /index.php

**************************************************************************

----Найти:----

				 'component'  => array( 'component'		  , 'component'	, array() ),

----Вставить ПОСЛЕ----

				 'rep'		=> array( 'reputation'		 , 'reputation'   , array() ),

 

 

**************************************************************************

Зайти в Admin CP

**************************************************************************

 

Далее зайти в LOOK & FEEL, выбрать изменяемый шаблон - нажать Edit Template HTML

 

Далее Topic View -> RenderRow

 

----Найти----

				{$author['warn_text']} {$author['warn_minus']}{$author['warn_img']}{$author['warn_add']}

----Добавить ПОСЛЕ----

<if="$author['reputation_allow'] == "true"">
		<script type="text/javascript" src='jscripts/reputation.js'></script>
		<br/> <br/>{$author['reputation_text']}{$author['reputation_minus']}  <b>{$author['reputation_scores']}</b>  {$author['reputation_add']}
</if>

**************************************************************************

Изменить файлы языков

**************************************************************************

Проделать для всех установленных языков:

 

Скопировать файл из архива

 

lang_reputation.php

 

во все папки существующие в

 

/cache/lang_cache/

 

(пример: /cache/lang_cache/ru/)

 

 

-----------Открыть файл cache/lang_cache/*/lang_topic.php----------------

 

----Найти:----

$lang = array (

----Добавить ПОСЛЕ----

//Simple Reputation System
'reputation' => "Репутация: ",
'plus' => "<img src='style_images/1/r_add.gif' border='0' />",
'minus' => "<img src='style_images/1/r_minus.gif' border='0' />",
'plus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_add1.gif' border='0' />",
'minus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_minus1.gif' border='0' />",
'rep_inc' => "Поднять репутацию",
'rep_dec' => "Опустить репутацию",
'view_rep' => "Просмотреть репутацию",
'change_rep' => "Изменение репутации",

**************************************************************************

 

Проверил, вроде всё работает, ошибок не рисует.

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

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

Поставил этот мод на 2.1.7 и всё бы хорошо, но как всегда что-то вылетает. Просмотр форума работает норм, а вот когда заходишь в любую тему, то вылетает вот такая ошибка:

 

Вот скрин:

 

http://i.piccy.kiev.ua/i/07/6e/ccfae9aa7b9...c75731319fa.gif

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

Ребятки, а ну ткните пальцем где мне почитать или расскажите сами, как сделать:

1. Чтобы репу могли менять ТОЛЬКО модераторы и админ. Пользователи - только просматривать.

2. Чтобы можно было менять не 5 раз а больше.

Заранее благодарен.

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

Поломал немного для функционирования в 2.3.1. Никаких нововведений, только работоспособность.

 

Изменяемые файлы:

 

index.php

/sources/ipsclass.php

/sources/action_public/topics.php

/cache/lang_cache/*/lang_topic.php

 

 

**************************************************************************

Выполнить SQL-запрос в БД С форумом

**************************************************************************

 

ALTER TABLE `ibf_members` ADD `reputation` INT NOT NULL ;

 

CREATE TABLE `ibf_reputation` (

`id` int(11) NOT NULL auto_increment,

`from_user` int(11) NOT NULL default '0',

`to_user` int(11) NOT NULL default '0',

`forum` int(11) NOT NULL default '0',

`topic` int(11) NOT NULL default '0',

`post` int(11) NOT NULL default '0',

`created` int(11) NOT NULL default '0',

`message` text NOT NULL,

`rating` int(11) NOT NULL default '0',

PRIMARY KEY (`id`)

) ;

 

 

 

**************************************************************************

Скопировать папки из данного архива в директорию с форумом (корень форума)

**************************************************************************

 

Рисунки также скопировать во все директории скинов в style_images

 

**************************************************************************

Открыть файл /sources/action_public/topics.php

**************************************************************************

 

----Найти:----

$poster = $this->ipsclass->parse_member( $row, 1, 'skin_topic' );

----Вставить ПЕРЕД:----

$this->ipsclass->c_pid = $row['pid'];

----Удалить:---- (это на совести автора, не разбирался)

$this->cached_members[ $row['author_id'] ] = $poster;

**************************************************************************

Открыть файл /sources/ipsclass.php

**************************************************************************

 

----Найти:----

var $vn_build_reason = '';

----Вставить ПОСЛЕ----

var $c_pid		  = 0;

----Найти:----

		//-----------------------------------------
	// Photo and such
	//-----------------------------------------

	$member = $this->member_set_information( $member );

 

----Вставить ПОСЛЕ----

 

				if($this->input['act'] == 'st' OR $this->input['act'] == 'rep')
			{
					$member['reputation_allow'] = true;
					$this->DB->simple_construct( array( 'select' => 'id, reputation',
																  'from'   => 'members',
																  'where'  => "id=".$member['id']
																)
														 );

					$this->DB->simple_exec();
					if ($this->DB->get_num_rows())
					{
							$row = $this->DB->fetch_row();
							$member['reputation'] = $row['reputation'];
					}

					$member['reputation_text'] = $this->lang['reputation'];
					if($this->member['id'] != $member['id'])
					{
							$member['reputation_minus'] = "<a href='java script:rep_change_window_open(\"{$this->base_url}act=rep&type=win_minus&mid={$member['id']}&p={$this->c_pid}\");' title='{$this->lang['rep_dec']}'>{$this->lang['minus']}</a>";
							$member['reputation_add'] = "<a href='java script:rep_change_window_open(\"{$this->base_url}act=rep&type=win_add&mid={$member['id']}&p={$this->c_pid}\");' title='{$this->lang['rep_inc']}'>{$this->lang['plus']}</a>";
					}
					else
					{
							$member['reputation_minus'] = "{$this->lang['minus_disabled']}";
							$member['reputation_add'] = "{$this->lang['plus_disabled']}";
					}
					$member['reputation_scores'] = "<a href='{$this->base_url}act=rep&type=history&mid={$member['id']}' title='{$this->lang['view_rep']}'>{$member['reputation']}</a>";
			}

 

отредактируйте обязательно: уберите пробел между java и script

 

**************************************************************************

Открыть файл /index.php

**************************************************************************

----Найти:----

				 'component'  => array( 'component'		  , 'component'	, array() ),

----Вставить ПОСЛЕ----

				 'rep'		=> array( 'reputation'		 , 'reputation'   , array() ),

 

 

**************************************************************************

Зайти в Admin CP

**************************************************************************

 

Далее зайти в LOOK & FEEL, выбрать изменяемый шаблон - нажать Edit Template HTML

 

Далее Topic View -> RenderRow

 

----Найти----

				{$author['warn_text']} {$author['warn_minus']}{$author['warn_img']}{$author['warn_add']}

----Добавить ПОСЛЕ----

<if="$author['reputation_allow'] == "true"">
		<script type="text/javascript" src='jscripts/reputation.js'></script>
		<br/> <br/>{$author['reputation_text']}{$author['reputation_minus']}  <b>{$author['reputation_scores']}</b>  {$author['reputation_add']}
</if>

**************************************************************************

Изменить файлы языков

**************************************************************************

Проделать для всех установленных языков:

 

Скопировать файл из архива

 

lang_reputation.php

 

во все папки существующие в

 

/cache/lang_cache/

 

(пример: /cache/lang_cache/ru/)

 

 

-----------Открыть файл cache/lang_cache/*/lang_topic.php----------------

 

----Найти:----

$lang = array (

----Добавить ПОСЛЕ----

//Simple Reputation System
'reputation' => "Репутация: ",
'plus' => "<img src='style_images/1/r_add.gif' border='0' />",
'minus' => "<img src='style_images/1/r_minus.gif' border='0' />",
'plus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_add1.gif' border='0' />",
'minus_disabled' => "<img src='style_images/<#IMG_DIR#>/r_minus1.gif' border='0' />",
'rep_inc' => "Поднять репутацию",
'rep_dec' => "Опустить репутацию",
'view_rep' => "Просмотреть репутацию",
'change_rep' => "Изменение репутации",

**************************************************************************

 

Проверил, вроде всё работает, ошибок не рисует.

Поставил себе, на 2.3.1. вроде все встало,но когда пытаешся изменить репутацию,то пишет. Вам запрещено изменять репутацию.

В чем касяк не подскажите ?

Может файл куда не разместил,но вроде все как описано делал

Спасибо за мод.

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

Ребятки, а ну ткните пальцем где мне почитать или расскажите сами, как сделать:

1. Чтобы репу могли менять ТОЛЬКО модераторы и админ. Пользователи - только просматривать.

1. ./sources/action_public/topics.php:

if($this->ipsclass->input['act'] == 'st' OR $this->ipsclass->input['act'] == 'rep')

заменить на

if( ($this->ipsclass->input['act'] == 'st' OR $this->ipsclass->input['act'] == 'rep') AND ($this->ipsclass->member['g_is_supmod'] OR $this->ipsclass->member['g_is_supmod']))

						$member['reputation_text'] = $this->lang['reputation'];
					if($this->member['id'] != $member['id'])

заменить на

						$member['reputation_text'] = $this->lang['reputation'];
					if($this->ipsclass->member['g_is_supmod'] OR $this->ipsclass->member['g_is_supmod'])

, смогут только супермодеры и админы. Если ставили мод на 2.3.х по инструкции с предыдущей страницы, то это нужно искать в файле ipsclass.php и из всех имён переменных следует убрать ipsclass->.

 

2. ./sources/action_public/reputation.php:

После

				//Cannot change reputation with baaad reputation (rep < -20)
			$member = $this->get_member_by_id($this->ipsclass->member['id']);
			if(intval($member['reputation']) < -20)
			   $this->error_window(5);

добавить

				//Change reputation only from admins
			if( !($this->ipsclass->member['g_is_supmod'] OR $this->ipsclass->member['g_is_supmod']) )
			   $this->error_window(5);

, цифру подбирите какую хотите, она определяет выводимую ошибку.

 

2. Чтобы можно было менять не 5 раз а больше.

Заранее благодарен.

В файле ./sources/action_public/reputation.php: удалите следующее:

				//Cannot vote more than 5 times every 24 hours
			$ctime = time();
			$timezero = $ctime - (24*60*60);

			$this->ipsclass->DB->simple_construct( array( 'select' => 'id',
														  'from'   => 'reputation',
														  'where'  => 'from_user='.$this->ipsclass->member['id'].' AND created > '.$timezero
														)
												 );

			$this->ipsclass->DB->simple_exec();
			if($this->ipsclass->DB->get_num_rows() >= 5)
			   $this->error_window(2);

 

P.S. Используйте это на свой страх и риск, я не проверял, но должно работать :D

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

Поставил себе, на 2.3.1. вроде все встало,но когда пытаешся изменить репутацию,то пишет. Вам запрещено изменять репутацию.

В чем касяк не подскажите ?

Может файл куда не разместил,но вроде все как описано делал

Спасибо за мод.

 

Вообще-то такого сообщения "Вам запрещено изменять репутацию." в lang-файле нет. Скопируйте полный текст сообщения..

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

Чтобы поставить данный мод на 2.3.х, нужно поменять только вышеуказанный код "Поломал немного для функционирования в 2.3.1. Никаких нововведений, только работоспособность." от desti или ещё и тот, что прилагается в инструкции к моду для 2.1.х? В таком случае, файлы указанные для смены в 2.3.1 надо менять только так, как они указаны выше или ещё что-то в них нужно поменять по инструкции к моду?
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Меня тут недавно озадачили вопросом.. а можно чтобы пользователь кому проставили репутацию мог ответить тому в той же репутации? Если честно я лично такого не встречал но говорят так делали.. реально ли это?
Ссылка на комментарий
Поделиться на других сайтах

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

Да есть такие репутации.

Вот на этом форуме стоит такая

http://www.hondamotor.ru/board/

Мод не знаю репутации

И есть 4.6.1 там тоже так можно отписываться

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

  • 2 недели спустя...
Спасибо за мод! А как поставить ограничение, чтоб до того, как у пользователя нет 50 сообщений, он не мог изменять репутацию? В IPB 2.1.7 все в кодах менялось и работало, здесь таких кодов нет. Что менять? Что делать?
Ссылка на комментарий
Поделиться на других сайтах

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


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

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

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