Вход Регистрация
Файл: CMS/core/modules/forum_addfile.php
Строк: 65
<?php

if (!defined('CMS')) { die('Access Denied!'); }

// Get dir size
function dir_size($dir) {

    
$sz = 0;
    if (
$str = @opendir($dir)) {
        while ((
$fnm = readdir($str)) !== false) {
            if (
$fnm[0] != '.') {
                if (
is_file($dir . '/' . $fnm)) {
                    
$sz += filesize($dir . '/' . $fnm);
                } else if (
is_dir($dir . '/' . $fnm)) {
                    
$sz += dir_size($dir . '/' . $fnm);
                }
            }
        }
    }
    
closedir($str);
    return 
$sz;
}

if (
$is_logged) {

    
$row = $db->selectRow( "SELECT * FROM ?_forums_posts WHERE `posts_id` = ? LIMIT 1;", $id );

    if (!empty(
$row)) {

        
$tid = intval($row['posts_topics_id']);

        if (
$is_admin || $config['downupload'] == 1) {

            if (!empty(
$mod) && $mod == 'del_file') {

                if (!empty(
$row['posts_file'])) {

                    if (
$row['posts_user'] == $log || $is_admin) {

                        if (!empty(
$row['posts_file']) && file_exists(FORUM_FILES_PATH . $row['posts_file'])) {

                            
unlink(FORUM_FILES_PATH . $row['posts_file']);
                        }

                        
$db->query("UPDATE ?_forums_posts
                                    SET `posts_file` = '', `posts_file_size` = '0', `posts_file_time` = '0', `posts_file_load` = '0'
                                    WHERE `posts_id` = ?;"
, $id);

                        
$inSes->addMessage('Файл ' . $row['posts_file'] . ' успешно удален!', 'ok');
                    }
                    else {

                        
$inSes->addMessage('Ошибка! Удаление невозможно, вы не автор данного файла!');
                    }
                }
                else {

                    
$inSes->addMessage('Ошибка! Данного файла не существует!');
                }

                
gen_red('topic', $tid, 'page=' . $page . '&' . UID);
            }
            else {

                if (
$row['posts_user'] == $log || $is_admin) {

                    if (empty(
$_FILES) === false) {

                        
$temp_name = $_FILES['file']['tmp_name'];
                        
$file_name = $_FILES['file']['name'];
                        
$file_type = $_FILES['file']['type'];
                        
$file_size = @round(($_FILES['file']['size']) / 1024); // kb
                        
$result    = $_FILES['file']['error'];
                        
$error     = '';

                        if (!empty(
$row['posts_file'])) {

                            
$error = 'Файл ' . $row['posts_file'] . ' уже имеется в базе!';
                        }
                        else if (
round((dir_size(FORUM_FILES_PATH) + $file_size) / 1048576) > $config['max_dir_upload']) {

                            
$error = 'Превышен максимальный объём файлов!';
                        }
                        else if (!
$file_name) {

                            
$error = 'Не выбран файл для загрузки';
                        }
                        else if (
file_exists(FORUM_FILES_PATH . $file_name)) {

                            
$error = 'Файл ' . $file_name . ' уже имеется в общих файлах!';
                        }
                        else if (
$_FILES['file']['size'] > 0 && $_FILES['file']['size'] > $config['fileupload']) {

                            
$error = 'Максимальный размер загружаемого файла ' . formatsize($config['fileupload']) . '!';
                        }
                        else if (!
in_array(strtolower(pathinfo($file_name, PATHINFO_EXTENSION)), explode(',', $config['allowextload']))) {

                            
$error = 'Недопустимое расширение файла!';
                        }
                        else if (!
move_uploaded_file($temp_name, FORUM_FILES_PATH . $file_name) || !filesize(FORUM_FILES_PATH . $file_name)) {

                            
$error = 'Не удалось загрузить файл!';
                        }

                        if (!empty(
$error)) {

                            
$inSes->addMessage('Ошибка! ' . $error, 'error');
                        }
                        else {

                            @
chmod(FORUM_FILES_PATH . $file_name, 0644);

                            
$db->query("UPDATE ?_forums_posts SET `posts_file` = ?, `posts_file_size` = ?, `posts_file_time` = ?
                                        WHERE `posts_id` = ?;"
, $file_name, $_FILES['file']['size'], SITE_TIME, $id);

                            
$inSes->addMessage('Файл успешно загружен!', 'ok');
                        }

                        
gen_red('topic', $tid, 'page=' . $page . '&' . UID);
                    }

                    
show_header('Прикрепление файла');
      
                    
$form = new cmsForm(gen_uri('add_file', $id, 'rnd=' . $_SESSION['token'] . '&amp;' . UID), 'post');
                    
$form->addFile(blink('*') . 'Прикрепить файл:', 'file');
                    echo 
$form->Submit('Загрузить');
                    unset(
$form);
                }
                else {

                    
$inSes->addMessage('Изменение невозможно, вы не автор данного файла!');
                    
gen_red('topic', $id, 'page=' . $page . '&' . UID);
                }
            }
        }
        else {

            
show_header('Прикрепление файла - ' . FORUM_TITLE);
            
show_error('Возможность добавление файлов запрещена администрацией сайта');
        }

        echo 
'<div class="b">';
        echo 
'<a href="#up">' . icon('up.png') . '</a> ';
        echo 
'<a href="' . gen_uri('smiles', '', UID) . '">Смайлы</a>  / ';
        echo 
'<a href="' . gen_uri('tags', '', UID) . '">Теги</a>  / ';
        echo 
'<a href="' . gen_uri('rules', '', UID) . '">Правила</a><br /></div>';
        echo 
'<div class="b">' . icon('back.gif');
        echo 
' <a href="' . gen_uri('topic', $tid, 'page=' . $page . '&amp;' . UID) . '">Вернуться</a><br /></div>';
    }
    else {

        
show_header('Прикрепление файла - ' . FORUM_TITLE);
        
show_error('Ошибка! Выбранное вами сообщение не найдено!');
    }

}
else {

    
show_header('Прикрепление файла - ' . FORUM_TITLE);
    
show_login('Вы не авторизованы, для добавления файла, необходимо');
}

?>
Онлайн: 0
Реклама