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

17
Как увеличить первоначальное значение количества инвайтов для обычных юзеров?
  • +4
  • 18 января 2009, 01:18
  • strog

Комментарии (26)

RSS свернуть / развернуть
Ага мне тоже интересно как в новой версии ЛС работать с инвайтами!
0
<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 инвайтов и тратиться они не будут, но пропадёт тот самый элемент социальности в котором, собственно, и есть вся фишка этого замечательного скрипта.
+2
Совсем забыл, функция находится в файле «classes\modules\user\User.class.php»
+2
нее лучше сделать привязку к карме, тогда было бы очень круто!
Где на эту тему можно how-to достать?
-1
Привязку к кареме? Не совсем понял. Сейчас количество инвайтов зависит от «рейтинга» (аналог «кармы» на хабре) и силы. Чем оба эти показателя выше, тем больше у юзера инвайтов. Вы хотите предложить что-то другое?
0
нет нет, я хочу включить эту функцию, где она включается, я найти просто не могу и как она работает?
Допустим у юзера карма = 1 то соклько это инвайтов?
Они даются один раз или могут выдаваться раз в неделю?

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


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

Спасибо!
+1
Если текущая форма подсчёта Вас не устраивает, инвайтов Вам не хватает, но вы не хотите делать их бесконечными, можно заменить строку
<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 можно заменить на любую другую.
+3
Даже кнопка обновления не спасает от одинаковых мыслей ))
0
надо бы все таки сделать возможность админу назначать кол-во инвайтов конкретным юзерам…
-2
Думаю, ЛС не для Вас, попробуйте найти другой движок.
+2
спасибо за заботу, я как-нибудь сам разберусь.
-2
был бы тоже признателен за эту футкцию :/
0
А не подскажете как вообще убрать функцию раздачи инвайтов пользователям?
Т.Е. 1) Регистрация закрытая 2) инвайты только админ раздает и все 3) Голосование и т.д. (карму силу) оставить надо.
0
1. Скажите, как сделать, чтобы инванты уже начислялись за меньший рейтинг и силу?

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

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