Вход Регистрация
Файл: page/task/view.php
Строк: 214
<?php
$title 
'Выполнение задания';
require_once(
$_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if (isset(
$active) && $sys['modules']['task'] == 1) {
 
    
$strow $connect->prepare("select * from `task` where `id` = ?");
    
$strow->execute(array($id));
    
$row $strow->fetch();

    if (
$row) {

        echo 
'<div class="title">Выполнение задания: '.$row['name'].'</div>';

        
// комментарии
        
$type 4;
        
$count_comm Comments::CountMess($id$type);

        
// Отправлял ли заявку юзер?
        
$stmt_answer $connect->prepare("select * from `task_ans` where `uid` = ? and `tid` = ?");
        
$stmt_answer->execute(array($user['id'], $id)); 
        
$answer $stmt_answer->fetch();

        
$stmt_ans $connect->prepare("select count(*) from `task_ans` where `status` = ? and `tid` = ?");

        
// в обработке
        
$stmt_ans->execute(array(0$id));
        
$answers $stmt_ans->fetchColumn();
        
// выполнено
        
$stmt_ans->execute(array(1$id));
        
$success $stmt_ans->fetchColumn(); 
        
// не выполнено
        
$stmt_ans->execute(array(2$id));
        
$fails $stmt_ans->fetchColumn();

        if (
$row['status'] != 2) {
            if (isset(
$_GET['mode']) && ($adm_id == || $row['uid'] == $user['id'])) {
                if (
$row['status'] == 3) {
                    
header('Location: /task/view/'.$id);
                } else {
                    if (isset(
$_POST['cancel'])) {
                        
header('Location: /task/view/'.$id);
                    }
                    elseif (isset(
$_POST['yes'])) {
                        
$status $row['status'] == 1;
                        
$stmt $connect->prepare("update `task` set `status` = ? where `id` = ?");
                        if (
$stmt->execute(array($status$id))) {
                            
header('Location: /task/view/'.$id);
                        } else {
                            echo 
'<div class="menu">Произошла ошибка!</div>';
                        }
                    }
                    echo 
'<div class="menu">
                    <form action="" method="POST">
                    <input type="submit" name="yes" value="'
.($row['status'] == 'Отключить' 'Включить').'">
                    <input type="submit" name="cancel" value="Отмена">
                    </form></div>'
;
                }
            } elseif (
$row['uid'] == $user['id']) {
                if (isset(
$_GET['bs'])) {
                    if (isset(
$_POST['yes'])) {
                        
$error '';
                        if (empty(
$_POST['col'])) {
                            
$error.= 'Введите количество выполнений!<br/>';
                        }
                        elseif (!
is_numeric($_POST['col'])) {
                            
$error.= 'Неверное значение!<br/>';
                        }
                        elseif (
$_POST['col'] < 1) {
                            
$error.= 'Минимальное количество выполнений - 1!<br/>';
                        }
                        elseif (
$user['money'] < $_POST['col'] * $row['cena']) {
                            
$error.= 'Недостаточно средств!<br/>';
                        }
                        if (
$error) {
                            echo 
'<div class="menu">'.$error.'</div>';
                        } else {
                            
$col intval($_POST['col']);
                            
$sum $col $row['cena'];
                            
$stmt $connect->prepare("update `task` set `col` = `col` + ?, `memory` = ? where `id` = ?");
                            if (
pay(-$sum$user['id']) && $stmt->execute(array($col$col$id))) {
                                
header('Location: /task/view/'.$id);
                            } else {
                                echo 
'<div class="menu">Произошла ошибка!</div>';
                            }
                        }
                    }
                    elseif (isset(
$_POST['no'])) {
                        
header('Location: /task/view/'.$id);
                    }
                    echo 
'<div class="menu">
                    <form action="" method="POST">
                    Количество выполнений:<br/><input type="text" name="col" value="'
.($row['memory'] > $row['memory'] : '').'"><br/>
                    <input type="submit" name="yes" value="Пополнить"/> 
                    <input type="submit" name="no" value="Отмена"/><br/>
                    <div class="chi">Стоимость выполнения: '
.rub($row['cena']).'</div>
                    </form></div>'
;
                }
                elseif (isset(
$_GET['edit'])) {
                    if (isset(
$_POST['yes'])) {
                        
$cena = isset($_POST['cena']) && $row['col'] == floatval($_POST['cena']) : $row['cena'];
                        
$error '';
                        if (empty(
$_POST['name'])) {
                            
$error.= 'Введите название!<br/>';
                        }
                        elseif (
mb_strlen($_POST['name']) < || mb_strlen($_POST['name']) > 250) {
                            
$error.= 'Название должно содержать от 5 до 250 символов!<br/>';
                        }
                        if (empty(
$_POST['text'])) {
                            
$error.= 'Введите требования по выполнению задания!<br/>';
                        }
                        elseif (
mb_strlen($_POST['text']) < 15 || mb_strlen($_POST['text']) > 15000) {
                            
$error.= 'Требования должны содержать от 15 до 15000 символов!<br/>';
                        }
                        if (empty(
$cena)) {
                            
$error.= 'Введите цену выполнения!<br/>';
                        }
                        elseif (
$cena $sys['system']['tcena']) {
                            
$error.= 'Минимальная цена выполнения - '.rub($sys['system']['tcena']).'!<br/>';
                        }
                        if (
$error) {
                            echo 
'<div class="menu">'.$error.'</div>';
                        } else {
                            
$status = ($adm_id == || $sys['modules']['mod_t'] == 1) ? $row['status'] : 3;
                            
$stmt $connect->prepare("update `task` set `name` = ?, `text` = ?, `cena` = ?, `status` = ? where `id` = ?");
                            if (
$stmt->execute(array($_POST['name'], $_POST['text'], $cena$status$id))) {
                                
header('Location: /task/view/'.$id);
                            } else {
                                echo 
'<div class="menu">Произошла ошибка!</div>';
                            }
                        }
                    }
                    elseif (isset(
$_POST['cancel'])) {
                        
header('Location: /task/view/'.$id);
                    }
                    echo 
'<div class="menu">
                    <form action="" method="POST">
                    Название [5-250]:<br/><input type="text" name="name" value="'
.$row['name'].'"><br/>
                    Требования [15-15000]:<br/><textarea name="text" rows="3" cols="20">'
.$row['text'].'</textarea><br/>
                    '
.($row['col'] == 'Цена выполнения:<br/><input type="text" name="cena" value="'.$row['cena'].'"><br/>' '').'
                    <input type="submit" name="yes" value="Сохранить"/> 
                    <input type="submit" name="cancel" value="Отмена"/>
                    </form></div>'
;
                }
                elseif (isset(
$_GET['del'])) {
                    if (isset(
$_POST['yes'])) {
                        
$del $connect->prepare("delete from `task` where `id` = ?");
                        if (
pay($row['col'] * $row['cena'], $user['id']) &&
                            
$del->execute(array($id)) &&
                            
Comments::DelMess($id$type)) {
                            
header('Location: /task');
                        } else {
                            echo 
'<div class="menu">Произошла ошибка!</div>';
                        }
                    }
                    elseif (isset(
$_POST['no'])) {
                        
header('Location: /task/view/'.$id);
                    }
                    echo 
'<div class="menu">
                    <form action="" method="POST">
                    <input type="submit" name="yes" value="Удалить"/> 
                    <input type="submit" name="no" value="Отмена"/>
                    </form></div>'
;
                }
            }
        }

        echo 
'<div class="menu">
        '
.nl2br(smiles(bb(bbyoutube(bblinks($row['text']))))).'
        </div>
        <div class="menu">
        Создатель задания: '
.profileLink($row['uid']).'<br/>
        Оплата за выполнение: '
.rub($row['cena']).'<br/>
        Выполнений: [<font color="#4cae4c">'
.$success.'</font>|<font color="#eea236">'.$answers.'</font>]|<font color="#d8544f">'.$fails.'</font>]
        '
.($adm_id == || $row['uid'] == $user['id'] ?
            
'<br/>Баланс: '.$row['col'].'<br/>
             Статус: '
.($row['status'] == 'Включено' 'Отключено').
             (
$row['status'] == '<div class="danger">Задание заблокировано!</div>' : ($row['status'] == '<div class="information">На модерации!</div>' '')).'
             <div class="butt2">
             '
.($row['status'] != ?
                
'<a href="?mode">'.($row['status'] == 'Отключить' 'Включить').'</a>
                 <a href="/task/ans/'
.$id.'">Проверка выполнения ('.$answers.')</a>
                 '
.($row['uid'] == $user['id'] ?
                    
'<a href="?bs">Пополнить баланс</a><br/>
                    '
.(!$answers '<a href="?del">Удалить</a>' '').
                      (!
$answers && !$fails '<a href="?edit">Редактировать</a>' '')
                    : 
'')
                : 
'').'
              </div>'
          
'').'
        </div>
        <div class="forlink"><a href="/task/comments/'
.$row['id'].'" class="links"><img src="/img/chat.png" alt="chat">Комментарии к заданию<div class="chi">'.$count_comm.'</div></a></div>';

        if (
$row['status'] == 1) {

            if (
$answers >= $row['col']) {

                echo 
'<div class="menu"><div class="information">Подождите, пока старые заявки будут обработаны и баланс задания будет пополнен!</div></div>';

            } elseif (
$row['uid'] != $user['id'] && $row['col'] > 0) {

                if (
$answer) {

                    if (
$answer['status'] == 1) {

                        echo 
'<div class="menu"><div class="good">Это задание уже выполнено!</div></div>';

                    }
                    elseif (
$answer['status'] == 2) {

                        echo 
'<div class="menu"><div class="forbidden">Это задание не выполнено!</div></div>';

                    } else {

                        echo 
'<div class="menu"><div class="information">Ваш отчет на проверке!</div></div>';

                    }

                } else {

                    echo 
'<div class="title">Отчет</div>';

                    if (isset(
$_POST['answer'])) {

                        
$error '';

                        if (empty(
$_POST['text'])) {
                            
$error 'Введите сообщение!<br/>';
                        }
                        elseif (
mb_strlen($_POST['text']) < || mb_strlen($_POST['text']) > 15000) {
                            
$error 'Сообщение должно содержать от 5 до 15000 символов!<br/>';
                        }
                        if (
file_exists($_FILES['filename']['tmp_name'])) {
                            if (!
BeforeUpload::AttachFile($_FILES['filename'])) {
                                
$error.= 'Неверный тип файла!<br/>';
                            }
                            if (
$_FILES['filename']['size'] > 1048576 5) {
                                
$error.= 'Максимальный размер файла - 5 Mb!<br/>';
                            }
                        }
                        if (
$error) {
                            echo 
'<div class="menu">'.$error.'</div>';
                        } else {

                            
$stmt $connect->prepare("insert into `task_ans` set `time` = ?, `uid` = ?, `text` = ?, `tid` = ?");

                            if (
$stmt->execute(array(time(), $user['id'], $_POST['text'], $row['id']))) {

                                
// Загрузка файла
                                
if (file_exists($_FILES['filename']['tmp_name'])) {
                                    
$lid $connect->LastInsertId();
                                    
$files $lid."_task_".random_int(1111199999)."_".$_FILES['filename']['name'];
                                    
move_uploaded_file($_FILES['filename']['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/files/".$files);
                                }

                                
notification('[b]'.$user['login'].'[/b] отправил [url='.ROOT.'/task/ans/'.$id.']отчет[/url] по вашему заданию [url='.ROOT.'/task/view/'.$id.']'.$row['name'].'[/url] на проверку.'$row['uid']);

                                
header('Location: /task/view/'.$id);

                            } else {
                                echo 
'<div class="menu">Произошла ошибка!</div>';
                            }
                        }
                    }

                    echo 
'<div class="menu">
                    <form action="" method="POST" enctype="multipart/form-data">
                    Отчет о выполнении [5-15000]:<br/><textarea name="text" rows="5" cols="25"></textarea><br/>
                    Прикрепить файл:<br/><input type="file" name="filename"><br/>
                    <input type="submit" name="answer" value="Подтвердить выполнение">
                    </form></div>'
;

                }
            }
        }

        if (
$row['uid'] == $user['id'])
            echo 
'<div class="forlink"><a href="/task" class="links"><img src="/img/quest.png" alt="">Мои задания</a></div>';
        else
            echo 
'<div class="forlink"><a href="/task/list" class="links"><img src="/img/quest.png" alt="">Задания</a></div>';

    } else {
        
header('Location: /task/list');
    }
} else {
    
header('Location: /');
}

require(
$_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>
Онлайн: 0
Реклама