Файл: wenr.online/app/game/quest.php
Строк: 28
<?php
if (!$user->isAuth()) {
redirect('/');
exit;
}
if(isset($_POST['quest_id'])){
$quest = $db->prepare('select * from `quest` where `id` = ?');
$quest -> execute([Clean :: int($_POST['quest_id'])]);
$quest = $quest -> fetch(PDO :: FETCH_OBJ);
if(!isset($quest->id)){
redirect('/quest');
exit;
}
$check = $db->prepare('select * from `quest_user` where `quest` = ? and `user` = ?');
$check -> execute([$quest->id,$user->get()->user_id]);
$check = $check -> rowCount();
if($check > 0){
redirect('/quest');
exit;
}
$succ = $db->prepare('insert into `quest_user` (`quest`,`user`) values (?,?)');
$succ -> execute([$quest->id,$user->get()->user_id]);
$up = $db->prepare('update `users` set `gold` = ? where `user_id` = ?');
$up -> execute([$user->get()->gold+$quest->gold,$user->get()->user_id]);
Notif :: message('Задание успешно выполнено. Награда '.$quest->gold.' <img src="/public/assets/images/zoloto.png">','/quest');
exit;
}
function max100($num){
if($num > 100) $num = 100;
if(empty($num) or $num < 0) $num = 0;
return $num;
}
function quest($id){
global $db,$user;
$quest = $db->prepare('select * from `quest` where `id` = ?');
$quest -> execute([$id]);
$quest = $quest -> fetch(PDO :: FETCH_OBJ);
if($quest->type == 'fetch'){
$sql = $db->prepare('select * from '.$quest->table.' where '.$quest->where.' = ?');
$sql -> execute([$user->get()->user_id]);
$sql = $sql -> fetch(PDO :: FETCH_OBJ);
$col = $quest->col;
return $sql->$col;
}else{
$sql = $db->prepare('select `id` from '.$quest->table.' where '.$quest->where.' = ? and `user` = ?');
$sql -> execute([$quest->col,$user->get()->user_id]);
$sql = $sql -> rowCount();
return $sql;
}
}
$quest_user = $db->prepare('select * from `quest_user` where `user` = ?');
$quest_user -> execute([$user->get()->user_id]);
$quest_user = $quest_user -> fetchAll();
$all = $db->prepare('select * from `quest` order by id');
$all -> execute();
$all = $all -> fetchAll();
foreach($quest_user as $quest_res){
unset($all[$quest_res['quest']-1]);
}
$peger = new ArrayPaginator('/quest', 5);
$items = $peger->getItems($all);
echo $template->render('game.quest',
['item' => $items,
'peger' => $peger
]
);