<?
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../../sys/inc/$inc.php";
}
only_reg('/reg.php');
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` = 'files' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if ($ban_f['status']==1)
{
header('location: /user/file/admin/ban_user.php');
}
### Проверка существует ли папка
if (isset($_GET['id']))$id=intval($_GET['id']);
$id_dir=intval($_GET['dir']);
if(isset($_GET['id']) && $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"),0)->fetchColumn()==1)
{
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
include_once '../../../modules/groups/inc/ban.php';
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$dir = $pdo->query("SELECT * FROM `soo_dir` WHERE `id` = '$id_dir' AND `id_soo` = '$soo[id]' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if(isset($_GET['dir']) && $pdo->query(("SELECT COUNT(*) FROM `soo_dir` WHERE `id` = '".intval($_GET['dir'])."' AND `id_soo`='$soo[id]' LIMIT 1"),0)->fetchColumn()==1)
{
$id = intval($_GET['dir']);
}else{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
err404();
include_once '../../../sys/inc/tfoot.php';
exit();
}
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
if($pdo->query(("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()!=0)
{
$set['title']='Файл'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
echo '<div class="list-group-item">';
echo '<div class="err">Вы добавлены в черный список группы и не можете просмотреть данный объект</div>';
echo '</div>';
}else{
$set['title']='Добавить файл'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
only_reg();
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$dir = $pdo->query("SELECT * FROM `soo_dir` WHERE `id` = '$id_dir' AND `id_soo` = '$soo[id]' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
#Навигация
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='/modules/groups/group.php?id=$soo[id]'>$soo[name]</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/modules/groups/file/index.php?id=$soo[id]'>";
echo lang('Файлы группы');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/modules/groups/file/dir.php?id=$soo[id]&dir=$dir[id]'>$dir[name]</a> <i class='fa fa-angle-right fa-fw'></i> Добавить файл</div>";
if($soo['private_file']==1 && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'])
{
echo '<div class="list-group-item">';
echo '<center><img src="/style/info/12.png" style="width: 120px; height: 120px;"><br><br><b>Просматривать файлы группы могут только её участники</b></center>';
echo '</div>';
}else{
if($soo['private_fileadd']==0){
$fileadd = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}elseif($soo['private_fileadd']==1){
$fileadd = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}elseif($soo['private_fileadd']==2){
$fileadd = $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '$soo[id]' AND `admid` = '$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'];
}
if($soo['private_fileadd']==$soo['private_fileadd'] && $fileadd)
{}else{
echo "<div class=\"list-group-item\">";
function zam($am){return strtr($am, " .&", "___");}
if (isset($_GET['ok'])){
if (!isset($_FILES['file']))$err='Ошибка при выгрузке файла';
elseif (!isset($_FILES['file']['tmp_name']) || filesize($_FILES['file']['tmp_name'])>$disk)$err[]='Размер музыки превышает установленные ограничения';
else
{
$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(zam($name));
$size=htmlspecialchars(filesize($_FILES['file']['tmp_name']));
$rasss=explode(';', $dir['ras_f']);
$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(esc($_POST['msg'])));
if (utf8_strlen($opis)>300){$err='Описание не может превышать больше 300 символов';}
$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(zam($name));
if ($pdo->query(("SELECT COUNT(*) FROM `soo_files` WHERE `dir` = '$id_dir' AND `name` = '$imya'"),0)->fetchColumn()!=0)
$err='Файл с таким названием уже есть в этой папке';
if (!isset($err)){
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$id_dir=intval($_GET['dir']);
$pdo->query("INSERT INTO `soo_files` (`metka`, `dir`, `name`, `ras`, `size`, `time`, `id_user`, `id_soo`, `opis` )
VALUES ('$metka', '$id_dir', '$imya', '$ras', '$size', '$time', '$user[id]', '$soo[id]', '".htmlspecialchars($opis)."' )");
$id_file = $pdo->lastInsertId();
//////////////// лента ////////////////
$file_us = $pdo->query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='0' AND `invit`='0'");
while ($fil = $file_us->fetch(PDO::FETCH_BOTH))
{
$name2="добавил(а) файл в группе $soo[name]";
$lentams="[url=/modules/groups/file/file.php?id=$soo[id]&dir=$id_dir&id_file=$id_file] $imya [/url]";
$pdo->query("INSERT INTO `lenta` (`id_user`, `id_kont`, `msg`, `name`, `type`, `time`) values('$user[id]', '$fil[id_user]', '".mysql_real_escape_string($lentams)."', '".htmlspecialchars($name2)."', 'group', '$time')");
}
//////////////////////////////////////////
$name23="добавил(а) файл в группе $soo[name]";
$lentams1="[url=/modules/groups/file/file.php?id=$soo[id]&dir=$id_dir&id_file=$id_file] $imya [/url]";
$pdo->query("INSERT INTO `lenta` (`id_user`, `id_kont`, `msg`, `name`, `type`, `time`) values('$user[id]', '$soo[admid]', '".mysql_real_escape_string($lentams1)."', '".htmlspecialchars($name23)."', 'group', '$time')");
//////////////////////////////////////////
$mod = $pdo->query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `mod`='1'")->fetch(PDO::FETCH_BOTH);
$name24="добавил(а) файл в группе $soo[name]";
$lentams2="[url=/modules/groups/file/file.php?id=$soo[id]&dir=$id_dir&id_file=$id_file] $imya [/url]";
$pdo->query("INSERT INTO `lenta` (`id_user`, `id_kont`, `msg`, `name`, `type`, `time`) values('$user[id]', '$mod', '".mysql_real_escape_string($lentams2)."', '".htmlspecialchars($name24)."', 'group', '$time')");
//////////////////////////////////////////
if (!@copy(htmlspecialchars($_FILES['file']['tmp_name']), H."files/groups/files/$id_file.$ras"))
{
$pdo->query("DELETE FROM `soo_files` WHERE `id` = '$id_file' LIMIT 1");
$err[]='Ошибка при выгрузке файла';
}
///////////////////////////////////////работа с файлом///////////////////////////
if ($df['rezjim']==0){
$_SESSION['message'] = 'Файл успешно выгружен';
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
header("location: dir.php?id=".$soo['id']."&dir=".$id_dir."");
}else{
$path_get = 'groups/files'; //путь к папке на сервере 2
$ras_get = $ras; //расширение файла
$id_get = $id_file; //идентификатор файла
$dir_get = 'http://facefree.ru/files/groups/files/'; //путь к файлу на сервере 1
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, ''.$df['name'].'/receiver.php?id='.$id_get.'&path='.$path_get.'&ras='.$ras_get.'&dir='.$dir_get.'&key='.$df['key'].'');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$out = curl_exec($curl);
if ($out == '0'){
$_SESSION['err'] = 'Что-то пошло не так. Попробуйте ещё раз';
$pdo->query("DELETE FROM `soo_files` WHERE `id` = '$id_file' LIMIT 1");
unlink(htmlspecialchars($_SERVER['DOCUMENT_ROOT']).'/files/groups/files/'.$id_get.'.'.$ras_get.'');
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
header("location: upload.php?id=".$soo['id']."&dir=".$id_dir."");
}elseif ($out == '1'){
$_SESSION['err'] = 'Недопустимый формат файла';
$pdo->query("DELETE FROM `soo_files` WHERE `id` = '$id_file' LIMIT 1");
unlink(htmlspecialchars($_SERVER['DOCUMENT_ROOT']).'/files/groups/files/'.$id_get.'.'.$ras_get.'');
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
header("location: upload.php?id=".$soo['id']."&dir=".$id_dir."");
}elseif ($out == '2'){
unlink(htmlspecialchars($_SERVER['DOCUMENT_ROOT']).'/files/groups/files/'.$id_get.'.'.$ras_get.'');
$_SESSION['message'] = 'Файл успешно выгружен';
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
header("location: dir.php?id=".$soo['id']."&dir=".$id_dir."");
}else{
$_SESSION['err'] = 'Неизвестная ошибка. Файловый сервер временно не может принять выгрузку файлов';
$pdo->query("DELETE FROM `soo_files` WHERE `id` = '$id_file' LIMIT 1");
unlink(htmlspecialchars($_SERVER['DOCUMENT_ROOT']).'/files/groups/files/'.$id_get.'.'.$ras_get.'');
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
header("location: upload.php?id=".$soo['id']."&dir=".$id_dir."");
}
curl_close($curl);
}
}
/////////////////////////////////////////////////////////////////////////////////
}}
err();
aut();
echo "<form enctype=\"multipart/form-data\" name='message' action='?id=".htmlspecialchars($_GET['id'])."&dir=".htmlspecialchars($id_dir)."&ok' method=\"post\">
<b>Папка: <font color='#D59435'><i class='fa fa-folder fa-lg'></i></font> ".htmlspecialchars($dir['name'])."</b><br/><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 "<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\">Разрешается выгружать файлы в форматах: ".toOutput($dir['ras_f'])."</div></form>\n";
echo "</div>";
}}
}
}
else
{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
err404();
}
}else{
echo "<div class='list-group-item'><div class='err'>Выгрузка файлов временно недоступна по техническим причинам</div></div>";
}
include_once '../../../sys/inc/tfoot.php';
?>