Инвайты на сайте

Количество выдаваемых инвайтов в зависимости от количества приглашенных

#1 3 апреля 2011 в 15:08
Есть интерес организовать выдачу количества инвайтов в зависимости от количества приглашенных пользователей на сайт. Т.е. чем больше пригласил, тем больше инвайтов получи. В идеале — 5-6 разграничений: 5 приглашенных — 2 инвайта в неделю, 20 приглашенных — 3, 50 — 4 и т.д. Каким образом это лучше всего организовать? Вариант кармы и рейтинга отпадают изначально.
Хотя, можно, наверное, поднимать рейтинг, а к нему привязать инвайты… В общем, в таком духе.
Все дело в том, что ведение блогов по плану не предусмотрено, количество выдаваемых инвайтов не должно зависеть от количества сообщений/комментариев. Все должно быть прикреплено к количеству приглашенных пользователей.
#2 3 апреля 2011 в 16:18
Ну как минимум организовать систему рефералов)
#3 3 апреля 2011 в 16:38

Ну как минимум организовать систему рефералов)

Dimitrius
Я так понимаю, что система рефералов относится к открытой регистрации. А я говорю о закрытой, с возможностью пройти регистрацию только по приглашению. Поэтому это предложение, пожалуй, отпадает.
#4 9 апреля 2011 в 17:42
Меняем тактику. Вопрос такой: как организовать выдачу инвайтов только определенной группе пользователей, например администраторам, модераторам и редакторам?
#5 9 апреля 2011 в 20:01
Как мне кажется можно поступить следующим образом:
Открываем components/users/model.php
312 строка

  1. public function giveInvites
В ней правим запрос:

  1. $sql = "SELECT u.id as id,
  2. IFNULL((u.invdate < DATE_SUB(NOW(), INTERVAL 1 {$sql_period})) OR u.invdate is NULL, 0) as is_time,
  3. IFNULL(SUM(k.points), 0) as karma
  4. FROM cms_users u
  5. LEFT JOIN cms_user_karma k ON k.user_id = u.id
  6. WHERE u.group_id = '1' or u.group_id = '2'
  7. GROUP BY u.id
  8. ";
group_id '1' исправьте на свои идэ груп. При необходимости добавте еще например or u.group_id = '3'
#6 9 апреля 2011 в 20:28
ессссссссссс, боссссссссссссс
работает как часики!!!
#7 9 апреля 2011 в 20:35
Рад, что смог помочь)
#8 9 апреля 2011 в 20:40
Dimitrius, благодарствую
#9 9 апреля 2011 в 22:27
более компактная запись вот этой строчки в запросе:
  1.  
  2. WHERE u.group_id = '1' or u.group_id = '2'
  3.  
выглядит так;
  1.  
  2. WHERE u.group_id IN (1,2)
  3.  
через запятую в скобках можно указать любое количество айдишников групп
#10 9 апреля 2011 в 22:53
Спасибо)
#11 10 апреля 2011 в 00:45

более компактная запись вот этой строчки в запросе:

Администратор
более того, решение, указанное Администратором, будет работать гораздо быстрее.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.