Партнерская программа 5 уровней

  • Автор темы APTEMOH
  • Дата начала

Как вам тема?

  • Супер! Давай еще!

  • Пойдет!

  • Я так же могу!

  • Ацтой!


Результаты будут видны только после голосования.
APTEMOH
Участник
Сообщения
895
Реакции
258
Telegram
APTEMOH
  • #61
denisalex написал(а):
все рефы 2го уровня попали на остальные 3,4,5, почему так и как это иправить?
Сделать все по инструкции. :)
Тестируете по Админом(First и ID=1) ? Если да, то работать будет не корректно, нужно под другой учеткой тестировать.
 
Pizza52
Участник
Сообщения
335
Реакции
21
  • #62
APTEMOH написал(а):
Сделать все по инструкции. :)
Тестируете по Админом(First и ID=1) ? Если да, то работать будет не корректно, нужно под другой учеткой тестировать.
А модуль чата есть для ФФ?
 
zюzik
Участник
Сообщения
5
Реакции
0
  • #63
всё класс.
немного переделал на бонус на вывод
/* ====== Рефералка 5 уровней ====== */
$db->Query("SELECT user, referer_id, referer_id2, referer_id3, referer_id4, referer_id5 FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$ref2 = $user_ardata["referer_id2"];
$ref3 = $user_ardata["referer_id3"];
$ref4 = $user_ardata["referer_id4"];
$ref5 = $user_ardata["referer_id5"];

# Задаем процент рефки
$to_referer = ($serebro * 0.04); // Первый уровень - 4 процента
$to_referer2 = ($serebro * 0.03); // Второй уровень - 3 процента
$to_referer3 = ($serebro * 0.01); // Третий уровень - 1 процент
$to_referer4 = ($serebro * 0.01); // Четвертый уровень - 1 процент
$to_referer5 = ($serebro * 0.01); // Пятый уровень - 1 процент

$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer2 WHERE id = '$ref2'");
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer3 WHERE id = '$ref3'");
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer4 WHERE id = '$ref4'");
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer5 WHERE id = '$ref5'");
$db->Query("UPDATE db_users_a SET doxod2 = doxod2 + $to_referer2 WHERE id = '$user_id'");
$db->Query("UPDATE db_users_a SET doxod3 = doxod3 + $to_referer3 WHERE id = '$user_id'");
$db->Query("UPDATE db_users_a SET doxod4 = doxod4 + $to_referer4 WHERE id = '$user_id'");
$db->Query("UPDATE db_users_a SET doxod5 = doxod5 + $to_referer5 WHERE id = '$user_id'");
/* ====== /Рефералка 5 уровней ====== */

users_b SET money_b поменял на users_b SET money_p
начисления с реф 2.3.4.5 уровня на вывод
А как сделать чтоб и с 1-уровня приходило на вывод
я решил это так

# Зачисляем средства рефереру и дерево
$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
$db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer WHERE id = '$refid'");
 
Последнее редактирование:
HighSystem
Участник
Сообщения
61
Реакции
5
  • #64
APTEMOH написал(а):
Всем добра!

Доделал и довел до ума партнерку. Итак, встречайте Партнерская программа 5 уровней :blind:

Нам понадобится:
- прямые руки
- редактор кода
- хорошее настроение
- чашка кофе/чая
- payeer_merchant.php
- pages - _signup.php
- pages - account - _referals.php
- pages - account - _user_account.php
- phpmyadmin и FTP клиент

Итак, выпиваем кофе/чай :tost: и начинаем:
1. В файле payeer_merchant.php ищем:
Код:
$to_referer = ($serebro * 0.10); (63-я строка)
Удаляем строку или комментируем:
Код:
//$to_referer = ($serebro * 0.10); или /* тут код */
Ниже добавляем:
Код:
 /* ====== Рефералка 5 уровней ====== */
$db->Query("SELECT user, referer_id, referer_id2, referer_id3, referer_id4, referer_id5 FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
    $user_ardata = $db->FetchArray();
    $ref2 = $user_ardata["referer_id2"];
    $ref3 = $user_ardata["referer_id3"];
    $ref4 = $user_ardata["referer_id4"];
    $ref5 = $user_ardata["referer_id5"];

    # Задаем процент рефки
    $to_referer  = ($serebro * 0.04); // Первый уровень - 4 процента
    $to_referer2 = ($serebro * 0.03); // Второй уровень - 3 процента
    $to_referer3 = ($serebro * 0.01); // Третий уровень - 1 процент
    $to_referer4 = ($serebro * 0.01); // Четвертый уровень - 1 процент
    $to_referer5 = ($serebro * 0.01); // Пятый уровень - 1 процент

    $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer2 WHERE id = '$ref2'");
    $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer3 WHERE id = '$ref3'");
    $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer4 WHERE id = '$ref4'");
    $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer5 WHERE id = '$ref5'");
    $db->Query("UPDATE db_users_a SET doxod2 = doxod2 + $to_referer2 WHERE id = '$user_id'");
    $db->Query("UPDATE db_users_a SET doxod3 = doxod3 + $to_referer3 WHERE id = '$user_id'");
    $db->Query("UPDATE db_users_a SET doxod4 = doxod4 + $to_referer4 WHERE id = '$user_id'");
    $db->Query("UPDATE db_users_a SET doxod5 = doxod5 + $to_referer5 WHERE id = '$user_id'");
    /* ====== /Рефералка 5 уровней ====== */

Находим код и опускаем ниже (ниже кода который выше):

Код:
 # Зачисляем средства НАМ )
    $db->Query("UPDATE db_users_b
                SET money_b = money_b + '$serebro',
                   e_t = e_t + '$add_tree',
                   to_referer = to_referer + '$to_referer',
                   last_sbor = '$lsb',
                   insert_sum = insert_sum + '$ik_payment_amount'
                WHERE id = '{$user_id}'");
2. В файле _signup.php ищем строку:
Код:
 $db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'"); (162-я строка)
                        if($db->FetchRow() == 0){
Ниже вставляем:
Код:
                        /* ================== */
                        $db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
                        $stats_data = $db->FetchArray();
                        $referer_name2=$stats_data["referer"];
                        $referer_id2=$stats_data["referer_id"];

                        $db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id2' LIMIT 1");
                        $stats_data3 = $db->FetchArray();
                        $referer_name3=$stats_data3["referer"];
                        $referer_id3=$stats_data3["referer_id"];

                        $db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id3' LIMIT 1");
                        $stats_data4 = $db->FetchArray();
                        $referer_name4=$stats_data4["referer"];
                        $referer_id4=$stats_data4["referer_id"];

                        $db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id4' LIMIT 1");
                        $stats_data5 = $db->FetchArray();
                        $referer_name5=$stats_data5["referer"];
                        $referer_id5=$stats_data5["referer_id"];

                        # Регаем пользователя
                        $db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, referer_id2, referer_id3, referer_id4, referer_id5, date_reg, ip)
                        VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$referer_id2','$referer_id3','$referer_id4','$referer_id5', '$time',INET_ATON('$ip'))");
                        /* ================== */

Ищем такой код и удаляем его или закомментируем (он уже не нужен):
Код:
 # Регаем пользователя
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
                        VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
3. В файле _referals.php ищем строку:
Код:
 }else echo '<tr><td align="center" colspan="3">У вас нет рефералов 1 уровня</td></tr>'
  ?>
</table>
Ниже вставляем:
Код:
 <!-- ============================================== -->

<?PHP
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE referer_id2 = '$user_id'");
$refs2 = $db->FetchRow(); // Считаем рефералов второго уровня

$db->Query("SELECT COUNT(*) FROM db_users_a WHERE referer_id3 = '$user_id'");
$refs3 = $db->FetchRow(); // Считаем рефералов третьего уровня

$db->Query("SELECT COUNT(*) FROM db_users_a WHERE referer_id4 = '$user_id'");
$refs4 = $db->FetchRow(); // Считаем рефералов четвертого уровня

$db->Query("SELECT COUNT(*) FROM db_users_a WHERE referer_id5 = '$user_id'");
$refs5 = $db->FetchRow(); // Считаем рефералов пятого уровня
?>

<!-- ========= 2-ой уровень ======= -->

<p><center>Количество  ваших рефералов 2-го уровня: <font color="#000;"><?=$refs2; ?> чел.</font></center></p>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width='98%'>
<tr height='25' valign=top align=center>
    <td class="m-tb"> Логин</td>
    <td class="m-tb"> Дата регистрации</td>
    <td class="m-tb"> Доход от партнера</td>
</tr>

<?PHP
  $all_money = 0;
  $db->Query("SELECT  user,date_reg,doxod2 FROM db_users_a WHERE referer_id2 = '$user_id'");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr height="25" class="htt" valign="top" align="center">
            <td align="center"> <?=$ref["user"]; ?> </td>

            <td align="center"> <?=date("d.m.Y в H:i:s",$ref["date_reg"]); ?> </td>
            <td align="center"> <?=sprintf("%.2f",$ref["doxod2"]); ?> </td>
        </tr>

        <?PHP
        }

    }else echo '<tr><td align="center" colspan="3">У вас нет рефералов 2 уровня</td></tr>'
  ?>

