Баги по репутации - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

репутация

Страница 1 из 1

Баги по репутации

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 14 Октябрь 2013 - 02:42

- - -

Поставлен мод который даёт возможность к репутации добавлять комментарии. Всё хорошо но есть один баг - если в коммент добавить знак вопроса, то после него обрезается весь текст (если текст идёт русскими символами).
Вот текст хука - http://imtw.ru/uploa...refunctions.txt
Может в этом причина?
Spoiler


- - -

Как сделать реализацию что бы список репутации начинался с новых.
Вот скрин:
-IMG-
То есть что бы самая новая оценка была сверху а не снизу.

- - -

Стоит приложение История Репутации. Но на странице её почему то страниц листалок намного больше чем самих оценок. Как убрать пустые страницы?
Вот скрин:
-IMG-

- - -

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

- - -

Буду рад помощи по исправлению хотя бы одного бага. Заранее спасибо.
0

#2 Пользователь не на сайте   Bot ответил: »

 
 
  • Почетный робот
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
 

Отправлено 14 Октябрь 2013 - 02:42

Обратите внимание

По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них.


0

#3 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 14 Октябрь 2013 - 12:11

1. Дело скорее всего в этом $message = IPSText::truncate( $message, 199 );
Хотя для "этого" есть более нормальный вариант декодирования

	public function unicode_escape($str)
	{
		$str = preg_replace_callback( '/%u([0-9a-f]{4})/i',  array( $this, 'entity_decode' ), $str );
		return $str;
	}
	
	public function entity_decode( $m )
	{
		$m = is_array($m) ? $m[1] : $m;
		return html_entity_decode( '&#'.hexdec( $m ).';', null, 'utf-8' );
	}


2. Изменить сортировку в sql запросе. По умолчанию это admin\applications\core\modules_public\ajax\reputation.php, _viewRep(). Если у хука есть файл который его перегружает, то нужно править его.
'order' => 'rep_date DESC',

3. Какой-то счетчик не правильно работает, либо не правильно считается общее количество репутации. Отсюда и пустые листы

4. Автор не учел блоги, а все записи считает за репутацию сообщений. Это может быть причиной и бага в третьем пункте.
1

#4 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 15 Октябрь 2013 - 00:48

Просмотреть сообщениеsiv1987 сказал(а):

1. Дело скорее всего в этом $message = IPSText::truncate( $message, 199 );

Удалил. Не помогает. Значит не в ней.

Просмотреть сообщениеsiv1987 сказал(а):

Хотя для "этого" есть более нормальный вариант декодирования

Поставил. Проблема знака вопроса так и осталась :(

- - -

Просмотреть сообщениеsiv1987 сказал(а):

2. Изменить сортировку в sql запросе. По умолчанию это admin\applications\core\modules_public\ajax\reputation.php, _viewRep(). Если у хука есть файл который его перегружает, то нужно править его.
'order' => 'rep_date DESC',

Спасибо. Нужно было в файле хука ah30ReputationClassPopupOverload.php поменять 'rep_date', на 'rep_date DESC',

- - -

Кстати. А не подскажите как в файле хука ( http://imtw.ru/uploa...refunctions.txt ) добавить условие что бы в комментариях срабатывал фильтр на нецензурные слова?

- - -

Просмотреть сообщениеsiv1987 сказал(а):

3. Какой-то счетчик не правильно работает, либо не правильно считается общее количество репутации. Отсюда и пустые листы

Причина по моему ясна - он считает общее кол-во оценок репутации, в том числе и с удалённых сообщений. Но как указать ему что бы он не считал репу та которая была в удалённых сообщениях?

- - -

Просмотреть сообщениеsiv1987 сказал(а):

4. Автор не учел блоги, а все записи считает за репутацию сообщений. Это может быть причиной и бага в третьем пункте.

Да. Вот в файле нет и намёка на блоги - http://imtw.ru/uploa...tionhistory.txt
Как указать что существуют и репутация в блогах?
0

#5 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 289
  • Регистрация: 20-Март 09
  • Репутация: 2 087
  • IPB version:3.1.x
 

Отправлено 15 Октябрь 2013 - 02:01

Просмотреть сообщениеHaktar сказал(а):

Поставил. Проблема знака вопроса так и осталась

Тогда нужно дебажить.

Просмотреть сообщениеHaktar сказал(а):

Причина по моему ясна - он считает общее кол-во оценок репутации, в том числе и с удалённых сообщений. Но как указать ему что бы он не считал репу та которая была в удалённых сообщениях?

По сути никак. Костыли с джоином таблицы постов не подойдет, так как в таком случае не будет репутации из других приложений. Если она все равно не нужна, то вместо

        $this->DB->build( array(
                                        'select'    => 'COUNT(type_id) as max',
                                        'from'      => 'reputation_index',
                                )       );
        $this->DB->execute();
        
        $total_possible = $this->DB->fetch();

поставить такой sql запрос

		$total_possible = $this->DB->buildAndFetch(array(
			'select'   => 'COUNT(*) as max',
			'from'     => array('reputation_index' => 'ri'),
			'add_join' => array(
				array(
					'from'  => array( 'posts' => 'p' ),
					'where' => 'ri.app="forums" AND ri.type="pid" AND ri.type_id=p.pid',
					'type'  => 'inner',
				),
			),
		));


И ниже 'p.pid=ri.type_id' заменить на 'ri.app="forums" AND ri.type="pid" AND ri.type_id=p.pid'
1

#6 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 611
  • Регистрация: 14-Июнь 09
  • Репутация: 14
  • IPB version:3.1.x
 

Отправлено 15 Октябрь 2013 - 04:23

Просмотреть сообщениеsiv1987 сказал(а):

Тогда нужно дебажить.

Подскажите как это сделать.

Просмотреть сообщениеsiv1987 сказал(а):

По сути никак. Костыли с джоином таблицы постов не подойдет, так как в таком случае не будет репутации из других приложений. Если она все равно не нужна, то вместо

Ура - помогли! И репутация с приложений туда не попадает.

Но хотелось бы что бы там ещё и репутация с приложений (блоги и туториалы) попадала. Она у юзера отображается и засчитывается, но как её на список вывести?
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна