ПРОБЛЕМА WMSET бонус за пополнение баланса

Glok22

Участник
Доброго времени суток форумчане!
Прошу помощи в данной проблеме или пинок в нужную сторону.
Суть проблемы такова:
Ставил я как-то два модуля, один с коэффициентами, другой без и с более лёгкой настройкой. Ни один из них не начислял дополнительные "деревья" за пополнение баланса.
Если кто откликнется, буду пошагово описывать установку данного модуля и возможно вместе получиться решить проблему.
 
Последнее редактирование:

CRAFTGAMING

Участник
Местный
Доброго времени суток форумчане!
Прошу помощи в данной проблеме или пинок в нужную сторону.
Суть проблемы такова:
Ставил я как-то два модуля, один с коэффициентами, другой без и с более лёгкой настройкой. Ни один из них не начислял дополнительные "деревья" за пополнение баланса.
Если кто откликнется, буду пошагово описывать установку данного модуля и возможно вместе получиться решить проблему.
Описывай проблему
 

CRAFTGAMING

Участник
Местный
Доброго времени суток форумчане!
Прошу помощи в данной проблеме или пинок в нужную сторону.
Суть проблемы такова:
Ставил я как-то два модуля, один с коэффициентами, другой без и с более лёгкой настройкой. Ни один из них не начислял дополнительные "деревья" за пополнение баланса.
Если кто откликнется, буду пошагово описывать установку данного модуля и возможно вместе получиться решить проблему.
А ты прописывал в мерчант в корне сайта
WMSET бонус
 

Glok22

Участник
Согласно установки модуля пункта 5:
5. Открываем файл мерчанта и перед:

$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");

Вставляем следующее:

$wmset = new wmset();
$marray = $wmset->GetSet($ik_payment_amount);

$a_t = intval($marray["t_a"]);
$b_t = intval($marray["t_b"]);
$c_t = intval($marray["t_c"]);
$d_t = intval($marray["t_d"]);
$e_t = intval($marray["t_e"]);

$db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
last_sbor = '$lsb' WHERE id = '{$user_id}'");
Да, я прописал его в файл мерчант:
PHP:
    # Статистика пополнений
    $da = time();
    $dd = $da + 60*60*24*15;
    $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
    VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");

    # WM SET BONUS
    $wmset = new wmset();
    $marray = $wmset->GetSet($ik_payment_amount);
 
    $a_t = intval($marray["t_a"]);
    $b_t = intval($marray["t_b"]);
    $c_t = intval($marray["t_c"]);
    $d_t = intval($marray["t_d"]);
    $e_t = intval($marray["t_e"]);
 
    # Конкурс
    $competition = new competition($db);
    $competition->UpdatePoints($user_id, $ik_payment_amount);
 
    $db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
   last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");

    # Обновление статистики сайта
    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");

    echo $_POST['m_orderid']."|success";
    exit;
 
 
    }
    echo $_POST['m_orderid']."|error";
}
?>
 

Glok22

Участник
Шестой пункт гласит:
6. Откройте файл classes/_class.wmset.php и настройте стоимость фруктов
Настроил и для теста установил минимальное значение:

PHP:
<?PHP

class wmset{


    var $sets = array( array() );