</table>
<!-- ========= /2-ой уровень ======= -->
<br>
<!-- ========= 3-ий уровень ======= -->
<p><center>Количество  ваших рефералов 3-го уровня: <font color="#000;"><?=$refs3; ?> чел.</font></center></p>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width='98%'>
<tr height='25' valign=top align=center>
    <td class="m-tb"> Логин</td>

    <td class="m-tb"> Дата регистрации</td>
    <td class="m-tb"> Доход от партнера</td>
</tr>

<?PHP
  $all_money = 0;
  $db->Query("SELECT  user,date_reg,doxod3 FROM db_users_a WHERE referer_id3 = '$user_id'");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr height="25" class="htt" valign="top" align="center">
            <td align="center"> <?=$ref["user"]; ?> </td>

            <td align="center"> <?=date("d.m.Y в H:i:s",$ref["date_reg"]); ?> </td>
            <td align="center"> <?=sprintf("%.2f",$ref["doxod3"]); ?> </td>
        </tr>

        <?PHP
        }

    }else echo '<tr><td align="center" colspan="3">У вас нет рефералов 3 уровня</td></tr>'
?>
</table>
<!-- ========= /3-ий уровень ======= -->
<br>
<!-- ========= 4-ый уровень ======= -->
<p><center>Количество  ваших рефералов 4-го уровня: <font color="#000;"><?=$refs4; ?> чел.</font></center></p>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width='98%'>
<tr height='25' valign=top align=center>
    <td class="m-tb"> Логин</td>

    <td class="m-tb"> Дата регистрации</td>
    <td class="m-tb"> Доход от партнера</td>
