Вход Регистрация
Файл: 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'] > && $_FILES['file']['size'] > $config['fileupload']) {

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

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

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

                        if (!empty(
$error)) {

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

                            @
chmod(FORUM_FILES_PATH $file_name0644);

                            
$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('Вы не авторизованы, для добавления файла, необходимо');
}

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