форум vBSupport.ru > vBSupport.ru > Гурушник > Luvilla
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Luvilla
Гость
Default Reputation Power Limit - Ограничение веса репутации

Описание: Позволяет выставить каждой группе максимальный вес репутации. То есть, сколько баллов пользователь данной группы добавляет одним отзывом. Соответственно, отрицательный отзыв = половина от указанной в настройках цифры. Больше, чем указано в настройках, пользователь группы прибавить не может. При этом если открыть профиль пользователя на редактирование, там будет указан реальный вес репутации, который форум высчитывает, исходя из настроек репутации.

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

Оффтоп

Автор: Baron Bela

Установка: Хак модифицирует таблицы. Поэтому перед установкой настоятельно рекомендую сделать бэкап - на всякий случай. И ещё момент
Тестировалось на 3.8.2 и 3.8.3

Импортировать продукт через админку.
Для каждой группы установить максимальное значение веса репутации. Хак добавляет пункт в "Права репутации пользователей" в настройках групп. По умолчанию стоит 100. Если у вас есть вес репы больше, чем это значение, и вы не хотите юзеров этой группы ограничивать.. ну, добавьте там ещё пару ноликов
Ноль - это нулевой вес, а не "те же самые правила как и все остальные", как это часто бывает в вобле.

Русских букв нет, поэтому кодировка не имеет значения.
Attached Thumbnails
Clipboard96.jpg  
Attached Files
File Type: xml product-groups_reputation_power.xml (2.1 KB, 33 views)
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Дьявол
Знаток
 
Дьявол's Avatar
Default
0

А это нужная вещь на многих крупных форумах. Я писал одному человеку подобный хак, только более расширенный, так потом не мало людей хотели его купить.
 
 
Yoskaldyr
Специалист
Default
1

Luvilla, Судя по логике прав булки должно браться не из настроек основной группы, а итоговое значение прав для основной группы. Т.е. если в свойствах основной группы будет стоять настройка что права данной группы можно расширять доп.группами, то посчитается максимальное значение этой настройки из всех групп, в которых состоит пользователь.
Система прав булки работает по схеме расширения прав, а не ограничения, и по умолчанию для всех целочисленных прав берется максимальное значение из возможных (если проверяется несколько групп)
Но т.к. не прописан xml файл для bitfields то это нормально не работает в этом хаке
т.е. нужно добавить файл с названием что-то типа bitfield_groups_reputation_power.xml с приблизительно таким содержанием:
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bitfields product="groups_reputation_power">
        <bitfielddefs>
                <group name="ugp">
                        <group name="genericpermissions">
                                <bitfield name="reputation_power_limit" intperm="true" group="user_reputation_permissions"  phrase="reputation_power_limit">100</bitfield>
                        </group>
                </group>
        </bitfielddefs>
</bitfields>
и тогда модуль "Add form field" в admin_usergroup_edit не нужен будет и по идее должны отрабатывать итоговые настройки группы для целочисленной настройки (т.е. максимальное значение из всех групп в которых состоит пользователь, но только если основная группа расширяемая). Т.е. система прав vb заработает в полном объеме и не надо будет править код - разве что отключить один модуль.

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

Quote:
Originally Posted by Luvilla View Post
когда при сохранении настроек все настройки группы просто инвертировались
это могло быть из-за того что нет xml файла, в некоторых частях кода булка просто не знает что это целочисленное значение и соответственно работает как с битовой маской (по умолчанию)

Last edited by Yoskaldyr : 09-28-2009 at 10:24 PM.
 
 
Luvilla
Гость
Default

Yoskaldyr, угу, спасибо за замечание. Просто лично мне так проще - глянула, какая основная группа у юзера, и голову себе больше не ломаю, что там у него с весом репы.
 
 
Yoskaldyr
Специалист
Default
0

Luvilla, В принципе так и будет, если во всех доп группах значение репы меньше основной.
Но типичный пример - есть основная группа - Зарегистрированные с лимитом силы репы в 50, и все повышения и расширения прав на форуме делаются за счет дополнительных групп, тогда права основной группы не показатель уже. Поэтому всетаки лучше следовать стандарту и пусть админ форума сам решает какие права как и у какой группы выставлять.
 
 
mastah
Знаток
 
mastah's Avatar
Default
0

Yoskaldyr, поддерживаю

повышения и ограничения обычно именно доп группами же. основаная на крупных форумах как раз вообще не показатель
 
 
Yoskaldyr
Специалист
Default
0

Оффтоп
 

Tags
вес репутации, репутация


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 05:34 AM.


Powered by vBulletin® Version PreModed
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...