Вход Регистрация
Файл: download/index.php
Строк: 230
<?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
 *
 * @var $lng
 */

define('_IN_JOHNCMS'1);

$headmod 'load';

require_once 
'../incfiles/core.php';
require_once 
'functions.php';
$cat = isset($_GET['cat']) ? intval($_GET['cat']) : 0;
$sort = isset($_GET['sort']) ? $_GET['sort'] : "";
$tree = array();
$dirid $cat;

// Access control
$error '';

if (empty(
$set['mod_down']) AND $rights 7) {
    
$error $lng_dl['downloads_closed'];
} elseif (!empty(
$set['mod_down']) AND $set['mod_down'] == AND !$user_id) {
    
$error $lng['access_guest_forbidden'];
}

if (!empty(
$error)) {
    require_once(
'../incfiles/head.php');
    echo 
'<div class="rmenu"><p>' $error '</p></div>';
    require_once(
"../incfiles/end.php");
    exit;
}

$do = array('new''rat''bookmarks');
if (
in_array($act$do)) {
    include_once(
$act '.php');
} else {
    while (
$dirid != '0' && $dirid != "") {
        
$req db::query("SELECT * FROM `downpath` WHERE `id` = '" $dirid .
            
"' LIMIT 1");
        
$res mysqli_fetch_array($req);
        
$tree[] = '<a href="dir_' $dirid '.html" title="' $res['name'] . '">' $res['name'] . '</a>';
        
$dirid $res['refid'];
    }
    
krsort($tree);
    
$cdir array_pop($tree);
    
$valueeq '';
    foreach (
$tree as $valuee) {
        
$valueeq '' $valueeq $valuee ' / ';
    }
    
$textl $lng_dl['downloads'] . ' ' strip_tags($valueeq $cdir) . '';
    require_once 
'../incfiles/head.php';


    if (empty(
$_GET['cat'])) {
        
// Заголовок начальной страницы загрузок
        
?>
        <div class="phdr"><strong><?= $lng_dl['downloads'?></strong></div>
        <div class="topmenu">
            <a href="search.php"><?= $lng_dl['search_files'?></a>
            <?php if ($user_id): ?>
                | <a href="index.php?act=bookmarks"><?= $lng_dl['bookmarks'?></a>
            <?php endif; ?>
        </div>
        <div class="gmenu blockpad">
            <?= functions::image('new.png'?><a href="index.php?act=new"><?= $lng_dl['last_100_files'?></a><br>
            <?= functions::image('rate.gif'?><a href="top_users.php"><?= $lng_dl['user_rating'?></a><br>
            <?= functions::image('rate.gif'?><a href="top.php"><?= $lng_dl['top_files'?></a>
        </div>

    <?php
    
} else {
        echo 
'<div class="phdr"><a href="index.html">' $lng_dl['downloads'] . '</a> | ';
        foreach (
$tree as $value) {
            echo 
$value;
            if (
$value != $cdir)
                echo 
' | ';
        }
        echo 
'<b>' strip_tags($cdir) . '</b></div>';
    }


    
$totalcat db::result(db::query("SELECT COUNT(*) FROM `downpath` WHERE `refid` = '" $cat "'"), 0);

    if (
$totalcat 0) {
        
$zap db::query("SELECT * FROM `downpath` WHERE `refid` = '" $cat "' ORDER BY `position` ASC LIMIT " $start "," $kmess);
        
$cachetime time() - $down_setting['cachetime'] * 3600// Время кэширования

        
if (is_file('cache/' $cat '.dat') && filemtime('cache/' $cat '.dat') > $cachetime) {
            
$count_cache file_get_contents('cache/' $cat '.dat');
            
$count_cache unserialize($count_cache);
            
$opencache 'true';
        } else {
            
$count_cache = array();
        }
        
$i 0;
        while (
$zap2 mysqli_fetch_array($zap)) {
            echo (
$i 2) ? '<div class="list1">' '<div class="list2">';
            ++
$i;
            if (!
$count_cache[$zap2['id']]) {
                
////////// счётчики //////////
                
$countf db::result(db::query("SELECT COUNT(*) FROM `downfiles` WHERE `type` != 1 AND `status` = 1 && `way` LIKE '" $zap2['way'] . "%' "), 0);
                
$old time() - (24 3600);
                
$countnf db::result(db::query("SELECT COUNT(*) FROM `downfiles` WHERE `type` != 1 AND `status` = 1 && `time` > '" $old "' && `way` LIKE '" $zap2['way'] . "%' "), 0);

                
//$countp = db::result(db::query("SELECT COUNT(*) FROM `downpath` WHERE `way` LIKE '" . $zap2['way'] ."%';"), 0);
                //$countp--; // Счётчик папок. Раскомментировать если нужен.

                
if ($countnf) {
                    
$countnf '/<span class="red">+' $countnf '</span>';
                } else {
                    
$countnf '';
                }
                
$count_cache[$zap2['id']] = $countf $countnf// Сюда вставлять $countp если нужен счётчик папок.
            
}
            echo 
'<img src="img/dir.png" alt="."/> <a href="dir_' $zap2['id'] . '.html">' $zap2['name'] . '</a> (' $count_cache[$zap2['id']] . ')<br/>';
            if (
$zap2['desc']) {
                echo 
'<div class="sub">' $zap2['desc'] . '</div>';
            }
            echo 
'</div>';
        }
        echo 
'<div class="phdr">' $lng_dl['all_dirs'] . ': ' $totalcat '</div>';
        if (
$totalcat $kmess) {
            echo 
'<div class="topmenu">';
            echo 
'' functions::display_pagination('index.php?cat=' $cat '&amp;'$start$totalcat$kmess) . '</div>';
            echo 
'<p><form action="index.php" method="get"><input type="hidden" name="cat" value="' $cat '"/><input type="text" name="page" size="2"/><input type="submit" value="' $lng_dl['to_page'] . ' &gt;&gt;"/></form></p>';
        }

        
//// Создаём файл с кэшем если он устарел или его нет ////
        
if (!$opencache && $arr fopen('cache/' $cat '.dat'"w")) {
            
fwrite($arrserialize($count_cache));
            
fclose($arr);
            
//echo 'Кэш обновлен или создан!';
        
}

    } else {
        
$req db::query("SELECT COUNT(*) FROM `downfiles` WHERE `type` != '1' AND `pathid` = '" $cat "' AND `status` = 1");
        
$totalfile db::result($req0);

        if (
$totalfile 0) {
            
// Проверка установки сортировки
            
if ($sort) {
                
$_SESSION['downsort'] = $sort;
            } else {
                
$sort = isset($_SESSION['downsort']) ? $_SESSION['downsort'] : '';
            }
            
// Проверка упорядочивания
            
if (isset($_GET['orderby'])) {
                
$order $_GET['orderby'] == 'desc' 'desc' 'asc';
                
$_SESSION['orderby'] = $order;
            } else {
                
$order = (isset($_SESSION['orderby']) && $_SESSION['orderby'] == 'desc') ? 'desc' 'asc';
            }
            
// Ссылки
            
echo '<div class="menu"><small><a href="index.php?act=new&amp;cat=' $cat '">' $lng_dl['last_100_files'] . '</a> | <a href="top.html?&amp;cat=' $cat '">' $lng_dl['dir_top'] . '</a></small></div>';

            echo 
'<div class="menu">
            <a href="index.php?cat=' 
$cat '&amp;orderby=' . ($order == 'desc' 'asc' 'desc') . '" title = "' . ($order == 'desc' $lng_dl['desc'] : $lng_dl['asc']) . '"><img src="img/' . ($order == 'desc' 'asc' 'desc') . '.png" alt="' . ($order == 'desc' $lng_dl['desc'] : $lng_dl['asc']) . '" /></a>
            ' 
$lng_dl['sorting'] . ': ' . (($sort == 'time' or $sort == 'count' or $sort == 'rating') ? '<a href="index.php?cat=' $cat '&amp;sort=name">' $lng_dl['name'] . '</a>' '<b>' $lng_dl['name'] . '</b>') . ' |
            ' 
. ($sort != 'time' '<a href="index.php?cat=' $cat '&amp;sort=time">' $lng_dl['date'] . '</a>' '<b>' $lng_dl['date'] . '</b>') . ' |
            ' 
. ($sort != 'count' '<a href="index.php?cat=' $cat '&amp;sort=count">' $lng_dl['loads_count'] . '</a>' '<b>' $lng_dl['loads_count'] . '</b>') . ' |
            ' 
. ($sort != 'rating' '<a href="index.php?cat=' $cat '&amp;sort=rating">' $lng_dl['rating'] . '</a>' '<b>' $lng_dl['rating'] . '</b>') . '</div>';
            if (
$sort != 'time' && $sort != 'count' && $sort != 'rating')
                
$sort 'name';
            
$zap db::query("SELECT * FROM `downfiles` WHERE `type` != '1' AND `pathid` = '" $cat "' AND `status` = 1 ORDER BY `" $sort "` " $order " LIMIT " $start "," $kmess);


            
// Вывод списка файлов
            
$i 0;
            while (
$zap2 mysqli_fetch_array($zap)) {
                echo (
$i 2) ? '<div class="list1">' '<div class="list2">';
                ++
$i;
                
$tf pathinfo($zap2['way'], PATHINFO_EXTENSION); // Тип файла
                
if ($tf == 'mp3') {
                    
$set_view = array('variant' => 1);
                } elseif (((
$tf == 'thm' or $tf == 'nth') && $down_setting['tmini']) || (($tf == '3gp' or $tf == 'mp4' or $tf == 'avi') && $down_setting['vmini']) || ($tf == 'jpg' or $tf == 'png' or $tf == 'jpeg' or $tf == 'gif')) {
                    
$set_view = array('link_download' => 1'div' => 1);
                } else {
                    
$set_view = array('variant'  => 1,
                                      
'size'     => 1'desc' => 1'count' => 1'div' => 1,
                                      
'comments' => 1'add_date' => 1'rating' => 1);
                }
                echo 
f_preview($zap2$set_view$tf);
                echo 
'</div>';
            }


        } else {
            
?>
            <div class="menu">
                <p>
                    <?= $lng['list_empty'?>
                </p>
            </div>
        <?php
        
}

        echo 
'<div class="phdr">' $lng_dl['all_files'] . ': ' $totalfile '</div>';
        if (
$totalfile $kmess) {
            echo 
'<div class="topmenu">';
            echo 
'' functions::display_pagination('index.php?cat=' $cat '&amp;'$start$totalfile$kmess) . '';
            echo 
'</div><p><form action="index.php" method="get"><input type="hidden" name="cat" value="' $cat '"/><input type="text" name="page" size="2"/><input type="submit" value="' $lng_dl['to_page'] . ' &gt;&gt;"/></form>';
            echo 
'</p>';
        }

        
$dost db::query("SELECT * FROM `downpath` WHERE id = '" $cat "';");
        
$dost mysqli_fetch_array($dost);
        if (
$dost['dost'] && $user_id != 0) {
            echo 
'<div class="menu"><img src="img/upload.png" alt="."/><a href="add_file.php?cat=' $cat '">' $lng_dl['load_your_file'] . '</a></div>';
        }
    }

    if (!empty(
$_GET['cat'])) {
        echo 
'<div class="menu"><a href="index.php">' $lng_dl['back_to_downloads'] . '</a><br/>';
        foreach (
$tree as $value) {
            echo 
$value;
            echo 
'<br/>';
        }
        echo 
'</div>';
    }

    
?>
    <?php if ($rights == || $rights >= 6): ?>
        <p>
            <?php if ($totalcat 0): ?>
                <a href="admin.php?act=import&amp;cat=<?= $cat ?>"><?= $lng_dl['import_file'?></a><br>
                <a href="admin.php?act=upload&amp;cat=<?= $cat ?>"><?= $lng_dl['upload_file'?></a><br>
            <?php endif; ?>
            <a href="admin.php"><?= $lng_dl['admin_panel'?></a>
        </p>
    <?php endif; ?>

<?php
}
require_once 
'../incfiles/end.php';
Онлайн: 0
Реклама