</tr>

<?PHP
  $all_money = 0;
  $db->Query("SELECT  user,date_reg,doxod4 FROM db_users_a WHERE referer_id4 = '$user_id'");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr height="25" class="htt" valign="top" align="center">
            <td align="center"> <?=$ref["user"]; ?> </td>

            <td align="center"> <?=date("d.m.Y в H:i:s",$ref["date_reg"]); ?> </td>
            <td align="center"> <?=sprintf("%.2f",$ref["doxod4"]); ?> </td>
        </tr>

        <?PHP
        }

    }else echo '<tr><td align="center" colspan="3">У вас нет рефералов 4 уровня</td></tr>'
?>
</table>
<!-- ========= /4-ый уровень ======= -->
<br>
<!-- ========= 5-ый уровень ======= -->
<p><center>Количество  ваших рефералов 5-го уровня: <font color="#000;"><?=$refs5; ?> чел.</font></center></p>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width='98%'>
<tr height='25' valign=top align=center>
    <td class="m-tb"> Логин</td>

    <td class="m-tb"> Дата регистрации</td>
    <td class="m-tb"> Доход от партнера</td>
</tr>

<?PHP
  $all_money = 0;
  $db->Query("SELECT  user,date_reg,doxod5 FROM db_users_a WHERE referer_id5 = '$user_id'");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr height="25" class="htt" valign="top" align="center">
            <td align="center"> <?=$ref["user"]; ?> </td>

            <td align="center"> <?=date("d.m.Y в H:i:s",$ref["date_reg"]); ?> </td>
            <td align="center"> <?=sprintf("%.2f",$ref["doxod5"]); ?> </td>
        </tr>

        <?PHP
        }

    }else echo '<tr><td align="center" colspan="3">У вас нет рефералов 5 уровня</td></tr>'
?>
</table>
<!-- ========= /5-ый уровень ======= -->

<!-- ============================================== -->

4. В файле _user_account.php ищем:
Код:
$prof_data = $db->FetchArray(); (8-я строка)
Ниже вставляем:
Код:
 # ========= вывод всего заработано на рефералах ========= #
        $db->Query("SELECT doxod2 FROM db_users_a WHERE referer_id2 = '$user_id'");
        $doxod_refs2 = $db->FetchArray();
        $doxod_refs2['doxod2'];

        $db->Query("SELECT doxod2,doxod3,doxod4,doxod5 FROM db_users_a WHERE referer_id3 = '$user_id'");
        $doxod_refs3 = $db->FetchArray();
        $doxod_refs3['doxod3'];

        $db->Query("SELECT doxod4 FROM db_users_a WHERE referer_id4 = '$user_id'");
        $doxod_refs4 = $db->FetchArray();
        $doxod_refs4['doxod4'];

        $db->Query("SELECT doxod5 FROM db_users_a WHERE referer_id5 = '$user_id'");
        $doxod_refs5 = $db->FetchArray();
        $doxod_refs5['doxod5'];

        $zarab_na_refax = $prof_data["from_referals"] + $doxod_refs2['doxod2'] + $doxod_refs3['doxod3'] + $doxod_refs4['doxod4'] + $doxod_refs5['doxod5'];
# ========= /вывод всего заработано на рефералах ========= #
Ищем строку: (58я - строка)

Код:
<td align="left" style="padding:3px;">Заработано на рефералах</td>
    <td align="left" style="padding:3px;"><font color="#000;"><?=sprintf("%.2f",$zarab_na_refax); ?> cеребра</font></td>
В ней
Код:
$prof_data["from_referals"]
заменить на
Код:
$zarab_na_refax
5. Делаем запрос к базе:

Код:
 ALTER TABLE `db_users_a` ADD (
  `referer_id2` int(11) NOT NULL DEFAULT '0',
  `referer_id3` int(11) NOT NULL DEFAULT '0',
  `referer_id4` int(11) NOT NULL DEFAULT '0',
  `referer_id5` int(11) NOT NULL DEFAULT '0',
  `doxod2` int(11) NOT NULL DEFAULT '0',
  `doxod3` int(11) NOT NULL DEFAULT '0',
  `doxod4` int(11) NOT NULL DEFAULT '0',
  `doxod5` int(11) NOT NULL DEFAULT '0'
)
Или ручками:

Все!!! :) Сохраняем, заливаем на сервер, допиваем кофе/чай, наслаждаемся работой. :applause:

P.S. От спасибок и $ :money: не откажусь.
P.P.S. Под хайд прятать это дело? ;)
Хорошая идея, но я попробую полегче придумать, а то код через чур большой =[ на производительность влияет
А пока я не придумал - тебе РЕСПЕКТ :thumbsup:
 
Andreys
Участник
Сообщения
615
Реакции
43
  • #65
APTEMOH написал(а):
ALTER TABLE `db_users_a` ADD ( `referer_id2` int(11) NOT NULL DEFAULT '0', `referer_id3` int(11) NOT NULL DEFAULT '0', `referer_id4` int(11) NOT NULL DEFAULT '0', `referer_id5` int(11) NOT NULL DEFAULT '0', `doxod2` int(11) NOT NULL DEFAULT '0', `doxod3` int(11) NOT NULL DEFAULT '0', `doxod4` int(11) NOT NULL DEFAULT '0', `doxod5` int(11) NOT NULL DEFAULT '0' )
Может всетаки
так вставить
ALTER TABLE `db_users_a` ADD (
`referer_id4` int(11) NOT NULL DEFAULT '0',
`referer_id5` int(11) NOT NULL DEFAULT '0',
`doxod4` int(11) NOT NULL DEFAULT '0',
`doxod5` int(11) NOT NULL DEFAULT '0'
)
 
Вячеслав
Местный
Сообщения
230
Реакции
21
  • #67
Что у вас там не так? Все работает! А то что когда вы под ид1 регаете то так и должно быть, у меня у самого первого айди есть реферал тоже ид 1, тоесть под себя, чтобы все коректно работало. У кого что то глючит у вас переменные другие) и регайте под ид2 и выше
 