    public function __construct(){
   
        # Сет 1
        $this->sets[1]["min_sum"] = 10;
        $this->sets[1]["desc"] = "от 100 до 499 RUB";
        $this->sets[1]["t_a"] = 1;
        $this->sets[1]["t_b"] = 0;
        $this->sets[1]["t_c"] = 0;
        $this->sets[1]["t_d"] = 0;
        $this->sets[1]["t_e"] = 0;
       
        # Сет 2
        $this->sets[2]["min_sum"] = 100;
        $this->sets[2]["desc"] = "от 500 до 999 RUB";
        $this->sets[2]["t_a"] = 0;
        $this->sets[2]["t_b"] = 1;
        $this->sets[2]["t_c"] = 0;
        $this->sets[2]["t_d"] = 0;
        $this->sets[2]["t_e"] = 0;
       
        # Сет 3
        $this->sets[3]["min_sum"] = 1000;
        $this->sets[3]["desc"] = "от 1000 до 1999 RUB";
        $this->sets[3]["t_a"] = 0;
        $this->sets[3]["t_b"] = 0;
        $this->sets[3]["t_c"] = 1;
        $this->sets[3]["t_d"] = 0;
        $this->sets[3]["t_e"] = 0;
       
        # Сет 4
        $this->sets[4]["min_sum"] = 2000;
        $this->sets[4]["desc"] = "от 2000 до 3999 RUB";
        $this->sets[4]["t_a"] = 0;
        $this->sets[4]["t_b"] = 0;
        $this->sets[4]["t_c"] = 0;
        $this->sets[4]["t_d"] = 1;
        $this->sets[4]["t_e"] = 0;
       
        # Сет 5
        $this->sets[5]["min_sum"] = 4000;
        $this->sets[5]["desc"] = "от 4000 до 7999 RUB";
        $this->sets[5]["t_a"] = 0;
        $this->sets[5]["t_b"] = 0;
        $this->sets[5]["t_c"] = 0;
        $this->sets[5]["t_d"] = 0;
        $this->sets[5]["t_e"] = 0;
       
        # Сет 6
        $this->sets[6]["min_sum"] = 8000;
        $this->sets[6]["desc"] = "от 8000 RUB";
        $this->sets[6]["t_a"] = 0;
        $this->sets[6]["t_b"] = 0;
        $this->sets[6]["t_c"] = 0;
        $this->sets[6]["t_d"] = 0;
        $this->sets[6]["t_e"] = 0;
   
    }
   
   
    function SetsList(){
       
        unset($this->sets[0]);
        return $this->sets;
   
    }
   
   
    function GetSet($sum){
        $sum = $sum +1;
        $my_array = array_reverse( $this->SetsList() );
       
        foreach($my_array as $key => $value){
       
            if($sum >= $value["min_sum"]) return $value;
       
        }
       
    }
   
}


?>
 

Glok22

Участник
Далее по мелочи, подключил страницу, case...
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - FRUIT SET Бонусы";
$_OPTIMIZATION["description"] = "Бонусы за пополнение баланса";
?>
<div class="s-bk-lf">
<div class="acc-title">FRUIT SET</div>
</div>
<div class="silver-bk">
<b>FRUIT SET - это комбинация растений, которые даются пользователю при пополнении баланса. <BR /></b>
FRUIT SET начисляется в автоматическом режиме после каждого пополнения баланса. Максимум можно получить только 1 FRUIT SET за 1 пополнение.<BR />
<BR />
<b><font color = "red">ВАЖНО:</font> <BR />- Деревья даются как бонус! У вас НЕ забирается пополняемая сумма.</b>
<div class="clr"></div>
</div>
<BR />

<div class="silver-bk">
<b><center>Показать получаемый бонус</center></b><BR />
<form action="" method="post">

<center>Пополняемая сумма: <input type="text" name="sum" value="<?=(isset($_POST["sum"])) ? intval($_POST["sum"]) : 100;?>" />
<BR /><BR />
<input type="submit" value="Расчитать бонус">
</center>

</form>
<div class="clr"></div>
</div>

<?PHP
$wmset = new wmset();

if(isset($_POST["sum"])){

$insum = (intval($_POST["sum"]) > 0 AND intval($_POST["sum"]) <= 1000000) ? intval($_POST["sum"]) : 0;

$marray = $wmset->GetSet($insum);

?>
<BR /><BR />
<div class="silver-bk">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5" align="center" style="padding:5px;"><b>При пополнении на сумму <?=$insum; ?> RUB Вы получаете деревьев:</b></td>
</tr>
<tr>
<td align="center" width="20%"><div class="sm-line-nt"><img src="/img/fruit/item1-small.jpg" /> +<?=intval($marray["t_a"]);?> шт.</div></td>
<td align="center" width="20%"><div class="sm-line-nt"><img src="/img/fruit/item2-small.jpg" /> +<?=intval($marray["t_b"]);?> шт.</div></td>
<td align="center" width="20%"><div class="sm-line-nt"><img src="/img/fruit/item3-small.jpg" /> +<?=intval($marray["t_c"]);?> шт.</div></td>
<td align="center" width="20%"><div class="sm-line-nt"><img src="/img/fruit/item4-small.jpg" /> +<?=intval($marray["t_d"]);?> шт.</div></td>
<td align="center" width="20%"><div class="sm-line-nt"><img src="/img/fruit/item5-small.jpg" /> +<?=intval($marray["t_e"]);?> шт.</div></td>


</tr>
</table>

<BR />
<div class="clr"></div>
</div>

<?PHP
return;

}

?>
Сам калькулятор на странице бонуса работает и считает аналогично заданным настройкам.

Что даёт полагать, что сама функция работает.

 
Последнее редактирование:

Glok22

Участник
Проведём так сказать опыт, запомним количество деревьев и закинем 10р.
1ур. - 4шт, 2ур. - 0шт, 3ур. - 4шт
 

Glok22

Участник


Не знаю на что и думать, была одна мыслишка. В коде присутствует:
PHP:
# Обновление статистики сайта
    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
