<?php
//Muallif2: Admin Ulty telegram: +998919759905
/*
Скрипт загруз центра для JohnCMS
Автор: Максим (simba)
ICQ: 61590077
Сайт: http://symbos.su
R866920725287
Z117468354234
*/
//////////////////////////////////////////////////
////// проверка размеров файлов и запись /////////
//////////////////////////////////////////////////

defined('_IN_JOHNCMS') or die('Error: restricted access');
echo'<div class="phdr">Выгрузка файлов</div>';
$cat = intval($_GET['cat']);
$more_file = intval($_GET['file']);
$addget = $more_file ? '&amp;file='.$more_file : '';
// Выбор типа импортируемого файла //
if (!isset($_POST['type_upload'])){
    echo'<form action="admin.php?act=upload&amp;cat='.$cat.$addget.'" name="add" method="post">';
    if(!$more_file){
    echo'<div class="menu">Что будем выгружать?<br/>';
    echo'<select name="type_upload" class="textbox">';
    echo'<option value="applications">Игры/приложения</option>';
    echo'<option value="images">Картинки</option>';
    echo'<option value="videos">Видео</option>';
    echo'<option value="music">Музыку</option>';
    echo'<option value="scripts">Скрипты и т.п.</option>';
    echo'<option value="others">Прочее</option>';
    echo'</select></div>';
    }else{
        echo'<input type="hidden" name="type_upload" value="more_file"/>'; // что импортируем
    }
    echo'<div class="menu">Какое количество файлов?<br/><input type="number" name="col_files" value="1"/></div>
    <div class="menu"><input type="submit" name="type_selected" value="Далее"/></div></form>';
    echo'<div class="phdr"><a href="admin.php">Админка</a></div>';
    require_once ('../incfiles/end.php');
    exit;
    }

if(!$more_file){
// Массив настроек полей ввода //
$down_add = file_get_contents('set_add.dat');
$down_add = unserialize($down_add);
// Массив с именами полей //
$arr_input = explode(',', $down_add[$_POST['type_upload']]);
}else{
    $arr_input = array('desc');
}


if(!$_POST['col_files'])
$_POST['col_files'] = 1;
if ($_POST['type_upload'] == 'music') 
$_POST['col_files'] = 1;
// Поля ввода //
if (!isset($_POST['submit'])){

echo'<form action="admin.php?act=upload&amp;cat='.$cat.$addget.'" name="add" method="post" enctype="multipart/form-data">
<div class="rmenu">Обязательные поля отмечены звёздочкой (*)</div>';
echo'<input type="hidden" name="type_upload" value="'.$_POST['type_upload'].'"/>'; // что импортируем
echo'<input type="hidden" name="col_files" value="'.intval($_POST['col_files']).'"/>'; // сколько импортируем
// Цикл с повторяющимеся полями //
for($i=1; $i <= $_POST['col_files']; $i++){
echo'<div class="func">Файл: '.$i.'</div>
<div class="menu"><b>*</b> Выберите файл:<br/><input type="file" name="file['.$i.']"/></div>
<div class="menu"><b>*</b> Имя для отображения:<br/><input type="text" name="name['.$i.']" value=""/></div>';

// Скриншот //
if(in_array('urlscreen', $arr_input))
echo'<div class="menu">Скриншот:<br/><input type="file" name="screen['.$i.']"/></div>';

// Имя для фтп //
if(in_array('ftpname', $arr_input))
echo'<div class="menu">Имя для фтп с расширением:<br/><input type="text" name="ftp['.$i.']" value=""/></div>';

// Имя ссылки скачать //
if(in_array('namelink', $arr_input))
echo '<div class="menu">Имя для основной ссылки (в просмотре файла):<br/>
<input type="text" name="namelink['.$i.']" value=""/></div>';
if ($_POST['type_upload'] == 'music') {
$ulty = '<div class="menu">Nomi:<br/>
<input type="text" name="nomi['.$i.']" value=""/></div><div class="menu">Albom:<br/>
<input type="text" name="albomi['.$i.']" value=""/></div>';
} else {
$ulty = "";
}
// Автор //
if(in_array('autor', $arr_input))
echo '<div class="menu">Avtor:<br/>
<input type="text" name="autor['.$i.']" value=""/></div>' . $ulty . '';

// Производитель //
if(in_array('vendor', $arr_input))
echo '<div class="menu">Производитель:<br/>
<input type="text" name="vendor['.$i.']" value=""/></div>';

// Совместимость //
if(in_array('lang', $arr_input))
echo '<div class="menu">Язык интерфейса:<br/>
<input type="text" name="lang['.$i.']" value=""/></div>';

// Совместимость //
if(in_array('compatibility', $arr_input))
echo '<div class="menu">Совместимость:<br/>
<input type="text" name="compatibility['.$i.']" value=""/></div>';

// Распространяется //
if(in_array('distributed', $arr_input))
echo '<div class="menu">Распространяется:<br/>
<input type="text" name="distributed['.$i.']" value=""/></div>';

// url //
if(in_array('url', $arr_input))
echo '<div class="menu">Адрес сайта:<br/>
<input type="text" name="url['.$i.']" value=""/></div>';

// Версия //
if(in_array('ver', $arr_input))
echo '<div class="menu">Версия:<br/>
<input type="text" name="ver['.$i.']" value=""/></div>';

// Год выхода //
if(in_array('year', $arr_input))
echo '<div class="menu">Год выхода:<br/>
<input type="text" name="year['.$i.']" value=""/></div>';
if ($_POST['type_upload'] == 'music') {
echo '<div class="list2">Muallif: Admin Ulty <br />telegram: +998919759905<br />Ovozli reklama:<br /><input type="radio" value="1" name="sound" checked="checked"/> Mp3Uz.Club - Taqdim etadi!<br /><input type="radio" value="2" name="sound"/> Mp3Uz.Club\'da primyera!<br /><input type="radio" value="3" name="sound"/> Original (Reklamasiz)</div>';
}

// Описание //
if(in_array('desc', $arr_input)){
$set_download = unserialize($datauser['set_forum']);
echo '<div class="menu">Описание: <br/>';
if(!$is_mobile)
    echo bbcode::auto_bb('add', 'desc[' . $i . ']');
echo '<textarea cols="' . $set_user['field_w'] . '" rows="' . $set_user['field_h'] . '" name="desc[' . $i . ']"></textarea></div>';

}

if(!$more_file){
echo '<div class="menu"><b>*</b> Выберите каталог:<br/>
<select name="namekat['.$i.']" class="textbox">';

$impcat = mysql_query("select * from `downpath` where refid = '" . $cat . "';");
while($arr = mysql_fetch_array($impcat)){
$countp = mysql_result(mysql_query("SELECT COUNT(*) FROM `downpath` WHERE `way` LIKE '" . $arr['way'] ."%';"), 0)-1;
if($countp <= 0)
echo '<option value="'.$arr['id'].'">'.$arr['name'].'</option>';
}
echo '</select><br/><small>Отображаются только папки без вложенных папок!</small></div>';
}
}

echo '<div class="menu"><input type="submit" name="submit" value="Загрузить"/></div></form>';
}else{
    
    // Проверка и импорт //
    for($i=1; $i <= $_POST['col_files']; $i++){
        $error = array();
        $file = $_FILES['file']['name'][$i];
        $name = isset($_POST['name'][$i]) ? functions::check(trim($_POST['name'][$i])) : false;
        $linkname = functions::check(trim($_POST['namelink'][$i]));
        $urlscreen = $_FILES['screen']['name'][$i];
        $ftp = isset($_POST['ftp'][$i]) ? functions::check(trim($_POST['ftp'][$i])) : false;
        
        if(!$name){
            $error[] = 'Не заполнено имя для отображения!';
        }
        
        if($ftp){
            if (preg_match("/[^a-z0-9.()_-]/i", $ftp)){
            $error[] = 'В названии файла <b>'.$ftp.'</b> присутствуют недопустимые символы<br/>Разрешены только латинские символы, цифры и некоторые знаки ( .()_- )';
            }
        }
        
        // Получаем путь до папки //
        $catid = intval($_POST['namekat'][$i]) ? intval($_POST['namekat'][$i]) : $cat;
        $impcat = mysql_query("select * from `downpath` where id = '" . $catid . "';");
        $arr = mysql_fetch_array($impcat);
        $sloaddir = 'cachemp3/';
        $loaddir = $loadroot.'/'.$arr['way'];
        if(!$ftp){
        ////// Если не задано имя для фтп подгоняем под допустимое ///////
        $ftp = name_replace($name);
        /////// Определяем тип файла ///////
        $typ = pathinfo($file, PATHINFO_EXTENSION);
        //////// Конечное имя файла для сохранения с расширением /////////
        $ftp = $ftp.'.'.$typ;
        if(is_file($loaddir.$ftp)){
        $ftp = time().$i.$ftp;
        }}
        
        if((preg_match("/php/i", pathinfo($ftp, PATHINFO_EXTENSION))) or ($ftp == ".htaccess")){
            $error[] = 'Файл запрещёного типа!';
        }
        
        
        if(!$error){
        
        // Вставляем в описание дополнительные поля //
        $desc = '';

        // Если заполнено поле с автором
        if($_POST['autor'][$i])
        $desc = $_POST['autor'][$i];


        
        
        // Качаем файл себе на сервер //
        if(move_uploaded_file($_FILES["file"]["tmp_name"][$i], $loaddir.$ftp) == true){
        @chmod($loaddir.$ftp, 0777); // ставим права доступа
        if(!$more_file)
        $name = $name.'||||'.$linkname;
        if ($typ == 'mp3') {
$file = $loaddir.$ftp; //Путь к оригинальному мп3 файлу
if ($_POST['sound'] !== '3') {
if (copy('http://' . $url, $sloaddir . $ftp)) {
                @chmod($sloaddir . $ftp, 0777); // ставим права доступа
$sname = $sloaddir.$ftp;
require_once('getid3/getid3.php');
include 'function.joinmp3.php';
$getID3 = new getID3;
$ulty = $getID3->analyze($file);
$bitrate = str_replace('000', '', $ulty['bitrate']);
            require_once 'classes/classAudioFile.php';
            $f = new AudioFile;
            // добавляем аудиофайл
            $f->loadFile($file);
            
//$framerate = functions::checkout(str_replace('&', '&amp;', $f->printSampleFramerate()), 1, 1);
if ($_POST['sound'] == '2') {
if (file_exists('ulty/primyera/'.$bitrate.'.mp3')) $FilenamesIn[] = 'ulty/primyera/'.$framerate.'/'.$bitrate.'.mp3';
} 
if ($_POST['sound'] == '1') {
if (file_exists('ulty/taqdim/'.$bitrate.'.mp3')) $FilenamesIn[] = 'ulty/taqdim/'.$framerate.'/'.$bitrate.'.mp3';
}
$FilenamesIn[] = $file;
if ($_POST['sound'] == '2' AND $_POST['sound'] == '1') {
    if (file_exists('ulty/oxiri/'.$bitrate.'.mp3')) $FilenamesIn[] = 'ulty/oxiri/'.$framerate.'/'.$bitrate.'.mp3';
}
if (CombineMultipleMP3sTo($sname, $FilenamesIn)) {
unlink($loaddir.$ftp);
rename($sloaddir.$ftp,$loaddir.$ftp);
}
} else {
echo '<div class="rmenu">Ovozli reklama yozilmadi</div>';
}
}
require 'MP3Tool.class.php';
require 'sozlama.php';
$mp3 = new MP3Tool();
//$bit = '128'; //Битрейт нового файла
$tags = array(
'album' => '' . $_POST['albomi'][$i] . ' ['.$copy_ulty.']', //альбом
'artist' => '' . $_POST['autor'][$i] . ' ', //исполнитель
'title' => '' . $_POST['nomi'][$i] . ' ['.$copy_ulty.']', //название трека
'comment' => '['.$copy_ulty.'] saytidan yuklandi!!', //комментарий
'year' => '' . $_POST['year'][$i] . '' //год
);
$info = $mp3 -> GetMp3Info($file);

$mp3 -> Write($file, $tags, $copy_pic); //Записываем теги и обложку альбома
}
        mysql_query("INSERT INTO `downfiles` SET
        " .($more_file > 0 ? " `type` = '1', " : ''). "
        `pathid` = '" .($more_file > 0 ? $more_file : $catid). "',
        `way` = '".$arr['way'].$ftp."',
        `name` = '".$name."',
        `desc` = '".mysql_real_escape_string($desc)."',
        `time` = '" . time() . "',
        `login` = '".$login."',
        `user_id` = '".$user_id."';");
        $rid = mysql_insert_id();
        if($urlscreen){
            $scr_type = pathinfo($urlscreen, PATHINFO_EXTENSION);
            if($scr_type == 'jpg' || $scr_type == 'png' || $scr_type == 'gif' || $scr_type == 'jpeg'){
                $save_screen = $filesroot.'/screens/'.$rid.'.'.$scr_type;
                if(move_uploaded_file($_FILES["screen"]["tmp_name"][$i], $save_screen) == true){
                @chmod($save_screen, 0777); // ставим права доступа
                 mysql_query("INSERT INTO `downscreen` SET
                `fileid` = '".$rid."',
                `way` = '".$rid.".".$scr_type."';");
                echo'<div class="gmenu">Скриншот успешно загружен!</div>';
                }else{
                    echo'<div class="rmenu">Не удалось загрузить скриншот!</div>';
                }
            }else{
                echo'<div class="rmenu">Скриншот недопустимого типа!</div>';
            }
            }
        echo'<div class="gmenu">Файл успешно загружен!</div>';
        echo'<div class="menu"><a href="admin.php?act=file&amp;view='.($more_file > 0 ? $more_file : $rid).'">К файлу</a> | <a href="admin.php?act=folder&amp;cat='.$catid.'">В папку</a></div>';
        }else{
            echo'<div class="rmenu">Не удалось загрузить файл!</div>';
        }
        
        }else{
            echo '<div class="rmenu">Обнаружены ошибки!</div>';
            foreach($error as $val){
                echo '<div class="rmenu">'.$val.'</div>';
            }
        }}
    auto_clean_cache(); // Чистим кэш счётчиков
    echo'<div class="gmenu">Выгрузка файлов завершена!</div>';

}

echo '<div class="gmenu"><a href="admin.php">Админка</a></div>';
?>