Файл: wenr.online/app/user/train.php
Строк: 41
<?php
if (!$user->isAuth()) {
redirect('/');
exit;
}
function price_train($param,$kol=1){
$kef = 1.8;
if($param == 'max_hp') $kef = 1.2;
while ($x++<$kol) $amount = $amount + Clean :: int($param*$kef+$param);
return $amount;
}
function teach($param){
$array = ['не изучен', 'изучен'];
return $array[$param];
}
function real_param($param){
global $db,$user;
$sql = $db->prepare('SELECT SUM(`'.$param.'`) as sum FROM `bag` WHERE `status` = ? and `user` = ?');
$sql -> execute([1,$user->get()->user_id]);
$sql = $sql ->fetch(PDO :: FETCH_OBJ);
$return = $user->get()->$param-$sql->sum;
if($param == 'max_hp') $return = $return-($user->get()->lvl*10);
if(empty($return)) $return = $user->get()->$param;
return $return;
}
if(isset($_GET['type'])){
$type = Clean :: str($_GET['type']);
$kol = Clean :: int($_GET['kol']);
$typeArray = ['force','dex','max_hp','mana_max','smith','forging','miner','master'];
$kolArray = [1,5,10];
if(!in_array($type,$typeArray)){
redirect('/train');
exit;
}
if(!in_array($kol,$kolArray)){
redirect('/train');
exit;
}
$price = price_train(real_param($type),$kol);
$max = 200;
if($type == 'max_hp') $max = 10000;
if($type == 'smith' or $type == 'forging'){
$kol = 1;
$price = 200;
$max = 1;
}
if($type == 'miner'){
$price = 300;
$max = 20;
}
if($type == 'master'){
$kol = 1;
$price = 10000;
$max = 1;
}
if($user->get()->gold < $price){
Notif :: error('Недостаточно золота для тренировки. Нужно '.$price.' золота','/train');
exit;
}
if(real_param($type)+$kol > $max){
Notif :: error('Невозможно повысить этот параметр','/train');
exit;
}
$update = $db->prepare('update `users` set `gold` = ?, `'.$type.'` = ? where `user_id` = ?');
$update -> execute([$user->get()->gold-$price,
$user->get()->$type+$kol,
$user->get()->user_id
]);
redirect('/train');
exit;
}
echo $template->render('user.train');