таблица в базе db_stats, она присутствует в базе? но всегда пустая, не было замечено не разу что туда что-либо записывалось.
 

Glok22

Участник
Постик получился с размахом. :) Чтож, буду ждать ещё версий, почему так происходит. :rolleyes:
 

geronimo

Местный
я конечно не думаю что проблема именно в этом..но почему у тебя в коде между wmset еще и конкурс рефералов стоит...на сколько помню не должно быть так они должны быть по очереди
 

geronimo

Местный
в общем просмотрел пару скриптом с модулем установленном везде идет по очереди все,на вряд-ли проблема именно в этом но все же....

PHP:
<?PHP
######################################
# Скрипт Fruit Farm
# Автор Rufus
# ICQ: 819-374
# Skype: Rufus272
######################################

# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига
$config = new config;

# Функции
$func = new func;

# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);





if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
    $m_key = $config->secretW;
    $arHash = array($_POST['m_operation_id'],
            $_POST['m_operation_ps'],
            $_POST['m_operation_date'],
            $_POST['m_operation_pay_date'],
            $_POST['m_shop'],
            $_POST['m_orderid'],
            $_POST['m_amount'],
            $_POST['m_curr'],
            $_POST['m_desc'],
            $_POST['m_status'],
            $m_key);
    
    $sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
    if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
    {
        
    $db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
    if($db->NumRows() == 0){ echo $_POST['m_orderid']."|error"; exit;}
    
    $payeer_row = $db->FetchArray();
    if($payeer_row["status"] > 0){ echo $_POST['m_orderid']."|success"; exit;}
    
    $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
    
    $ik_payment_amount = $payeer_row["sum"];
    $user_id = $payeer_row["user_id"];
  
    # Настройки
    $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
    $sonfig_site = $db->FetchArray();
  
   $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
   $user_ardata = $db->FetchArray();
   $user_name = $user_ardata["user"];
   $refid = $user_ardata["referer_id"];
  
   # Зачисляем баланс
   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
  
   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();
  
   $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.60) ) : $serebro*1.10;
   $add_tree = ( $ik_payment_amount >= 749.99) ? 1 : 0;
   $add_tree = ( $ik_payment_amount >= 1499.99) ? 2 : 0;
   $lsb = time();
   $to_referer = ($serebro * 0.10);
  
   $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}'");

  
  
  
   # Зачисляем средства рефереру и дерево
   $add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
  
   # Статистика пополнений
   $da = time();
   $dd = $da + 60*60*24*15;
   $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
   VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");
  
   # Конкурс
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
#--------
 
    
    
    # Обновление статистики сайта
$wmset = new wmset();
   $marray = $wmset->GetSet($ik_payment_amount);
  
   $a_t = intval($marray["t_a"]);
   $b_t = intval($marray["t_b"]);
   $c_t = intval($marray["t_c"]);
   $d_t = intval($marray["t_d"]);
   $e_t = intval($marray["t_e"]);
   $f_t = intval($marray["t_f"]);
  
   $db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t', f_t = f_t + '$f_t',
   last_sbor = '$lsb' WHERE id = '{$user_id}'");
    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
    
    echo $_POST['m_orderid']."|success";
    exit;
    
    
    }
    echo $_POST['m_orderid']."|error";
}
?>
 

Glok22

Участник
в общем просмотрел пару скриптом с модулем установленном везде идет по очереди все,на вряд-ли проблема именно в этом но все же....
В общем сделал последовательность по совету, "деревья" не прибавились! :(
Копаем дальше ;)
 

Glok22

Участник
А сам код модуля не может конфликтовать с РНР Версией 5.5?

Ещё меня смущает, что в коде имеется таблица базы с именем _stats но я не видел чтобы туда что-то вносилось, какие то записи, данная таблица всегда пустая.
 

Glok22

Участник
Решилась проблема! :D А именно закомментированием строк кода: ;)
PHP:
    # Конкурс
    //$competition = new competition($db);
    //$competition->UpdatePoints($user_id, $ik_payment_amount);
Если, кто найдёт логическую связь прошу пояснить, будет полезно знать. Может его переместить в нужное место или изменить чтоб не конфликтовал, так как он я думаю от модуля бонус за привлечение рефералов.
 

geronimo

Местный
ты закоментировал конкурс рефералов,теперь он тебя не работает..... я тебе выше скидывал код из мерчанта,не подошел?
 

Glok22

Участник
geronimo неа, я ваш код пробовал копипастить тоже не начислялись "деревья", понятно что решилась одна проблема появилась новая, где-то конфликт.
 
Верх