Вход Регистрация
Файл: download/upl.php
Строк: 191
<?php

/**
 * @package     JohnCMS
 * @link        http://johncms.com
 * @copyright   Copyright (C) 2008-2011 JohnCMS Community
 * @license     LICENSE.txt (see attached file)
 * @version     VERSION.txt (see attached file)
 * @author      http://johncms.com/about
 */

defined('_IN_JOHNCMS') or die('Error: restricted access');

require_once (
"../incfiles/head.php");
if (
$rights == || $rights >= 6) {
    if (empty (
$_POST['cat'])) {
        
$loaddir $loadroot;
    }
    else {
        
$cat intval(trim($_POST['cat']));
        
provcat($cat);
        
$cat1 mysql_query("select * from `download` where type = 'cat' and id = '" $cat "';");
        
$adrdir mysql_fetch_array($cat1);
        
$loaddir "$adrdir[adres]/$adrdir[name]";
    }
    
$opis functions::check($_POST['opis']);
    
$fname $_FILES['fail']['name'];
    
$fsize $_FILES['fail']['size'];
    
$scrname $_FILES['screens']['name'];
    
$scrsize $_FILES['screens']['size'];
    
$scsize = @GetImageSize($_FILES['screens']['tmp_name']);
    
$scwidth $scsize[0];
    
$scheight $scsize[1];
    
$ftip functions::format($fname);
    
$ffot strtolower($scrname);
    
$dopras = array("gif""jpg""png");
    if (
$fname != "") {
        if (empty (
$_POST['newname'])) {
            
$newname str_replace(".$ftip"""$fname);
        }
        else {
            
$newname functions::check($_POST['newname']);
        }
        if (
$scrname != "") {
            
$formfot functions::format($ffot);
            if (!
in_array($formfot$dopras)) {
                echo 
"Ошибка при загрузке скриншота.<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
                require_once (
'../incfiles/end.php');
                exit;
            }
        }
        if (
$scwidth 320 || $scheight 320) {
            echo 
"Размер картинки не должен превышать разрешения 320*320 px<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
preg_match("/[^da-z_-.]+/"$scrname)) {
            echo 
"В названии изображения $scrname присутствуют недопустимые символы<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
$fsize >= 1024 $set['flsz']) {
            echo 
"Вес файла превышает " $set['flsz'] . " кб<br/>
<a href='?act=select&amp;cat=" 
$cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
preg_match("/[^da-z_-.]+/"$fname)) {
            echo
            
"В названии файла <b>$fname</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='?act=select&amp;cat="
            
$cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
preg_match("/[^da-z_-.]+/"$newname)) {
            echo
            
"В новом названии файла <b>$newname</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='?act=select&amp;cat="
            
$cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if ((
preg_match("/.php/i"$fname)) or (preg_match("/.pl/i"$fname)) or ($fname == ".htaccess") or (preg_match("/php/i"$newname)) or (preg_match("/.pl/i"$newname)) or ($newname == ".htaccess")) {
            echo 
"Попытка отправить файл запрещенного типа.<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if ((
move_uploaded_file($_FILES["screens"]["tmp_name"], "$screenroot/$newname.$ftip.$formfot")) == true) {
            
$ch1 "$newname.$ftip.$formfot";
            @ 
chmod("$ch1"0777);
            @ 
chmod("$screenroot/$ch1"0777);
            echo 
"Скриншот загружен!<br/>";
        }
        
$newname "$newname.$ftip";
        if ((
move_uploaded_file($_FILES["fail"]["tmp_name"], "$loaddir/$newname")) == true) {
            
$ch $newname;
            @ 
chmod("$ch"0777);
            @ 
chmod("$loaddir/$ch"0777);
            echo 
"Файл загружен!<br/>";
            
mysql_query("insert into `download` values(0,'" $cat "','" $loaddir "','" time() . "','" $ch "','file','','','','" $opis "','" $ch1 "');");
        }
        else {
            echo 
"Ошибка при загрузке файла<br/>";
        }
    }
    if (!empty (
$_POST['fail1'])) {
        
$uploadedfile $_POST['fail1'];
        if (
strlen($uploadedfile) > 0) {
            
$array explode('file='$uploadedfile);
            
$tmp_name $array [0];
            
$filebase64 $array [1];
        }
        
$ftip functions::format($tmp_name);
        if (empty (
$_POST['newname'])) {
            
$newname str_replace(".$ftip"""$tmp_name);
        }
        else {
            
$newname functions::check($_POST['newname']);
        }
        if (!empty (
$_POST['screens1'])) {
            
$uploaddir1 "$screenroot";
            
$uploadedfile1 $_POST['screens1'];
            if (
strlen($uploadedfile1) > 0) {
                
$array1 explode('file='$uploadedfile1);
                
$tmp_name1 $array1[0];
                
$filebas64 $array1[1];
            }
            if (
eregi("[^a-z0-9.()+_-]"$tmp_name1)) {
                echo
                
"В названии файла <b>$tmp_name1</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='?act=select&amp;cat="
                
$cat "'>Повторить</a></div>";
                require_once (
'../incfiles/end.php');
                exit;
            }
            
$ffot strtolower($tmp_name1);
            
$dopras = array("gif""jpg""png");

            
$formfot functions::format($ffot);
            if (!
in_array($formfot$dopras)) {
                echo 
"Ошибка при загрузке скриншота.<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
                require_once (
'../incfiles/end.php');
                exit;
            }
            if (
strlen($filebas64) > 0) {
                
$FileName1 "$uploaddir/$newname.$ftip.$formfot";
                
$filedata1 base64_decode($filebas64);
                
$fid1 = @ fopen($FileName1"wb");
                if (
$fid1) {
                    if (
flock($fid1LOCK_EX)) {
                        
fwrite($fid1$filedata1);
                        
flock($fid1LOCK_UN);
                    }
                    
fclose($fid1);
                }
                if (
file_exists($FileName1) && filesize($FileName1) == strlen($filedata1)) {
                    
$sizsf GetImageSize("$FileName1");
                    
$widthf $sizsf[0];
                    
$heightf $sizsf[1];
                    if (
$widthf 320 || $heightf 320) {
                        echo 
"Размер картинки не должен превышать разрешения 320*320 px<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
                        
unlink("$FileName1");
                        require_once (
'../incfiles/end.php');
                        exit;
                    }
                    echo 
'Скриншот загружен!<br/>';

                    
$ch1 "$newname.$ftip.$formfot";

                }
                else {
                    echo 
'Ошибка при загрузке скриншота<br/>';
                }
            }
        }
        
$uploaddir "$loaddir";
        if (
eregi("[^a-z0-9.()+_-]"$tmp_name)) {
            echo
            
"В названии файла <b>$tmp_name</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='?act=select&amp;cat="
            
$cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
eregi("[^a-z0-9.()+_-]"$newname)) {
            echo
            
"В новом названии файла <b>$newname</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br /><a href='?act=select&amp;cat="
            
$cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if ((
preg_match("/php/i"$tmp_name)) or (preg_match("/.pl/i"$tmp_name)) or ($fname == ".htaccess") or (preg_match("/php/i"$newname)) or (preg_match("/.pl/i"$newname)) or ($newname == ".htaccess")) {
            echo 
"Попытка отправить файл запрещенного типа.<br/><a href='?act=select&amp;cat=" $cat "'>Повторить</a><br/>";
            require_once (
'../incfiles/end.php');
            exit;
        }
        if (
strlen($filebase64) > 0) {
            
$FileName "$uploaddir/$newname.$ftip";
            
$filedata base64_decode($filebase64);
            
$fid = @ fopen($FileName"wb");
            if (
$fid) {
                if (
flock($fidLOCK_EX)) {
                    
fwrite($fid$filedata);
                    
flock($fidLOCK_UN);
                }
                
fclose($fid);
            }
            if (
file_exists($FileName) && filesize($FileName) == strlen($filedata)) {
                
$siz filesize("$FileName");
                
$siz round($siz 10242);
                if (
$siz >= 1024 $set['flsz']) {
                    echo 
"Вес файла превышает " $set['flsz'] . " кб<br/>
<a href='?act=select&amp;cat=" 
$cat "'>Повторить</a><br/>";
                    
unlink("$FileName");
                    require_once (
'../incfiles/end.php');
                    exit;
                }
                echo 
'Файл загружен!<br/>';

                
$ch "$newname.$ftip";
                
mysql_query("insert into `download` values(0,'" $cat "','" $loaddir "','" time() . "','" $ch "','file','','','','" $opis "','" $ch1 "');");
            }
            else {
                echo 
'Ошибка при загрузке файла<br/>';
            }
        }
    }
}
else {
    echo 
"Нет доступа!";
}
echo 
"&#187;<a href='?cat=" $cat "'>В папку</a><br/>";

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