Количество инвайтов

Как увеличить первоначальное значение количества инвайтов для обычных юзеров?

26 комментариев

avatar
Ага мне тоже интересно как в новой версии ЛС работать с инвайтами!
avatar
<code>public function GetCountInviteAvailable(UserEntity_User $oUserFrom) {
		$sDay=7;
		$iCountUsed=$this->GetCountInviteUsedByDate($oUserFrom->getId(),date("Y-m-d 00:00:00",mktime(0,0,0,date("m"),date("d")-$sDay,date("Y"))));
		$iCountAllAvailable=round($oUserFrom->getRating()+$oUserFrom->getSkill());
		$iCountAllAvailable = $iCountAllAvailable<0 ? 0 : $iCountAllAvailable;
		$iCountAvailable=$iCountAllAvailable-$iCountUsed;
		$iCountAvailable = $iCountAvailable<0 ? 0 : $iCountAvailable;
		return $iCountAvailable;
	}</code>

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

Особо не заморачиваясь, можно просто прописать «$iCountAvailable = 100;» перед «return $iCountAvailable;», тогда у пользователя всегда будет 100 инвайтов и тратиться они не будут, но пропадёт тот самый элемент социальности в котором, собственно, и есть вся фишка этого замечательного скрипта.
avatar
Совсем забыл, функция находится в файле «classes\modules\user\User.class.php»
avatar
нее лучше сделать привязку к карме, тогда было бы очень круто!
Где на эту тему можно how-to достать?
avatar
Привязку к кареме? Не совсем понял. Сейчас количество инвайтов зависит от «рейтинга» (аналог «кармы» на хабре) и силы. Чем оба эти показателя выше, тем больше у юзера инвайтов. Вы хотите предложить что-то другое?
avatar
нет нет, я хочу включить эту функцию, где она включается, я найти просто не могу и как она работает?
Допустим у юзера карма = 1 то соклько это инвайтов?
Они даются один раз или могут выдаваться раз в неделю?

а если у юзера карма = 2 то как тогда?
Какой алгоритм?
avatar
Она включена по умолчанию и отключение её без правки кода не предусмотрено. Вот строчка непосредственно считающая количество инвайтов:
<code>$iCountAllAvailable=round($oUserFrom->getRating()+$oUserFrom->getSkill());</code>


Количество инвайтов= Округляем до целого (рейтинг+сила).
Например, имеем рейтинг 5.1 и силу 1.1, получаем 6 инвайтов, или 1.1 рейтинг, 0.4 сила, получаем 2 инвайта.
avatar
Более правильная формула — инвайты=(округляем(рейтинг+сила)-количство исользованных инвайтов).
avatar
Кул, сейчас попробую врубить!
avatar
Да ничего врубать не нужно, всё включено по умолчанию. Я просто наглядно показал где, что и как работает, чтобы у народа не возникало вопросов в дальнейшем.
avatar
Значит мне нужно подправить формулу на
инвайты=((округляем(рейтинг+сила)-количство исользованных инвайтов)*2)

Спасибо!
avatar
Если текущая форма подсчёта Вас не устраивает, инвайтов Вам не хватает, но вы не хотите делать их бесконечными, можно заменить строку
<code>$iCountAllAvailable=round($oUserFrom->getRating()+$oUserFrom->getSkill());</code>
на

<code>$iCountAllAvailable=round($oUserFrom->getRating()+$oUserFrom->getSkill())*2;</code>
в файле «classes\modules\user\User.class.php», где *2 умножает количество инвайтов, считающихся по формуле рейтинг+сила, вдвое. Соотственно, цифру 2 можно заменить на любую другую.
avatar
Даже кнопка обновления не спасает от одинаковых мыслей ))
avatar
надо бы все таки сделать возможность админу назначать кол-во инвайтов конкретным юзерам…
avatar
Думаю, ЛС не для Вас, попробуйте найти другой движок.
avatar
спасибо за заботу, я как-нибудь сам разберусь.
avatar
был бы тоже признателен за эту футкцию :/
avatar
А не подскажете как вообще убрать функцию раздачи инвайтов пользователям?
Т.Е. 1) Регистрация закрытая 2) инвайты только админ раздает и все 3) Голосование и т.д. (карму силу) оставить надо.
avatar
1. Скажите, как сделать, чтобы инванты уже начислялись за меньший рейтинг и силу?

2. Этот код:
public function GetCountInviteAvailable(UserEntity_User $oUserFrom) {
		$sDay=7;

Цифра 7 означает время, сколько «живет» каждый инвант, т.е., если его через 7 дней не отправить он исчезает или что?
avatar
Задача следующая. Надо, чтобы в проекте регистрация была стандартная открытая. Но при этом необходимо, чтобы работал функционал инвайтов для приглашения новых пользователей на сайт. Инвайты нужны для раскрутки проекта, чтобы каждый юзер мог пригласить своих друзей. Закрыть регистрацию и делать её только по инвайтам не хочется, так как это противоречит философии проекта. Что нужно сделать, чтобы активировать механизм инвайтов и при этом оставить открытой обычную регистрацию?
avatar
ну лепра-то живет ))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.