Вячеслав
Местный
Сообщения
230
Реакции
21
  • #68
Артемон раз уж на то пошло, доработаю ка я наверное скрипт на 10 уровней, чтобы за глаза хватило! 55% рефки!

# Задаем шикардосный процент рефки
$to_referer = ($serebro * 0.10); // Первый уровень - 10 процента
$to_referer2 = ($serebro * 0.09); // Второй уровень - 9 процента
$to_referer3 = ($serebro * 0.08); // Третий уровень - 8 процент
$to_referer4 = ($serebro * 0.07); // Четвертый уровень - 7 процент
$to_referer5 = ($serebro * 0.06); // Пятый уровень - 6 процент
$to_referer6 = ($serebro * 0.05); // Шестой уровень - 5 процента
$to_referer7 = ($serebro * 0.04); // Седьмой уровень - 4 процента
$to_referer8 = ($serebro * 0.03); // Восьмой уровень - 3 процент
$to_referer9 = ($serebro * 0.02); // Девятый уровень - 2 процент
$to_referer10 = ($serebro * 0.01); // Десятый уровень - 1 процент

:D:D:D:D:D
 
Последнее редактирование:
Andreys
Участник
Сообщения
615
Реакции
43
  • #69
Вячеслав написал(а):
Артемон раз уж на то пошло, доработаю ка я наверное скрипт на 10 уровней, чтобы за глаза хватило! 55% рефки!

# Задаем шикардосный процент рефки
$to_referer = ($serebro * 0.10); // Первый уровень - 10 процента
$to_referer2 = ($serebro * 0.09); // Второй уровень - 9 процента
$to_referer3 = ($serebro * 0.08); // Третий уровень - 8 процент
$to_referer4 = ($serebro * 0.07); // Четвертый уровень - 7 процент
$to_referer5 = ($serebro * 0.06); // Пятый уровень - 6 процент
$to_referer6 = ($serebro * 0.05); // Шестой уровень - 5 процента
$to_referer7 = ($serebro * 0.04); // Седьмой уровень - 4 процента
$to_referer8 = ($serebro * 0.03); // Восьмой уровень - 3 процент
$to_referer9 = ($serebro * 0.02); // Девятый уровень - 2 процент
$to_referer10 = ($serebro * 0.01); // Десятый уровень - 1 процент

:D:D:D:D:D
И кассу взаимопомощи из фермы зааргань, только чтоб функция была на скрытие рефссылки )) я точно сделаю только не знаю правильно ли будет оплата за уровни проходить и будет ли проходить
 
Andreys
Участник
Сообщения
615
Реакции
43
  • #70
в эту рефералку можно сделать ? например стандартный процент допустим 5% 1% 1% 1% 1%.
а если покупаешь фрукт 2го уровня то процент будет другой например 8% 2% 1% 1% 1% ?
а если покупаешь фрукт 3го уровня то процент будет 10% 4% 1% 1% 1% ?
 
itshim7
Участник
Сообщения
2
Реакции
0
  • #71
Hello there, I did everything as instructed. Getting the following error on registration.

Warning: fopen(logs/mysql.txt): failed to open stream: No such file or directory in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 46

Warning
: fwrite() expects parameter 1 to be resource, boolean given in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 47

Warning
: fclose() expects parameter 1 to be resource, boolean given in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 48
Duplicate entry '0' for key 'PRIMARY'

It adds an entry in the database but it assigns all the 5 levels of referral to admin user_id 1 - I cleared the cookies. Please Help!
 
itshim7
Участник
Сообщения
2
Реакции
0
  • #72
Hello there, I did everything as instructed. Getting the following error on registration.

Warning: fopen(logs/mysql.txt): failed to open stream: No such file or directory in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 46

Warning
: fwrite() expects parameter 1 to be resource, boolean given in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 47

Warning
: fclose() expects parameter 1 to be resource, boolean given in /var/www/itshim7/data/www/smilingcoins.com/classes/_class.db.php on line 48
Duplicate entry '0' for key 'PRIMARY'

It adds an entry in the database but it assigns all the 5 levels of referral to admin user_id 1 - I cleared the cookies.
 
Сверху