Запрет изменения репутации пользователям - Дизайн и модификация Invision Power Board

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

 

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

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

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

репутация

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

Запрет изменения репутации пользователям Запрет изменения репутации пользователям, если репутация < n балло

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 06 Февраль 2013 - 00:54

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

По идеи хотел прописать условие в ячейки таблицы с + и - к репутации в repButtons, если репутация ниже n баллов, то происходила замена ссылки на изменение, на другую картинку...

Прописываю в repButtons -

<div <if test="$member['pp_reputation_points'] < -10">{parse replacement="rep_up_all_off"}</if>
<div <if test="$member['pp_reputation_points'] < -10">style="visibility:hidden;</if>">


И получается что pp_reputation_points выводит/подтягивает общую репутацию автора ответа/темы, а не авторизованного пользователя, т.е. условие некорректно.
0

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

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

Отправлено 06 Февраль 2013 - 01:18

У текущего пользователя (авторизованного или нет) всегда "супер массив" $this->memberData
$this->memberData['pp_reputation_points']

В шаблоне это конечно хорошо, но вы понимаете что кулхацкер свободно сможет отправить запрос в обход спрятанной кнопки. На самом деле это можно сделать проще http://ipbskins.ru/f...html#entry66741, вместо $this->memberData['posts'] - $this->memberData['pp_reputation_points']. Ну и да.. Проверить что именно минусует можно при помощи переменной $rating - минус < 0, плюс > 0
1

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 06 Февраль 2013 - 01:24

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

1. Открыть файл admin/sources/classes/class_reputation_cache.php
2. Найти функцию addRate:

public function addRate( $type, $type_id, $rating, $message='', $member_id=0, $app='' )


3. Добавить в нее

if( $this->memberData['posts'] < 10 )
{
$this->error_message = 'Сообщение';
return false;
}


Хотел поэлегантней сделать, чтобы вместо обычных значков изменения репутации появлялись блеклые, если недопустимый балл репутации...
0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 06 Февраль 2013 - 01:30

С другой стороны, эти два способа можно и совместить...
0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 06 Февраль 2013 - 01:50

Я так понимаю, что запрос сделан неверно... не выполняется условие <if test="$this->memberData['pp_reputation_points']<-5">

    <td style="border-right:1px solid #fff;">
    <div <if test="$this->memberData['pp_reputation_points']<-5">{parse replacement="rep_up_all_off"}</if>
    <div <if test="$this->memberData['pp_reputation_points']<-5">style="visibility:hidden;"</if>>
    
<if test="canGiveRep:|:IPSMember::canGiveRep( $data, $member ) !== false">	
<div class="ipsList_inline" <if test="giveRepUp:|:IPSMember::canRepUp( $data, $member ) === false">style="display:none"</if>>		
						    <a href='{$this->settings['base_url']}app=core&amp;module=global&amp;section=reputation&amp;do=add_rating&amp;app_rate={$data['app']}&amp;type={$data['type']}&amp;type_id={$data['primaryId']}&amp;rating=1&amp;secure_key={$this->member->form_hash}&amp;post_return={$data['primaryId']}' class='rep_up' title='{$this->lang->words['reputation_up']}'>{parse replacement="rep_up_all"}</a></div>
                            </if></div></div>
                            </td>


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