Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [DLE+CRON]Реферальная система с выдачей бонуса при достижении 100 минут игры

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем ZONCCK, 11 фев 2016.

  1. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    Всем привет! Нигде не нашел подобный гайд, решил написать свой =).
    НУЖЕН CRON!
    Так, что это вообще такое? Объясню: Допустим, есть игрок, которому оч понравился ваш проект. Он решил позвать друзей. Он кидает другу свою реферальную ссылку, тот по ней регистрируется и идет играть на сервер. Когда второй отыгрывает 100 минут, первому(тот, кто пригласил) начисляется бонус в виде 2500 Iconomy монет(настраивается в refcron.php). А теперь, приступим к установке:
    Итак, первое, что нам нужно, это установить плагин Playtime. Он служит для записи отыгранных минут на сервере(ах) в базу данных. ССЫЛКА
    Далее нам нужно залить php скрипт на свой сайт. Желательно в корень, чтобы ссылка была не очень длинной. Он отвечает за создание cookie в котором будет храниться имя реферала.
    Так же нужно скачать еще один скрипт, который будет запускаться в CRON. Открываете его и указываете данные для доступа к бд.
    Все скрипты в прикрепленных файлах.
    Всё, дальше будем уже редактировать.
    1. Открываем файл engine/modules/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['referalstoryworld']) and !empty($_COOKIE['referalstoryworld'])){
                        
    $referal=mysql_real_escape_string($_COOKIE['referalstoryworld']);
                        
    $db->query"INSERT INTO " USERPREFIX "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, referal) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" $config['reg_group'] . "', '', '', '', '', '" $_IP "', '" $referal "')");
                }
                    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 "')" );
    После редактирования нам нужно выполнить один запрос в бд. Выполнять его нужно ТОЛЬКО после того, как плагин создаст свою таблицу.
    Код:
    ALTER TABLE playTime ADD 'bonus' INT DEFAULT'0'
    Делаем еще один запрос:
    Код:
    ALTER TABLE dle_users ADD referal CHAR(30)
    Готово. Теперь осталось подключить файл refcron.php к крону. Заходим в ПУ кроном, выбираем каждую минуту(все звездочки) и пишем команду
    Код:
    wget -O - -q -t 1 http://www.сайт.ru/refcron.php
    Для вывода реферальной ссылки в профиль пользователя открываем userinfo.tpl(у вас мб по-другому называется) и в нужном месте пишем это:
    HTML:
    <form><input size=40 type=text value='http://САЙТ.ru/ref.php?user={usertitle}'></form>
    . Вот и все. Надеюсь, что написал все. Если есть какие-нибудь замечания, пишите, с удовольствием выслушаю=).
    В будущем добавлю скрипт для вывода списка всех рефералов в профиле пользователя.
     

    Вложения:

    • refsystem.zip
      Размер файла:
      1.002 байт
      Просмотров:
      87
    Последнее редактирование: 21 июн 2016
  2. Хостинг MineCraft
    <
  3. Toster_tpl

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

    Баллы:
    153
    sql injection
     
  4. GHOST-MEN

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

    Баллы:
    76
    Skype:
    TrolFace_007
    Имя в Minecraft:
    Edward007
    Неужели PDO, браво :good:
    Только у тя инъекции.
     
  5. Nupke

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

    Баллы:
    88
    кавычки не фильтруются вроде))
     
  6. GHOST-MEN

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

    Баллы:
    76
    Skype:
    TrolFace_007
    Имя в Minecraft:
    Edward007
    Жаль, что теперь у школоты будут проЭкты похожие на нормальный проект...
    Ну хотя, чего-уж там...
     
  7. Gitler1234

    Gitler1234 Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Lox
    Используем PDO, но не знаем как правильно пользоваться...
    В рефералке использовать логин юзера вместо id тоже молодец.
    Cookie можно спокойно менять, так что инъекция.
    Кто поставил, дайте сайтик мне побаловаться хочется.
     
  8. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    Понял где, исправлю. Спасибо.[DOUBLEPOST=1455260861,1455260789][/DOUBLEPOST]
    Где я неправильно пользовался? Скажи конкретнее, буду учиться.
    Инъекцию исправлю.[DOUBLEPOST=1455262869][/DOUBLEPOST]
    Ну прости:)
     
  9. GHOST-MEN

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

    Баллы:
    76
    Skype:
    TrolFace_007
    Имя в Minecraft:
    Edward007
    Просто бесит такая школота, которая ничего не умеет, и живёт за чужой труд...:)
    И да, заметка, 100 минут это очень мало, я уверен, найдётся такой школьник, который будет накручивать, не смотря что ему это надоест. Минимум 5 часов нужно.
     
  10. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    Можно запрос отредактировать немного и все. Ладно, вынесу в массив с конфигом.[DOUBLEPOST=1455287368,1455268657][/DOUBLEPOST]UPD: В конфиг вынесены два значения(номинал бонуса и кол-во минут, которые нужно отыграть рефералу)
    Пофикшена sql инъекция.
     
  11. Gitler1234

    Gitler1234 Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    Lox
    Смотри часть CRON-а.
     

    Вложения:

    • referalCron.zip
      Размер файла:
      1.001 байт
      Просмотров:
      14
  12. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    А чем мой вариант не катит?[DOUBLEPOST=1455292527,1455292081][/DOUBLEPOST]Кстати, инъекцию хоть в том месте я пофиксил, или нет?:D
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Поставь еще проверку на одинаковый ip, чтоб сами себе не накручивали.
     
  14. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    Хорошо, в будущем прикручу :). Ответь в лс, пожалуйста, если время найдешь.
     
  15. AIcar

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

    Баллы:
    66
    Плагин playtime не создает в БД таблицы. Какие есть варианты? Версия 1.7.10
     
  16. Kela-4D

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

    Баллы:
    143
    Skype:
    kelatyh
    Имя в Minecraft:
    Kelatyh
    Кому надо рефералка через site.ru/follow/NAME
     
  17. Kimato

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

    Баллы:
    76
    Создаёт, пере-проверяй настройки
     
  18. Etro

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

    Баллы:
    78
    Skype:
    vo8an99
    Это норма же...
     
  19. Незнайчик

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

    Баллы:
    76
    А есть что-то лучше и почему?)
     
  20. Doker96

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

    Баллы:
    78
    инъекцию исправили?
     
  21. Автор темы
    ZONCCK

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

    Баллы:
    78
    Skype:
    car-donate
    Имя в Minecraft:
    ZONCCK
    iconomy Баганый, Счета обнуляются.[DOUBLEPOST=1461415825,1461415794][/DOUBLEPOST]
    Да.
     

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