View file ä󿪫¬/modules/obmen/index.php

File size: 16.9Kb
<?php

require_once '../../sys/inc/start.php';
if (isset($_GET['showinfo']) || !isset($_GET['f']) || isset($_GET['komm'])) {
    require_once H . 'sys/inc/compress.php';
}
require_once H . 'sys/inc/sess.php';
require_once H . 'sys/inc/settings.php';
require_once H . 'sys/inc/db_connect.php';
require_once H . 'sys/inc/ipua.php';
require_once H . 'sys/inc/fnc.php';
require_once H . 'sys/inc/obmen.php';
require_once H . 'sys/inc/user.php';

define('DIR_OBMEN', '/modules/obmen/');
if (isset($_GET['d']) && esc($_GET['d']) != NULL) {
    $l = preg_replace("#\.{2,}#", NULL, esc(urldecode($_GET['d'])));
    $l = preg_replace("#\./|/\.#", NULL, $l);
    $l = preg_replace("#(/){1,}#", "/", $l);
    $l = '/' . preg_replace("#(^(/){1,})|((/){1,}$)#", "", $l);
} else {
    $l = '/';
}
 $dir_id = $pdo->query(("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
if ($l == '/') {
    $dir_id['upload'] = 0;
    $id_dir = 0;
    $l = '/';
} elseif ($pdo->query(("SELECT COUNT(*) FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"), 0)->fetchColumn() != 0) {
    $dir_id = $pdo->query(("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
    $id_dir = $dir_id['id'];
} else {
    $dir_id['upload'] = 0;
    $id_dir = 0;
    $l = '/';
}         

if (isset($_GET['f'])) {
    $f = esc(urldecode($_GET['f']));
    $name = preg_replace('#\.[^\.]*$#', NULL, $f); // имя файла без расширения
    $ras = strtolower(preg_replace('#^.*\.#', NULL, $f));
    $ras = str_replace('jad', 'jar', $ras);
$file_id = $pdo->query(("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' AND `ras` = '$ras' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

    if ($pdo->query(("SELECT COUNT(*) FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' AND `ras` = '$ras' LIMIT 1"), 0)->fetchColumn() != 0) {
        $ras = htmlspecialchars($file_id['ras']);
        $file_id = $pdo->query(("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' AND `ras` = '$ras' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

        $file = H . "sys/obmen/files/$file_id[id].dat";
        $name = htmlspecialchars($file_id['name']);
        $size = htmlspecialchars($file_id['size']);

        define('SCR_WIDTH', IS_WEB ? $set['loads_screen_size_web'] : $set['loads_screen_size_wap']); // максимальная ширина скриншотов
        define('LF_FILE', $file_id['name'] . '.' . $file_id['ras']); // название файла на сервере
        define('LF_PATH', realpath(H . "sys/obmen/files/$file_id[id].dat")); // полный путь до файла
        define('LF_RAS', $ras); // расширение (в нижнем регистре)
        define('LF_NAME', $name);
        define('LF_ID', $file_id['id']);
        if (!isset($_GET['showinfo']) && !isset($_GET['komm']) && is_file(H . 'sys/obmen/files/' . $file_id['id'] . '.dat')) {
            if ($ras == 'jar' && strtolower(preg_replace('#^.*\.#', NULL, $gfile)) == 'jad') {
                $zip = new PclZip(H . 'sys/obmen/files/' . $file_id['id'] . '.dat');
                $content = $zip->extract(PCLZIP_OPT_BY_NAME, "META-INF/MANIFEST.MF", PCLZIP_OPT_EXTRACT_AS_STRING);
                $jad = preg_replace("#(MIDlet-Jar-URL:( )*[^(\n|\r)]*)#i", NULL, $content[0]['content']);
                $jad = preg_replace("#(MIDlet-Jar-Size:( )*[^(\n|\r)]*)(\n|\r)#i", NULL, $jad);
                $jad = trim($jad);
                $jad.="\r\nMIDlet-Jar-Size: " . filesize(H . 'sys/obmen/files/' . $file_id['id'] . '.dat') . "";
                $jad.="\r\nMIDlet-Jar-URL: /modules/obmen$dir_id[dir]$file_id[name].$file_id[ras]";
                $jad = br($jad, "\r\n");
                header('Content-Type: text/vnd.sun.j2me.app-descriptor');
                header('Content-Disposition: attachment; filename="' . $file_id['name'] . '.jad";');
                echo $jad;
                exit;
            }

            @$pdo->query("UPDATE `obmennik_files` SET `k_loads` = '" . ($file_id['k_loads'] + 1) . "' WHERE `id` = '$file_id[id]' LIMIT 1");









            require_once H . 'sys/inc/downloadfile.php';
            DownloadFile(H . 'sys/obmen/files/' . $file_id['id'] . '.dat', $name . '.' . $ras, ras_to_mime($ras));
            exit;
        } elseif (isset($_GET['komm']) && is_file(H . 'sys/obmen/files/' . $file_id['id'] . '.dat')) {
            $set['title'] = 'Загрузки - Комментарии - ' . $file_id['name']; // заголовок страницы
            $_SESSION['page'] = 1;
            require_once H . 'sys/inc/thead.php';
            require_once 'inc/komm_act.php'; // действия с комментариями
            require_once 'inc/komm.php';

            echo "<div class='list-group-item'>";
            echo "<a href='/modules/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]?showinfo'><i class='fa fa-arrow-left fa-fw'></i> К описанию</a><br />\n";
            echo "<a href='/modules/obmen$dir_id[dir]'><i class='fa fa-arrow-left fa-fw'></i> В папку</a>";
            echo "</div>";

            require_once H . 'sys/inc/tfoot.php';
            exit;
            
            
            
            
            
            
            
            
            
            
        } else {
@$pdo->query("UPDATE `obmennik_files` SET `k_loads` = '" . ($file_id['k_loads'] + 1) . "' WHERE `id` = '$file_id[id]' LIMIT 1");
            $set['title'] = 'Загрузки'; // заголовок страницы
            
            require_once H . 'sys/inc/thead.php';
            aut(); // форма авторизации
           
$file_id = $pdo->query(("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$id_dir' AND `name`='$name' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
      
            $ank = get_user($file_id['id_user']);
            include 'inc/file_act.php';
if (access('loads_file_edit')){
if(isset($_GET['r']))
{
$pdo->query("UPDATE `obmennik_files` SET `block_comm` = 'NULL', `block` = '0', `block_yes` = '0', `id_ban` = '0' WHERE `id`='".intval($_GET['block_id'])."'");

$_SESSION['message'] = 'Файл успешно разблокирован';
header("Location: ?showinfo");
}


if(isset($_POST['block_comm']) && isset($_POST['block']))
{
$comm = esc(stripcslashes(htmlspecialchars($_POST['block_comm'])));
$block = htmlspecialchars($_POST['block']);

if (utf8_strlen($comm)>500)$err[]='Комментарий не должен быть длиннее 500 символов';

if(!isset($err))
{
$pdo->query("UPDATE `obmennik_files` SET `block_comm` = '$comm', `block` = '$block', `block_yes` = '1', `id_ban` = '".$user['id']."' WHERE `id`='".intval($_GET['block_id'])."'");

$_SESSION['message'] = 'Файл успешно заблокирован';
header("Location: ?showinfo");    
}
}

}




            if (isset($_GET['fav']) && isset($user)) {

                if ($pdo->query(("SELECT COUNT(*) FROM `bookmark_files` WHERE `id_user` = '" . $user['id'] . "' AND `id_file` = '" . $file_id['id'] . "' LIMIT 1"), 0)->fetchColumn() == 0 && $_GET['fav'] == 1) {
                    $pdo->query("INSERT INTO `bookmark_files` (`id_file`, `id_user`, `time`) VALUES ('$file_id[id]', '$user[id]', '$time')");
                    $_SESSION['message'] = htmlspecialchars($file_id['name']) . ' добавлен в закладки';
                }

                if ($pdo->query(("SELECT COUNT(*) FROM `bookmark_files` WHERE `id_user` = '" . $user['id'] . "' AND `id_file` = '" . $file_id['id'] . "' LIMIT 1"), 0)->fetchColumn() == 1 && $_GET['fav'] == 0) {
                    $pdo->query("DELETE FROM `bookmark_files` WHERE `id_user` = '$user[id]' AND  `id_file` = '$file_id[id]'");
                    $_SESSION['message'] = htmlspecialchars($file_id['name']) . ' удален из закладок';
                }

                header("Location: ?showinfo");
                exit;
            }
            
            
/*------------------------Мне нравится------------------------*/

$ank=$pdo->query("SELECT * FROM `user` WHERE `id` = '$file_id[id_user]' LIMIT 1")->fetch(PDO::FETCH_BOTH);

if (isset($user))
{
	if (isset($_GET['like']) && $_GET['like'] == 1)
	{
		if ($pdo->query(("SELECT COUNT(*) FROM `like_objecto` WHERE `id_user` = '".$user['id']."' AND `id_object` = '".$file_id['id']."' LIMIT 1"),0)->fetchColumn()==0)
		{
			$pdo->query("INSERT INTO `like_objecto` (`id_user`, `id_object`, `type`, `like`) VALUES ('$user[id]', '$file_id[id]', 'obmen', '".intval($_GET['like'])."')");


if($file_id['id_user']!=$user['id']){
 if ($ank['jurnal_obmen']==1){   
/////////////////////////журнал///////////////

$pdo->query("UPDATE `audio_count` SET `count` = '1' WHERE `id_user`='".intval($file_id['id_user'])."'"); 
$name2="$user[nick] понравился ваш файл в загрузках";

$msg2="[url=/modules/obmen$dir_id[dir]$file_id[name].$file_id[ras]?showinfo ] ".mb_substr($file_id['name'],0,20,'UTF-8')."... [/url]";

$pdo->query("INSERT INTO `jurnal` (`avtor`, `id_user`, `id_kont`, `msg`, `name`, `type`, `time`) values('$user[id]', '0', '$file_id[id_user]', '".htmlspecialchars($msg2)."', '".htmlspecialchars($name2)."', 'obmen', '$time')");

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

 }   
    
}
		$_SESSION['message'] = 'Ваш голос засчитан';
			header("Location: ?showinfo");
			exit;
		}
	}


}
            
            
            
            
            
 
            err();

            #Навигация
            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='" . DIR_OBMEN . "'>" . lang('Загрузки') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
            echo "<a href='/modules/obmen$dir_id[dir]'>$dir_id[name]</a> <i class='fa fa-angle-right fa-fw'></i> ";
            echo cutStr($file_id['name'], 30);
            echo "</div>";



if ($file_id['block_yes']==1)
{
echo "<div class='list-group-item'><br><div class='mess'>";
echo "<b>Файл заблокирован модератором ";
echo user($file_id['id_ban']);
echo " </b><br><br>";
echo "Причина: ";
if ($file_id['block']==1){
echo "Грубость и оскорбления";
}
if ($file_id['block']==2){
echo "Разжигание ненависти";
}
if ($file_id['block']==3){
echo "Мошенничество";
}
if ($file_id['block']==4){
echo "Нецензурная лексика";
}
if ($file_id['block']==5){
echo "Педофилия";
}
if ($file_id['block']==6){
echo "Спам, реклама или мошенничество ";
}

if ($file_id['block']==7){
echo "Иная ";
}
echo "<br><br>";
echo "Комментарий: $file_id[block_comm]";


echo "</div><br></div>";
}else{

?>
<style>
.d_c {
background-color: #5CAC5F;  
padding: 5px;
border-radius: 4px 0px 0px 4px;
border: 1px #9AADB6 solid;
}

.d_c2 {
background-color: white;  
padding: 5px;
border-radius: 0px 4px 4px 0px;
border: 1px #9AADB6 solid;
}
</style>
<?

            if (is_file("inc/file/$ras.php")) {
                include "inc/file/$ras.php";
            } else {
                require_once 'inc/file.php';
            }
} 





if (access('loads_file_edit')){
echo "<div class='list-group-item'>";
?>
<style>
.adm {
background-color: #F8EDEA; 
padding: 5px;
color: #B99488;
border: 1px #E0BCB1 solid;
border-radius: 3px;
}   
</style>
<?
if ($file_id['block_yes']==1)
{
echo "<a style='float: left;' href='?showinfo&block_id=$file_id[id]&id_ank=$ank[id]&r'><button class='adm'>Разблокировать</button></a> ";
}else{
echo "<a style='float: left;' href='?showinfo&block_id=$file_id[id]&id_ank=$ank[id]'><button class='adm'>Заблокировать</button></a> ";
}

$ban = $pdo->query(("SELECT * FROM `ban_files` WHERE `id_files` = '$file_id[id]' AND `id_user` = '$user[id]' AND `type` = 'obmen' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
   
if ($ban['status']==1)
{
echo " <a style='float: left; position: relative; left: 2px;' href='&block_id=$file_id[id]&id_ank=$ank[id]'><button class='adm'>Снять бан</button></a><br> ";
}else{
echo " <a style='float: left; position: relative; left: 2px;' href='/modules/admin_obmen/ban.php?id=$file_id[id]&id_ank=$ank[id]'><button class='adm'>Выдать бан</button></a><br>";
}
echo "</div>";            
            
}

             
                
                
$ank = get_user($file_id['id_user']);


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

echo "<b>Добавил: </b>";
echo user($ank['id']) . " ";
echo "<font color=gray><small>" . date::times($file_id['time']) . "</small></font>";
echo "</div>";                
                
                
                
                
                
if (access('loads_file_edit')){
////////////////////////////

if(isset($_GET['block_id']))
{
echo "<div class='list-group-item'>";

echo'<form method="post">';

echo "<br /><b>Причина:</b><br />
<input name='block' type='radio' ".($file_id['block']==0?' checked="checked"':null)." value='1' selected='selected'/> Грубость и оскорбления<br/>";

echo "<input name='block' type='radio' value='2' /> Разжигание ненависти <br/>";

echo "<input name='block' type='radio' value='3' /> Мошенничество <br/>";

echo "<input name='block' type='radio' value='4' /> Нецензурная лексика <br/>";

echo "<input name='block' type='radio' value='5' /> Педофилия <br/>";

echo "<input name='block' type='radio' value='6' /> Спам, реклама или мошенничество <br/>";

echo "<input name='block' type='radio' value='7' /> Иная причина <br/><br/>";

echo'<b>Комментарий:</b> <font color=gray><small>(500 символов)</small></font> :<br/>';
echo"<textarea class=\"form-control\" name=\"block_comm\"></textarea><br/>";




echo'<br><input class="knopka" type="submit" value="Заблокировать"></form><br/></div>';


}



//////////////////////////////
}           
                //echo "<input type = 'text' value='http://$_SERVER[SERVER_NAME]/obmen$dir_id[dir]" . urlencode($file_id['name']) . ".$file_id[ras]' /><br />\n";
                if (isset($user)) {
                    $markinfo = $pdo->query(("SELECT COUNT(*) FROM `bookmark_files` WHERE `id_file` = '" . $file_id['id'] . "'"), 0)->fetchColumn();

 echo "<div class='list-group-item'>";
echo "<span style='padding: 4px;margin-right: 5px; border: 1px #FC9373 solid; border-radius: 16%; color: #FC9373'>
<i class='fa fa-heart fa-fw'></i> <b>".$pdo->query(("SELECT COUNT(*) FROM `like_objecto` WHERE `id_object` = '$file_id[id]' AND `type` = 'obmen' AND `like` = '1'"),0)->fetchColumn()."</b></span><span style='padding: 4px;margin-right: 5px; border: 1px #6CCA70 solid; border-radius: 16%; color: #6CCA70'>
<i class='fa fa-eye fa-fw'></i> <b>$file_id[k_loads]</b></span><span style='padding: 4px;margin-right: 5px; border: 1px #CFBD19 solid; border-radius: 16%; color: #CFBD19'>
<i class='fa fa-star fa-fw'></i> <b>$markinfo</b></span><br><br>";







if ($pdo->query(("SELECT COUNT(*) FROM `like_objecto` WHERE `id_object` = '$file_id[id]' AND `type` = 'obmen' AND `id_user` = '$user[id]' LIMIT 1"),0)->fetchColumn()==0)
echo "<a style='margin-top: 3px;' class='btn btn-info-outline btn-sm' href='?showinfo&like=1'><i class='fa fa-heart-o fa-fw'></i> Мне нравится</a>";
else
echo "<span style='margin-top: 3px;' class='btn btn-info-outline btn-sm'><i class='fa fa-heart fa-fw'></i></span>";



if ($pdo->query(("SELECT COUNT(*) FROM `bookmark_files` WHERE `id_user` = '".htmlspecialchars($user['id'])."' AND `id_file` = '".htmlspecialchars($file_id['id'])."' LIMIT 1"),0)->fetchColumn()==0)
echo " <a style='margin-top: 3px;' class='btn btn-info-outline btn-sm' href='?showinfo&amp;fav=1'><i class='fa fa-plus fa-fw'></i> Добавить в закладки</a><br />\n";
else
echo " <a style='margin-top: 3px;' class='btn btn-info-outline btn-sm' href='?showinfo&amp;fav=0'><i class='fa fa-plus fa-fw'></i> Удалить из закладок</a><br />\n";


                    echo "</div>";
                }
               

                include 'inc/file_form.php';



                echo "<a href='/modules/obmen$dir_id[dir]' class='list-group-item'><i class='fa fa-arrow-left fa-fw'></i> В папку</a>";
            

            require_once H . 'sys/inc/tfoot.php';
            exit();
        }
    }
}

require_once 'inc/dir.php';
require_once H . 'sys/inc/tfoot.php';