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

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

 
Посетитель
small user social cms
Сообщений: 16
Есть интерес организовать выдачу количества инвайтов в зависимости от количества приглашенных пользователей на сайт. Т.е. чем больше пригласил, тем больше инвайтов получи. В идеале - 5-6 разграничений: 5 приглашенных - 2 инвайта в неделю, 20 приглашенных - 3, 50 - 4 и т.д. Каким образом это лучше всего организовать? Вариант кармы и рейтинга отпадают изначально.
Хотя, можно, наверное, поднимать рейтинг, а к нему привязать инвайты... В общем, в таком духе.
Все дело в том, что ведение блогов по плану не предусмотрено, количество выдаваемых инвайтов не должно зависеть от количества сообщений/комментариев. Все должно быть прикреплено к количеству приглашенных пользователей.
Редактировалось: 1 раз (Последний: 3 апреля 2011 в 15:53)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
Ну как минимум организовать систему рефералов)
Реклама
cms
Посетитель
small user social cms
Сообщений: 16
Dimitrius:
Ну как минимум организовать систему рефералов)
Я так понимаю, что система рефералов относится к открытой регистрации. А я говорю о закрытой, с возможностью пройти регистрацию только по приглашению. Поэтому это предложение, пожалуй, отпадает.
Редактировалось: 1 раз (Последний: 3 апреля 2011 в 16:38)
Посетитель
small user social cms
Сообщений: 16
Меняем тактику. Вопрос такой: как организовать выдачу инвайтов только определенной группе пользователей, например администраторам, модераторам и редакторам?
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
Как мне кажется можно поступить следующим образом:
Открываем components/users/model.php
312 строка

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

Код PHP:
  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'
Редактировалось: 1 раз (Последний: 9 апреля 2011 в 20:02)
Посетитель
small user social cms
Сообщений: 16
ессссссссссс, боссссссссссссс
работает как часики!!!!!!!!!!
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
Рад, что смог помочь)
Посетитель
small user social cms
Сообщений: 16
Dimitrius, благодарствую
InstantCMS Team
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1176
более компактная запись вот этой строчки в запросе:
Код PHP:
  1.  
  2. WHERE u.group_id = '1' or u.group_id = '2'
  3.  
выглядит так;
Код PHP:
  1.  
  2. WHERE u.group_id IN (1,2)
  3.  
через запятую в скобках можно указать любое количество айдишников групп
Вопросы и ответы
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
Спасибо)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4359
Администратор:
более компактная запись вот этой строчки в запросе:
более того, решение, указанное Администратором, будет работать гораздо быстрее.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.