Вход Регистрация
Файл: modules/forum/post_file.php
Строк: 96
<?
define
('SHCMS_ENGINE',true);
include_once(
'../../engine/system/core.php');

//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
     
$templates->template(Lang::__('Форум - Файлы - Ошибка')); //Название страницы
    
engine::error(Lang::__('Ошибка при добавление файлов')); //При ошибке
    
header('Refresh: 1; url=index.php');
    exit;
}
    
//Из $_GET в обычную 
    
$id = (int) $_GET['id'];
    switch(
$act):
    
    default:
    
//Вытаскиваем из таблицы `forum_post` все данные
    
$posts $db->get_array($db->query('SELECT * FROM `forum_post` WHERE `id_top` = '.$id.' ORDER BY `id` DESC'));
    
    
$templates->template('Прикрепить файл к вашему посту'); //Название страницы
    
$files $db->query("SELECT * FROM `forum_file` WHERE `id_them` = '".intval($id)."' and `id_post` = '".intval($posts['id'])."'");
if(
$db->num_rows($files) < 0) {
    echo 
engine::error(Lang::__('Вы еще не добавили файлы:'));
}else {
    echo 
'<div class="mainname">'.Lang::__('Прикрепленные файлы:').'</div>';

echo 
'<div class="mainpost">';

    while(
$files_gl $db->get_array($files)) {
    
        echo
'<div class="subpost"><img src="../../engine/template/down/'.$files_gl['type'].'.png"> '.$files_gl['text'].'<span class="time">'.engine::filesize($files_gl['size']).'</span></div>';
    }
echo 
'</div>';
}    

echo 
'<div class="mainname">'.Lang::__('Прикрепить файл').'</div>';
echo 
'<div class="mainpost">';
            
// установить переменные
    
$dir_dest = (isset($_GET['dir']) ? $_GET['dir'] : H.'upload/forum/files/');
    
$dir_pics = (isset($_GET['pics']) ? $_GET['pics'] : $dir_dest);
        
        if(isset(
$_POST['submit'])) {
            
// как это несколько добавления, мы будем анализировать массив $ _FILES реорганизовать его в $ files
            
$file $_FILES['filename'];


                
// Мы создании экземпляра класса для каждого элемента $file
                
$handle = new Upload($file);

                
// То мы проверяем, если файл был загружен правильно 
                   // в временного расположение в сервере (часто это / TMP)
                
if ($handle->uploaded) {

                    
// Теперь, мы начинаем «процесс» загрузки. То есть, чтобы скопировать загруженный файл 
                    // Из временной папки в нужное место 
                    // It could be something like $handle->Process('/home/www/my_uploads/');
                    
$handle->Process($dir_dest);

                        
// мы проверяем, если все прошло ОК
                        
if ($handle->processed) {
                            
// все было хорошо!
                            //Записываем новый данные файла в базуhandle->file_dst_name
                            
$file_text "<a href='post.php?id=".intval($id)."&act=download&file=".$handle->file_dst_name."'>".$handle->file_dst_name."</a>";
                            
$dbfile $db->get_array($db->query("SELECT * FROM `forum_post` ORDER BY `id` DESC"));
                            
$db->query("INSERT INTO `forum_file` (`id_post`,`id_them`,`text`,`type`,`size`,`time`,`name`) VALUES ('".intval($dbfile['id'])."','".intval($id)."','".$db->safesql($file_text)."','".engine::format($handle->file_dst_name)."','".filesize($handle->file_dst_pathname)."','".time()."','".$db->safesql($handle->file_dst_name)."')");
                                
//Доп. описание
                                
$name '<b>Файл:</b> <a href="'.$dir_pics.'/' $handle->file_dst_name '">' $handle->file_dst_name '</a>';
                                
$name .=  '(' round(filesize($handle->file_dst_pathname)/256)/'KB)';
                                    
//Успешно
                                    
echo  engine::success(Lang::__('<b>Файл успешно загружен</b>'),$name);
                                    
header('Refresh: 1; url=?id='.$id.'');
                        } else {
                            
// Если файл загружен не в нужной месте
                            
echo  engine::error(Lang::__('<b>Файл не загружен на разыскиваемого месте</b>'),'<b>Ошибка:</b> '.$handle->error);
                        }

                } else {
                    
// если мы здесь, загрузка файлов на сервер не удалось по ряду причин
                    // т.е. сервер не получить файл
                    
echo  engine::error(Lang::__('<b>Файл не загружен на сервер</b>'),'<b>Ошибка:</b> '.$handle->error);
                }
            
        }

            
$form = new form('?id='.$id.'','','','enctype="multipart/form-data"');
            
//Выводит форма добавление файлов 
                
$form->text('<div class="subpost"><span class="time">'.($num 1).'</span>');
                
$form->input(Lang::__('Прикрепить файл:'),'filename','file');
                
$form->text('</div></div><div class="submit">');        
                
$form->submit('Отправить','submit');
                
$form->text('или <a class="cancel" href="post.php?id='.$id.'">'.Lang::__('Отменить').'</a></div>');
                
$form->display();
        echo 
'</div>';            
    break;
endswitch;    
    
?>
Онлайн: 1
Реклама