1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Веб [DLE][FIX] Реферальная система

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Kela-4D, 13 сен 2015.

  1. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    Оригинал тема > ТЫК
    Привет РБ.
    Понадобилась рефералка, решил сам слепить. С кусков. Вот решил пофиксить рефералку от @Qixiw .
    Для её установки надо отредактировать 4 файла:
    1. index.php - в корне сайта
    2. register.php - в /engine/modules/
    3. profile.php - в /engine/modules/
    4. userinfo.tpl - в шаблонах
    И так, начнём !
    Открываем index.php и ищем строчку
    PHP:
    $tpl->load_template 'main.tpl' );
    Под ней пишем:
    PHP:
    if((isset($_GET['ref'])) && (!isset($_COOKIE['ref_id'])))
    setcookie("ref_id",$_GET['ref'],time()+3600);
    Мы отредактировали index.php, сохраняем и закрываем.
    Далее открываем register.php и ищем примерно такую строчку:
    PHP:
    $db->query"INSERT INTO " USERPREFIX "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" $config['reg_group'] . "', '', '', '', '', '" $_IP "')" );
    Заменяем её на такую
    PHP:
    if(isset($_COOKIE['ref_id'])){
                    
    $db->query"INSERT INTO " USERPREFIX "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, reffer_id) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" $config['reg_group'] . "', '', '', '', '', '" $_IP "','".$db->safesql($_COOKIE['ref_id'])."')" );
                    
    $db->query"UPDATE " USERPREFIX "_users SET money=money +20 WHERE user_id='".$db->safesql($_COOKIE['ref_id'])."'");
                }else{
                    
    $db->query"INSERT INTO " USERPREFIX "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" $config['reg_group'] . "', '', '', '', '', '" $_IP "')" );
                }
    Здесь же Находим
    PHP:
    $_REQUEST['id'] = htmlspecialchars$_REQUEST['id'], ENT_QUOTES$config['charset'] );
    Вставляем ниже
    PHP:
    setcookie("ref_id"""1);
    Тут закончили и рассмотрим эту строчку
    PHP:
    $db->query"UPDATE " USERPREFIX "_users SET money=money +20 WHERE user_id='".$db->safesql($_COOKIE['ref_id'])."'");
    Эта строчка отвечает за подарок игроку, который пригласил нового игрока. (В моём случае ему даётся 20 рублей.)
    С редактированием мы закончили, осталось добавить 1 колоночку где будут хранится реферальные иды.
    Отправляем sql запрос
    PHP:
    ALTER TABLE `dle_usersADD `reffer_idINT11 NOT NULL DEFAULT '0'
    Теперь игрок сможет приглашать людей на проект по ссылке
    http://site.ru/?ref={тут_его_ид}
    Теперь сделаем вывод такой ссылки в профиле игрока и вывод всех приглашённых игроков.
    Открываем profile.php и ищем такую строчку:
    PHP:
    $tpl->set'{usertitle}'stripslashes$row['name'] ) );
    ниже добавляем такую:
    PHP:
    $tpl->set'{userid}'stripslashes$row['user_id'] ) );
    Сохраняем, закрываем. Теперь в шаблоне профиля (userinfo.tpl) вы можете добавить реферальную ссылку http://site.ru/?ref={userid}
    Так же ниже я прикреплю скрипт для вывода всех приглашённых игроков. Его так же иклюдем в userinfo.tpl
    PHP:
    {include file="путь до скритпа/reffer.php"}
    Ссылка на скрипт - RGhost
     
    Последнее редактирование: 13 сен 2015
  2. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Хахаха... Как ты смог пофиксить рабочий оригинальный скрипт?
     
  3. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    Лично у меня не работал.
    И у некоторых людей тоже.
    Читай тему!
     
  4. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Криворукие, я понял
     
  5. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    ясно
     
  6. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    В чём же заключается фикс ?
     
  7. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    В 2-3 строчках. Суть такая что автор с момента обращения к нему не помог!
     
  8. TetrissWorld

    TetrissWorld Активный участник Пользователь

    Баллы:
    76
    Skype:
    qazwsx200221
    Имя в Minecraft:
    Tetriss
  9. Etro

    Etro Активный участник Пользователь

    Баллы:
    78
    Лучше бы кто-нибудь привязал к плагину PlayTime, чтобы игроки не регали кучу акков и тырили ресурсы/валюту на халяву...
    А то перепишут три строчки, а смысла 0...
     
  10. vedmakMineLife

    vedmakMineLife Старожил Пользователь

    Баллы:
    103
    Skype:
    vedmak.vl
    Имя в Minecraft:
    vedmak
    Мусор если честно.:coffee:
     
  11. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    У меня была такая :D
     
  12. Etro

    Etro Активный участник Пользователь

    Баллы:
    78
    Я в курсе, но ты же делиться явно не собираешься...
     
  13. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    У меня своя тоже, работает так что после 3 часов выдает бонус рефералу!
     
  14. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    У меня под другой движок было. Могу дописать данную систему за плату
     
  15. lexa_kiker

    lexa_kiker Старожил Пользователь

    Баллы:
    123
    Skype:
    lexa_kiker
    омно, система :bad:
    кому нужно могу сделать
     
  16. Etro

    Etro Активный участник Пользователь

    Баллы:
    78
    Делай с привязкой к плагину, от меня низкий поклон :D
     
  17. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
  18. LORD_09_RUS

    LORD_09_RUS Активный участник Пользователь Заблокирован

    Баллы:
    76
    Имя в Minecraft:
    Edward007
    Эта реф.система фигня. (Я не могу написать лучше)
    Но, но просто ctrl+shift+n нажимаешь и регистрируешь сколько хочешь акков. (Проверено)
    ctrl+shift+n - режим инкогнито
     
  19. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    Молодец. Это простая паб система.
    Для защиты:
    1)Регистрация по email(Запретить 10минутные email)
    2)Сделать подтверждение + выдачу поощрения за отыгранные % часов!, с помощью PlayTime.(Давно реализовано в паб не скину).
     
  20. book777

    book777 Старожил Пользователь

    Баллы:
    123
    Совершенно случайно наткнулся на коммент под постом Солевая-3 в МДК. @Kela-4D, это ведь ты?
     

Поделиться этой страницей