Фикс для отключение репутации - Дизайн и модификация Invision Power Board

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

 

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

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

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

репутация

  • 2 Страниц +
  • 1
  • 2

Фикс для отключение репутации

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

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

Отправлено 09 Февраль 2014 - 20:33

Вот всё таки в админке не хватает одного функционала - отключение возможности пользоваться репутацией определённому пользователю.

Можно ли написать небольшой фикс для такого?

Форум - 3.1.4
0

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

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

Отправлено 09 Февраль 2014 - 23:22

Давно для себя хотел написать такую функцию, даже собрался, изучил код, а потом как-то все запустил.

Открыть /admin/applications/members/skin_cp/cp_skin_member.php
Найти
$form_reputation_points		= ipsRegistry::getClass('output')->formInput( 'pp_reputation_points', $member['pp_reputation_points'] );

Ниже добавить
$form_reputation_off		= ipsRegistry::getClass('output')->formYesNo( "reputation_off", intval($member['_cache']['reputation_off']) );


Найти
					<tr>
						<td><strong>{$this->lang->words['frm_no_status']}</strong></td>
						<td>
							<span id='MF__frm_no_status'>{$bw_no_status_update}</span>
						</td>
					</tr>

Ниже добавить
					<tr>
						<td><strong>Disable reputation?</strong></td>
						<td>
							<span id='MF__reputation_off'>{$form_reputation_off}</span>
						</td>
					</tr>


Открыть /admin/applications/members/modules_admin/members/members.php
Найти
'show_notification_popup' => intval($this->request['show_notification_popup'])

Заменить на
'show_notification_popup' => intval($this->request['show_notification_popup']), 'reputation_off' => intval($this->request['reputation_off']) 


Открыть /admin/sources/classes/class_reputation_cache.php
Найти
		/* Online? */
		if( ! $this->rep_system_on )
		{
			$this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_offline'];
			return false;
		}

Ниже добавить
		$_cache = ipsRegistry::member()->getProperty('_cache');
		
		if( $_cache['reputation_off'] )
		{
			$this->error_message = ipsRegistry::instance()->getClass( 'class_localization' )->words['reputation_offline'];
			return false;
		}


Админцентр -> Пользователи -> %Пользователь% -> Профиль -> Disable reputation?
Возможный минус - настройка прикреплена к кешу пользователя, если кеш каким-то образом очистится, настройка слетит.
1

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

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

Отправлено 10 Февраль 2014 - 00:53

Всё работает отлично, дело в моде улучшенной репутации (который добавляет комментарии). Как бы пофиксить?
0

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

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

Отправлено 10 Февраль 2014 - 00:55

В файл хука ah30ReputationCoreFunctions.php сейчас попробую добавить инфу
0

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

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

Отправлено 10 Февраль 2014 - 00:58

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

В файл хука ah30ReputationCoreFunctions.php сейчас попробую добавить инфу

Добавил. Работает.

Большое спасибо за нужный функционал.
0

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

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

Отправлено 10 Февраль 2014 - 01:01

Если это файл из папки /hooks/ то нужно проверить в бд чтобы небыло кеша (core_hooks_files -> hooks_source), иначе изменения слетят.
0

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

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

Отправлено 10 Февраль 2014 - 01:12

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

Если это файл из папки /hooks/ то нужно проверить в бд чтобы небыло кеша (core_hooks_files -> hook_sources), иначе изменения слетят.

Перестроил весь кеш - изменения сохранились.
0

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

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 684
  • Регистрация: 15-Октябрь 11
  • Репутация: 197
  • Откуда:Россия, Тула
  • IPB version:I have no IPB
 

Отправлено 10 Февраль 2014 - 11:47

Просмотреть сообщениеHaktar 10 Февраль 2014 - 01:12 сказал(а):

Перестроил весь кеш - изменения сохранились.

Изменения файла из папки /hooks слетят когда вы попрбуете переимпортировать все хуки. Но этой возможностью пользоваться не рекомендуется вообще, лучше переустанавливать при нужде.
1

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

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

Отправлено 10 Февраль 2014 - 11:50

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

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

Никогда таким не занимался. Довольно стрёмное дело.

P.S. Можно маленький фикс? Позволить модераторам (супермодераторам) через панель профиля отключать репутацию у пользователей?
0

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

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

Отправлено 03 Март 2019 - 15:35

Есть вопрос опять по репутации, но думаю новая тема для этого не нужна, решил написать в этой.

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

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

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

Отправлено 03 Март 2019 - 16:00

Но у пользователя же все равно нулевая репутация, что там показывать? По простому никак, нужно делать запрос в бд.
Сумма баллов репутации находится в таблицы пользователя pp_reputation_points, а кто голосовал в другой таблице.
0

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

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

Отправлено 03 Март 2019 - 16:10

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

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

Засада. А ради такой мелочи делать лишние запросы к БД тоже не вариант.
0

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

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

Отправлено 03 Март 2019 - 16:16

Да и не получится скорее всего, потому что там находится только ид пользователя кто голосовал. Кому нужно джонить с другими таблицами.
0

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

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

Отправлено 03 Март 2019 - 16:43

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

потому что там находится только ид пользователя кто голосовал

А если указать в условии что если в сообщение есть кто голосовал, то тогда появляется?

То есть сделать два условия. Примерно так:
<if test="Условие указывающее что в сообщение есть голоса">

<if test="hasNoRep:|:$post['post']['rep_points'] == 0">
<span class='reputation zero rep_show{parse variable="repClickable"}' {parse variable="canViewRep"}>{parse replacement="repapostpoints"} {$post['post']['rep_points']}
</if>

</if>
0

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

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

Отправлено 03 Март 2019 - 17:27

Что-то я немного запутался. Конечно, если речь о репутации сообщения тогда такие данные кто голосовал там имеются. Но только не в вашей версии IPB 3.1, там опять немного другая структура.
Хотя можно добавить новую переменную в коде с условием если запись в таблице есть, значит репутция у этого сообщения имеется.

Открыть \admin\applications\forums\modules_public\forums\topics.php

Найти
			/* Reputation */
			if( $this->settings['reputation_enabled'] )
			{

Ниже добавить

				$row['has_rep']              = isset( $row['rep_points'] );


В шаблоне использовать $post['post']['has_rep']. True если сообщение имеет репутацию.
1

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


  • 2 Страниц +
  • 1
  • 2


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

  

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-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна