Вход Регистрация
Файл: system/modules/doc.php
Строк: 150
<?php
/* 
    Appointment: Документы
    File: doc.php 
 
*/
if(!defined('MOZG'))
    die(
'Hacking attempt!');

if(
$logged){
    
$act $_GET['act'];
    
$user_id $user_info['user_id'];
    
    switch(
$act){
        
        
//################### Загрузка файла ###################//
        
case "upload":
            
NoAjaxQuery();
            
            
//Получаем данные о фотографии
            
$file_tmp $_FILES['uploadfile']['tmp_name'];
            
$file_name $_FILES['uploadfile']['name']; // оригинальное название для оприделения формата
            
$file_size $_FILES['uploadfile']['size']; // размер файла
            
$type end(explode("."$file_name)); // формат файла
            
            //Разришенные форматы
            
$allowed_files = array('doc''docx''xls''xlsx''ppt''pptx''rtf''pdf''png''jpg''gif''psd''mp3''djvu''fb2''ps''jpeg''txt');
            
            
//Проверям если, формат верный то пропускаем
            
if(in_array(strtolower($type), $allowed_files)){
                
                if(
$file_size 10000000){
                
                    
$res_type strtolower('.'.$type);
                    
                    
//Директория загрузки
                    
$upload_dir ROOT_DIR."/uploads/doc/{$user_id}/";
                        
                    
//Если нет папки юзера, то создаём её
                    
if(!is_dir($upload_dir)){ 
                        @
mkdir($upload_dir0777);
                        @
chmod($upload_dir0777);
                    }
                    
                    
$downl_file_name substr(md5($file_name.rand(01000).$server_time), 025);
                    
                    
//Загружаем сам файл
                    
if(move_uploaded_file($file_tmp$upload_dir.$downl_file_name.$res_type)){
                        
                        function 
formatsize($file_size){
                            if(
$file_size >= 1073741824){
                                
$file_size round($file_size 1073741824 100 ) / 100 ." Гб";
                            } elseif(
$file_size >= 1048576){
                                
$file_size round($file_size 1048576 100 ) / 100 ." Мб";
                            } elseif(
$file_size >= 1024){
                                
$file_size round($file_size 1024 100 ) / 100 ." Кб";
                            } else {
                                
$file_size $file_size." б";
                            }
                            return 
$file_size;
                        }
                        
                        
$dsize formatsize($file_size);
                        
$file_name textFilter($file_namefalsetrue);
                        
                        
//Обновляем кол-во док. у юзера
                        
$db->query("UPDATE `".PREFIX."_users` SET user_doc_num = user_doc_num+1 WHERE user_id = '{$user_id}'");
                        
                        if(!
$file_name$file_name 'Без названия.'.$res_type;
                        
                        
$strLn strlen($file_name);
                        if(
$strLn 50){
                            
$file_name str_replace('.'.$res_type''$file_name);
                            
$file_name substr($file_name050).'...'.$res_type;
                        }
                        
                        
//Вставляем файл в БД
                        
$db->query("INSERT INTO `".PREFIX."_doc` SET duser_id = '{$user_id}', dname = '{$file_name}', dsize = '{$dsize}', ddate = '{$server_time}', ddownload_name = '{$downl_file_name}{$res_type}'");
                        
                        echo 
$file_name.'"'.$db->insert_id().'"'.$dsize.'"'.strtolower($type).'"'.langdate('сегодня в H:i'$server_time);
                        
                        
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|user_{$user_id}/docs");
                        
                    }
                    
                } else
                    echo 
1;
            
            }
    
            exit;
            
        break;
        
        
//################### Удаление документа ###################//
        
case "del":
            
NoAjaxQuery();
            
            
$did intval($_POST['did']);
            
            
$row $db->super_query("SELECT duser_id, ddownload_name FROM `".PREFIX."_doc` WHERE did = '{$did}'");
            
            if(
$row['duser_id'] == $user_id){
                    
                @
unlink(ROOT_DIR."/uploads/doc/{$user_id}/".$row['ddownload_name']);
                
                
$db->query("DELETE FROM `".PREFIX."_doc` WHERE did = '{$did}'");
                
                
//Обновляем кол-во док. у юзера
                
$db->query("UPDATE `".PREFIX."_users` SET user_doc_num = user_doc_num-1 WHERE user_id = '{$user_id}'");
                
                
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|user_{$user_id}/docs");
                
            }
            
            exit;
        break;
        
        
//################### Сохранение отред.данных ###################//
        
case "editsave":
            
NoAjaxQuery();
            
            
$did intval($_POST['did']);
            
$name ajax_utf8(textFilter($_POST['name'], falsetrue));
            
$strLn strlen($name);
            if(
$strLn 50)
                
$name substr($name050);
            
            
$row $db->super_query("SELECT duser_id FROM `".PREFIX."_doc` WHERE did = '{$did}'");
            
            if(
$row['duser_id'] == $user_id AND isset($name) AND !empty($name)){

                
$db->query("UPDATE `".PREFIX."_doc`SET dname = '{$name}' WHERE did = '{$did}'");
                
                
mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|user_{$user_id}/docs");
                
            }
            
            exit;
        break;
        
        
        
//################### Скачивание документа с сервера ###################//
        
case "download";
            
NoAjaxQuery();
            
            
$did intval($_GET['did']);
            
            
$row $db->super_query("SELECT duser_id, ddownload_name, dname FROM `".PREFIX."_doc` WHERE did = '{$did}'");
            
            if(
$row){
                                
                
$filename str_replace(array('/''\', 'php', 'tpl'), '', $row['ddownload_name']);
                define('
FILE_DIR', "uploads/doc/{$row['duser_id']}/");
                
                include ENGINE_DIR . '
/classes/download.php';
                
                $config['
files_max_speed'] = 0;
                
                $format = end(explode('
.', $filename));
                
                $row['
dname'] = str_replace('.'.$format, '', $row['dname']).'.'.$format;

                if(file_exists(FILE_DIR.$filename) AND $filename){
                
                    $file = new download(FILE_DIR.$filename, $row['
dname'], 1, $config['files_max_speed']);
                    $file->download_file();
                
                }
            
            } else
                header("Location: /index.php");
            
            exit;
        break;
        
        //################### Страница всех загруженных документов ###################//
        case "list":
            
            $metatags['
title'] = 'Документы';
            
            $sql_limit = 20;
            
            if($_POST['
page_cnt'] > 0) $page_cnt = intval($_POST['page_cnt'])*$sql_limit;
            else $page_cnt = 0;
            
            if($page_cnt)
                NoAjaxQuery();

            $sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS did, dname, ddate, ddownload_name, dsize FROM `".PREFIX."_doc` WHERE duser_id = '
{$user_id}' ORDER by `ddate` DESC LIMIT {$page_cnt}, {$sql_limit}", 1);
            
            $rowUser = $db->super_query("SELECT user_doc_num FROM `".PREFIX."_users` WHERE user_id = '
{$user_id}'");
            
            if(!$page_cnt){
            
                $tpl->load_template('
doc/top_list.tpl');
                $tpl->set('
{doc-num}', $rowUser['user_doc_num']);
                $tpl->compile('
content');
                
            }
                
            $tpl->load_template('
doc/doc_list.tpl');
            foreach($sql_ as $row){

                $tpl->set('
{name}', stripslashes($row['dname']));
                $tpl->set('
{format}', end(explode('.', $row['ddownload_name'])));
                $tpl->set('
{did}', $row['did']);
                $tpl->set('
{size}', $row['dsize']);
                megaDate($row['
ddate']);
                
                $tpl->compile('
content');
            }
            
            if($page_cnt){
                
                AjaxTpl();
                exit;
                
            }
        
            if($rowUser['
user_doc_num'] > 20){
            
                $tpl->load_template('
doc/bottom_list.tpl');
                $tpl->compile('
content');
                
            }
            
        break;
        
        //################### Страница всех загруженных документов для прикрипления BOX ###################//
        default:
            
            NoAjaxQuery();
            
            $sql_limit = 20;
            
            if($_POST['
page_cnt'] > 0) $page_cnt = intval($_POST['page_cnt'])*$sql_limit;
            else $page_cnt = 0;

            $sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS did, dname, ddate, ddownload_name FROM `".PREFIX."_doc` WHERE duser_id = '
{$user_id}' ORDER by `ddate` DESC LIMIT {$page_cnt}, {$sql_limit}", 1);
            
            if(!$page_cnt){
                $rowUser = $db->super_query("SELECT user_doc_num FROM `".PREFIX."_users` WHERE user_id = '
{$user_id}'");
                
                $tpl->load_template('
doc/top.tpl');
                $tpl->set('
{doc-num}', $rowUser['user_doc_num']);
                $tpl->compile('
content');
            }
            
            $tpl->load_template('
doc/doc.tpl');
            foreach($sql_ as $row){

                $tpl->set('
{name}', stripslashes($row['dname']));
                $tpl->set('
{format}', end(explode('.', $row['ddownload_name'])));
                $tpl->set('
{did}', $row['did']);
                megaDate($row['
ddate']);
                
                $tpl->compile('
content');
            }
            
            if(!$page_cnt AND $rowUser['
user_doc_num'] > 20){
                $tpl->load_template('
doc/bottom.tpl');
                $tpl->compile('
content');
            }
            
            AjaxTpl();
            
            exit;
    }
    
    $tpl->clear();
    $db->free();
    
} else
    echo '
no_log';

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