Вход Регистрация
Файл: app/support/tiket.php
Строк: 39
<?php

if (!$user->isAuth()) {
    
redirect('/');
    exit;
}


     
                

        
$tiket $db->prepare('select * from `tiket` where `id` = ?');
            
$tiket -> execute([Clean :: int($_GET['id'])]);
                
$tiket $tiket -> fetch(PDO :: FETCH_OBJ);
            
            if(!
$tiket->id or $user->get()->user_id != $tiket ->user){
                
redirect('/support');
            }




        
          if(isset(
$_POST['submit']) and $tiket->status == 0){
                
$text Clean :: str($_POST['text']);
                if(empty(
$text)){
                    
Notif :: error('Введите сообщение','/support/view?id='.$tiket->id);
                    exit;
                }
               
               
              
               
               
               
               
                if(
$user->get()->user_id == 1){
                
$notifText 'Новый ответ от службы поддержки в тикете <a href="/support/view?id='.$tiket->id.'">«'.$tiket->name.'»</a>';
    
notifSend($tiket->user,$notifText);
                }else
                {
                    
$notifText 'Пользователь '.$user['login'].' ответил вам в тикете <a href="/support/view?id='.$tiket->id.'">'.$tiket->name.'</a>';
    
notifSend(1,$notifText);
                }
               
               
                
$add $db->prepare('INSERT INTO `tiketmsg` (`text`,`user`,`time`,`tiket`) VALUES (?,?,?,?)');
                
$add -> execute([$text,$user->get()->user_id,time(),$tiket->id]);
                
$id $db->lastInsertId();
                
               
                
                 if (!empty(
$_FILES['upload'][0]['tmp_name'])) {
                   
                    if (
count($_FILES) > 5) {
               
Notif :: error('Максимум 5 прикрепленных файлов.','/support/view?id='.$tiket->id);
                    exit;
                        }
                        
                        
                        
$files = array();
    
$diff count($_FILES['upload']) - count($_FILES['upload'], COUNT_RECURSIVE);
    if (
$diff == 0) {
        
$files = array($_FILES['upload']);
    } else {
        foreach(
$_FILES['upload'] as $k => $l) {
            foreach(
$l as $i => $v) {
                
$files[$i][$k] = $v;
            }
        }        
    }    
                        
   
        foreach (
$files as $file) {
        
        if (
$file['size'] > (1048576 10)) {
               
Notif :: error('Размер прикрепляемого изображения не должен превышать 10 мб.','/support/view?id='.$tiket->id);
                    exit;
                        }
                        
            
$filetype = ['jpg''gif''png''jpeg''bmp']; 
            
$upfiletype substr($file['name'],  strrpos($file['name'], '.')+1); 
            if(!
in_array($upfiletype,$filetype)) {
                 
Notif :: error('Файл '.Clean :: str($file['name']).' не является изображением.','/support/view?id='.$tiket->id);
                                exit;
}
               
               
$file_name_is $tiket->id.'_'.date('c').'_'.rand(1,9999).'.png';
              
move_uploaded_file($file['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/public/files/support/'.$file_name_is); 
          
          
          
$sql $db->prepare('INSERT INTO `support_files` (`tiket`,`file`) VALUES (?,?)');
          
$sql -> execute([$id,$file_name_is]);
   
        
        
    }
               
               
               
               
               }     
               
                
                
                
                
                
                
redirect('/support/view?id='.$tiket->id);
                    exit;
            }

                
                



        
$all $db->prepare('SELECT * FROM `tiketmsg` WHERE `tiket` = ? ORDER BY `id`  DESC');
        
$all -> execute([$tiket->id]);
        
$all $all -> fetchAll();
        
    
$peger = new ArrayPaginator('/support/view?id='.$tiket->id10); 
    
$items $peger->getItems($all);
            
        
        
        function 
arrayFiles($id){
            global 
$db;
          
$arrayFiles $db->prepare('select * from `support_files` where `tiket` = ?');
          
$arrayFiles -> execute([$id]);
          
$arrayFiles $arrayFiles -> fetchAll();
          return 
$arrayFiles;
        }
        
        
        
echo 
$template->render('support.tiket',
                                 
                                 [
'peger'   =>  $peger,
                                  
'items'   =>  $items,
                                  
'tiket'    => $tiket
                                 
                                 
]       
                                        
                                        );
Онлайн: 1
Реклама