View file ä󿪫¬/modules/blogs/files/file_mus.php

File size: 17.3Kb
<?php
/* Mixanza Production
 * Дата последнего редактирования 21.05.2018
 * Модифицировал Mixanza
 */

foreach (array('start', 'sess', 'settings', 'db_connect', 'ipua', 'fnc') as $inc) {
    require_once "../../../sys/inc/$inc.php";
}








include_once H . 'sys/inc/user.php';
only_reg();

$set['title'] = 'Прикрепить музыку';
require_once H . 'sys/inc/thead.php';

aut();
err();

if ($df['vigruzka'] == 0 || access('adm_mysql')){


if ($pdo->query(("SELECT COUNT(*) FROM `disk` WHERE `id_user` = '".$user['id']."' AND `status` = '1' LIMIT 1"), 0)->fetchColumn()){
$disk = 62914560;
}else{
if ($user['rating'] >= 0 && $user['rating'] <= 19){
$disk = 5242880;
}

if ($user['rating'] >= 20 && $user['rating'] <= 49){
$disk = 20971520;
}

if ($user['rating'] >= 50 && $user['rating'] <= 119){
$disk = 31457280;
}

if ($user['rating'] >= 120 && $user['rating'] <= 999999999999999999999){
$disk = 31457280;
}
}

?>
<style>
.progress-bar {
 background-color: #555A5E;
 height: 34px;
 padding: 5px;
 width: 100%;
 margin-top: 3px;
 -moz-border-radius: 5px;
 -webkit-border-radius: 5px;
 border-radius: 5px;
 -moz-box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
 -webkit-box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
 box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
}

.progress-bar span {
 display: inline-block;
 height: 25px;
 width: 200px;
 -moz-border-radius: 3px;
 -webkit-border-radius: 3px;
 border-radius: 3px;
 -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
 -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
 box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
 -webkit-transition: width .4s ease-in-out;
 -moz-transition: width .4s ease-in-out;
 -ms-transition: width .4s ease-in-out;
 -o-transition: width .4s ease-in-out;
 transition: width .4s ease-in-out;
} 

.blue span {
 background-color: #34c2e3;
}

.orange span {
 background-color: #fecf23;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#fecf23), to(#fd9215));
 background-image: -webkit-linear-gradient(top, #fecf23, #fd9215);
 background-image: -moz-linear-gradient(top, #fecf23, #fd9215);
 background-image: -ms-linear-gradient(top, #fecf23, #fd9215);
 background-image: -o-linear-gradient(top, #fecf23, #fd9215);
 background-image: linear-gradient(top, #fecf23, #fd9215);
}       

.green span {
 background-color: #a5df41;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#a5df41), to(#4ca916));
 background-image: -webkit-linear-gradient(top, #a5df41, #4ca916);
 background-image: -moz-linear-gradient(top, #a5df41, #4ca916);
 background-image: -ms-linear-gradient(top, #a5df41, #4ca916);
 background-image: -o-linear-gradient(top, #a5df41, #4ca916);
 background-image: linear-gradient(top, #a5df41, #4ca916);
}

.stripes span {
 -webkit-background-size: 30px 30px;
 -moz-background-size: 30px 30px;
 background-size: 30px 30px;
 background-image: -webkit-gradient(linear, left top, right bottom,
 color-stop(.25, rgba(255, 255, 255, .15)), color-stop(.25, transparent),
 color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .15)),
 color-stop(.75, rgba(255, 255, 255, .15)), color-stop(.75, transparent),
 to(transparent));
 background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
 transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
 transparent 75%, transparent);
 background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
 transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
 transparent 75%, transparent);
 background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
 transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
 transparent 75%, transparent);
 background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
 transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
 transparent 75%, transparent);
 background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
 transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
 transparent 75%, transparent);            

 -webkit-animation: animate-stripes 3s linear infinite;
 -moz-animation: animate-stripes 3s linear infinite;
}

@-webkit-keyframes animate-stripes {
 0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}

@-moz-keyframes animate-stripes {
 0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}

.urt {
    border-radius: 4px;
    background: #3BA340;
    text-align: center;
    border-left: 2px #3BA340 solid;
    border-right: 2px #3BA340 solid;
}

.urv {
    border-radius: 4px;
    background: #E9473C;
    text-align: center;
    border-left: 2px #E9473C solid;
    border-right: 2px #E9473C solid;

}

.urp {
    border-radius: 4px;
    background: #F0B92D;
    text-align: center;
    border-left: 2px #F0B92D solid;
    border-right: 2px #F0B92D solid;
}

.urx {
    border-radius: 4px;
    background: #AC8BF1;
    text-align: center;
    border-left: 2px #AC8BF1 solid;
    border-right: 2px #AC8BF1 solid;
}
    
</style>
<?

$ban_f = $pdo->query("SELECT * FROM `ban_files` WHERE `id_user` = '$user[id]' AND `status` = '1' AND `type` = 'music' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if ($ban_f['status']==1)
{
header('location: /modules/foto/admin/ban_user.php');
}
#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/info.php?id=$user[id]'>$user[nick]</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/modules/blogs/user.php?id=$user[id]'>" . lang('блог') . "</a> <i class='fa fa-angle-right fa-fw'></i> Прикрепить музыку</div>";



	if(isset($_GET['add'])){
	    
$fl = $pdo->query("SELECT * FROM `user_music` WHERE `id_user` = '$user[id]' AND `id` = '".intval($_GET['id_files'])."' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
	    
	    
			$pdo->query("INSERT INTO `notes_files` (`name`, `id_post`, `type`, `id_file`, `id_user`, `time`, `id_f`) values('$fl[name]', '0', 'files_music', '".intval($_GET['id_files'])."', '$user[id]', '$time', '".intval($_GET['id_files'])."')");
			$_SESSION['message'] = 'Музыка успешно добавлена';
	header("Location: /modules/blogs/add.php?");
		}


///////////////////////////////////////////////////////////




$dir_id=$pdo->query("SELECT * FROM `user_dirm` WHERE `id_user` = '$user[id]' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if ($dir_id['id_user']==$user['id']){

if (isset($_GET['ok'])){
if (!isset($_FILES['file']))$err='Ошибка при выгрузке музыки';
elseif (!isset($_FILES['file']['tmp_name']) || filesize($_FILES['file']['tmp_name'])>$disk)$err[]='Размер музыки превышает установленные ограничения';
else
{
$id_dir = intval($_POST['id_dir']);    
$file=htmlspecialchars($_FILES['file']['name']);
$file=htmlspecialchars(preg_replace('(\#|\?)', NULL, $file));
$name=htmlspecialchars(preg_replace('#\.[^\.]*$#', NULL, $file)); // имя файла без расширения
$ras=htmlspecialchars(strtolower(preg_replace('#^.*\.#', NULL, $file)));
$imya=htmlspecialchars($name);
$size=htmlspecialchars(filesize($_FILES['file']['tmp_name']));
$rasss=explode(';', $dir_id['ras']);
$ras_ok=false;
for($i=0;$i<count($rasss);$i++)
{
if ($rasss[$i]!=NULL && $ras==$rasss[$i])$ras_ok=true;
}

if (!$ras_ok)$err='Неверный формат музыки';}

if (isset($_POST['metka']) && ($_POST['metka'] == '0' || $_POST['metka'] == '1'))$metka = $_POST['metka'];
else $metka = 0;

$opis=NULL;
if (isset($_POST['msg']))
$opis=stripslashes(htmlspecialchars($_POST['msg']));

if (utf8_strlen($opis)>300){$err='Описание не может превышать больше 300 символов';}


$id_dir = intval($_POST['id_dir']);
$file=htmlspecialchars($_FILES['file']['name']);
$file=htmlspecialchars(preg_replace('(\#|\?)', NULL, $file));
$name=htmlspecialchars(preg_replace('#\.[^\.]*$#', NULL, $file)); // имя файла без расширения
$ras=htmlspecialchars(strtolower(preg_replace('#^.*\.#', NULL, $file)));
$imya=htmlspecialchars($name);

if ($pdo->query(("SELECT COUNT(*) FROM `user_music` WHERE `dir` = '$id_dir' AND `name` = '$imya'"),0)->fetchColumn()!=0)
$err='Музыка с таким названием уже есть в этой папке';
if (!isset($err)){
$pdo->query("INSERT INTO `user_music` (`metka`, `dir`, `name`, `ras`, `size`, `time`, `id_user`, `opis` )
VALUES ('$metka', '$id_dir', '$imya', '$ras', '$size', '$time', '$user[id]', '$opis' )");
$id_file = $pdo->lastInsertId();
$pdo->query("INSERT INTO `notes_files` (`id_post`,`type`, `name`, `id_file`, `id_user`, `time`, `id_f`) values('0', 'files_music', '$imya', '0', '$user[id]', '$time', '$id_file')");

if (!@copy($_FILES['file']['tmp_name'], H."files/user_music/$id_file.mp3"))
{
$pdo->query("DELETE FROM `user_music` WHERE `id` = '$id_file' LIMIT 1");
$err[]='Ошибка при выгрузке музыки';
}else{
$_SESSION['message'] = 'Файл успешно загружен';
header("Location: /modules/blogs/add.php?"); 
}

}}}
///////////////////////////////////////////












?>
<link rel="stylesheet" href="style/css/email.css" type="text/css" />
<?php
if (isset($_GET['category_id'])) {
    $category_id = (int) $_GET['category_id'];
    $set['p_str'] = 24;
    $k_post = $pdo->query(("SELECT COUNT(*) FROM `user_music` WHERE `id_user` = '$user[id]'"), 0)->fetchColumn();
    $k_page = k_page($k_post, $set['p_str']);
    $page = page($k_page);
    $start = $set['p_str'] * $page - $set['p_str'];

    if ($k_post == 0) {
        $doc->NoResult();
    }

    $q = $pdo->query("SELECT * FROM `user_music` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT $start, $set[p_str]");

    echo "<div class='list-group-item'>";

    while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
    
        
        
        echo "<a href='?id_files=$post[id]&amp;add'><font color=#E66A44><i class='fa fa-music'></i></font> <b><font color=black>$post[name].$post[ras]</font></b> </a>";
    }

    echo "</div>";

    if ($k_page > 1) {
        echo "<div class='list-group-item'>";
        str('?type=file&amp;category_id=' . $category_id . '&amp;', $k_page, $page);
        echo "</div>";
    }

    $urlBack = '?type=file&amp;category';
} elseif (isset($_GET['category'])) {
    $k_post = $pdo->query(("SELECT COUNT(*) FROM `user_music` WHERE `id_user` = '$user[id]'"), 0)->fetchColumn();
    $k_page = k_page($k_post, $set['p_str']);
    $page = page($k_page);
    $start = $set['p_str'] * $page - $set['p_str'];

    if ($k_post == 0) {
        $doc->NoResult();
    }

    $q = $pdo->query("SELECT * FROM `user_music` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT $start, $set[p_str]");

    while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
        $count = $pdo->query(("SELECT COUNT(*) FROM `user_music` WHERE `id_user` = '$user[id]'"), 0)->fetchColumn();

        echo "<div class='list-group-item'>";
        echo "<a href='?id_files=$post[id]&amp;add'><font color=#E66A44><i class='fa fa-music'></i></font> <b><font color=black>$post[name].$post[ras]</font></b> </a>";
      echo "</div>";
    }

    if ($k_page > 1) {
        echo "<div class='list-group-item'>";
        str('?type=file&amp;category&amp;', $k_page, $page);
        echo "</div>";
    }

    $urlBack = '?type=file';
} else {
    $q = $pdo->query("SELECT * FROM `user_music` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT 5");

    if ($q->rowCount() > 0) {
       

        while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
        echo "<div class='list-group-item'>";     
                echo "<a href='?id_files=$post[id]&amp;add'><font color=#E66A44><i class='fa fa-music'></i></font> <b><font color=black>$post[name].$post[ras]</font></b> </a>";
     
   echo "</div>";          
        }
       
        echo "<div class='list-group-item'>";
        echo "<a href='?type=file&amp;category'>" . lang('Показать всю музыку') . "</a>";
        echo "</div>";
    } else {
        echo "<div class='alert alert-info'>" . lang('У вас еще нет на сайте загруженной музыки, но вы можете воспользоваться формой ниже') . ".</div>";
    }









echo "<form class='list-group-item' enctype=\"multipart/form-data\" name='message' action='?type=file&dir=".$dir_id['id']."&amp;ok' method=\"post\">";
	
echo "<font color='#D59435'><i class='fa fa-folder fa-lg'></i></font> <b>Выберите папку для выгрузки музыки:</b><br/>";

echo "<select name='id_dir' class='form-control' style='width: 50%;'>\n";

$k_post = $pdo->query(("SELECT COUNT(*) FROM `user_dirm` WHERE `id_user` = '$user[id]' "),0)->fetchColumn();
if ($k_post==0)
{
echo "<br>У Вас нет папок для выгрузки музыки. Пожалуйста, создайте папку.<br><br><a class='knopka' href='/user/music/edit.php?id=0&act=new'><font color=white>Создать папку</font></a>";
}

$q = $pdo->query("SELECT * FROM `user_dirm` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC");

while ($post = $q->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='$post[id]'".($id_dir == $post['id']?" selected='selected'" : null).">" . text($post['name']) . "</option>\n";
}

echo "</select>\n";



echo "<br/><b>Выберите музыку</b> <font color='gray'><small>(Не более ".size_file($disk).")</small></font> :<br />
<input class='form-control' style='width:50%;' name='file' type='file'/><br />
<b>Описание</b> <font color='gray'><small>(300 символов)</small></font> :<br />
<textarea class='form-control' name='msg'></textarea><br />";

echo "<label><input type='checkbox' name='metka' value='1' /> Метка <font color=red>18+</font></label><br /><br />

<button class='knopka' name=''><i class='fa fa-upload fa-fw'></i>  Загрузить</button><br /><br />";

 echo "</form>";



echo "<div class='list-group-item'><b>Допустимый размер выгружаемых файлов:</b><br><br>";

if ($pdo->query(("SELECT COUNT(*) FROM `disk` WHERE `id_user` = '".$user['id']."' AND `status` = '1' LIMIT 1"), 0)->fetchColumn()){
?>
 <span style="width: 10%; color: gray;"><small><b><font color=orange>60MB</font> / 60MB</b></small></span> 
<div class="progress-bar blue stripes">
<span style="width: 100%"></span>
</div><br>
<?
}else{
if ($user['rating'] >= 0 && $user['rating'] <= 19){
?>
 <span style="width: 10%; color: gray;"><small><b><font color=green>5MB</font> / 60MB</b></small> <span class='urt'><span style='position: relative;bottom: 2px;'><font color='white'><font size='-2px'>3 уровень</font></font></span></span></span> 
<div class="progress-bar blue stripes">
<span style="width: 10%"></span>
</div><br>
<?
}

if ($user['rating'] >= 20 && $user['rating'] <= 49){
?>
 <span style="width: 10%; color: gray;"><small><b><font color=green>20MB</font> / 60MB</b></small> <span class='urv'><span style='position: relative;bottom: 2px;'><font color='white'><font size='-2px'>2 уровень</font></font></span></span></span> 
<div class="progress-bar blue stripes">
<span style="width: 25%"></span>
</div><br>
<?
}

if ($user['rating'] >= 50 && $user['rating'] <= 119){
?>
 <span style="width: 10%; color: gray;"><small><b><font color=green>30MB</font> / 60MB</b></small> <span class='urp'><span style='position: relative;bottom: 2px;'><font color='white'><font size='-2px'>1 уровень</font></font></span></span></span> 
<div class="progress-bar blue stripes">
<span style="width: 50%"></span>
</div><br>
<?
}

if ($user['rating'] >= 120 && $user['rating'] <= 999999999999999999999){
?>
 <span style="width: 10%; color: gray;"><small><b><font color=green>30MB</font> / 60MB</b></small></span> 
<div class="progress-bar blue stripes">
<span style="width: 50%"></span>
</div><br>
<?
}
}
echo "<small>Объем дискового пространства: <b>не ограничен</b></small><BR><BR>";

echo "<small>Для 3 уровня аккаунтов доступно - <b>5MB</b><BR>";
echo "Для достигших 2 уровень доступно - <b>20MB</b><BR>";
echo "Для достигших 1 уровень доступно - <b>30MB</b><BR>";
echo "Для аккаунтов подключивших услугу <b>Размер выгружаемых файлов</b> доступно - <font color=orange><b>60MB</b></font> / <a href='/modules/shop/disk.php'>Подключить услугу</a></small><BR><BR>";







echo "<div class='mess'>" . lang('Разрешается выгружать музыку в формате mp3') . ".</div></div>";
}
    
    
}else{
echo "<div class='list-group-item'><div class='err'>Выгрузка файлов временно недоступна по техническим причинам</div></div>";
}
include_once H . 'sys/inc/tfoot.php';