Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Публикации
Files
Подсчет количества файлов в категории с учетом файлов в подкатегориях Slaed 2.1 и выше (Lite ветка)


Для тех, кому важна статистика в модуле файлов.
Пример смотрим у меня в Файловом архиве. Наведя мышку на количество дождитесь всплывающей подсказки.




1. Добавим в стили
Код
1
2
.for_c4et0 {color: #aaa;font-size: 9px;}
.for_c4et1 {color: #aaa;font-size: 9px; text-decoration: underline; cursor:pointer;}


2. Заменим функцию на новую. Все изменения прокомментированы
PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
function categories($id="") {
    global
$prefix, $db, $module_name, $tabcolumn, $showsubkat;
    
// добавлено $massiv3
    
static $massiv, $massiv2, $massiv3;
    
$id = (intval($id)) ? $id : 0;
    
$where = ($id) ? "WHERE parentid = '$id'" : "";
    
$tdwidth = intval(100/$tabcolumn);
    if (!
is_array($massiv)) {
        
$result = $db->sql_query("SELECT cid, title, parentid FROM ".$prefix."_files_categories ".$where."");
        while (list(
$cid, $title, $parentid) = $db->sql_fetchrow($result)) $massiv[] = array($cid, $title, $parentid);
    }
    if (!
is_array($massiv2)) {
        
$result = $db->sql_query("SELECT cid, title, parentid FROM ".$prefix."_files_categories");
        while (list(
$cid, $title, $parentid) = $db->sql_fetchrow($result)) $massiv2[] = array($cid, $title, $parentid);
    }

    
// начало вставки 1
    
if (!is_array($massiv3)) {
        
$result = $db->sql_query("SELECT fc.cid, fc.parentid, Count(f.lid) AS tmp FROM ".$prefix."_files AS f INNER JOIN ".$prefix."_files_categories AS fc ON (fc.cid=f.cid) WHERE status != '0' GROUP BY fc.cid, fc.parentid");
                                                                                                                                                          
//0        //1 в текущ//2всего//3в подкат   //4
        
while (list($cid, $parentid, $summ) = $db->sql_fetchrow($result)) $massiv3[$cid] = array($parentid, $summ, $summ, 0, $cid);

        foreach (
$massiv3 as $key => $val) {
            
$flag = $val[0];
            while (
$flag!=0) {
                    
$massiv3[  $flag  ][2] = $massiv3[  $flag  ][2] + $val[1];
                    
$massiv3[   $flag ][3] = $massiv3[  $flag  ][3] + $val[1];
                    
$flag = $massiv3[  $flag  ][0];
            }
        }
    }
    
// конец вставки 1

    
if ($massiv) {
        foreach (
$massiv as $key => $val) {
            if (
$val[2] == $id) {
                
// добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории
                
if (!isset($massiv3[$val[0]][1])) {$massiv3[$val[0]][1] = 0;}
                if (!isset(
$massiv3[$val[0]][2])) {$massiv3[$val[0]][2] = 0;}
                if (!isset(
$massiv3[$val[0]][3])) {$massiv3[$val[0]][3] = 0;}
                
// добавлено $massiv3[бла-бла], расставлены стили и титлы
                
$ccontent .= "<td valign=\"top\" width=\"".$tdwidth."%\"><table border=\"0\"><tr><td><img border=\"0\" src=\"images/blocks/Files.gif\" title=\"$title\"></td><td><a href=\"index.php?name=$module_name&op=cat&id=$val[0]\" title=\"$val[1]\"><b>$val[1]</b></a> "
                    
."<b r><font class=\"for_c4et0\"><span class=\"for_c4et1\" title=\"Всего в категории (с учетом кол-ва в подкатегориях): "
                    
.$massiv3[$val[0]][2]."\">сумм. "
                    
.$massiv3[$val[0]][2]
                    .
"</span> / <span class=\"for_c4et1\" title=\"Всего в категории (без учета кол-ва в подкатегориях): "
                    
.$massiv3[$val[0]][1]."\">в кат. "
                    
.$massiv3[$val[0]][1]
                    .
"</span> / <span class=\"for_c4et1\" title=\"Всего в подкатегориях: "
                    
.$massiv3[$val[0]][3]."\">в пкат. "
                    
.$massiv3[$val[0]][3]
                    .
"</span></font>"
                
."</td></tr>";
                if (
$showsubkat == 1 && $massiv2) {
                    foreach (
$massiv2 as $key => $val2) {
                        if (
$val[0] == $val2[2]) {
                            
// добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории
                            
if (!isset($massiv3[$val2[0]][1])) {$massiv3[$val2[0]][1] = 0;}
                            if (!isset(
$massiv3[$val2[0]][2])) {$massiv3[$val2[0]][2] = 0;}
                            if (!isset(
$massiv3[$val2[0]][3])) {$massiv3[$val2[0]][3] = 0;}
                            
// добавлено $massiv3[бла-бла], расставлены стили и титлы
                            
$ccontent .= "<tr><td colspan=\"2\"><img border=\"0\" src=\"images/navi.gif\" title=\"$val2[1]\"> <a href=\"index.php?name=$module_name&op=cat&id=$val2[0]\" title=\"$val2[1]\">$val2[1]</a> "
                            
."<b r><font class=\"for_c4et0\"><span class=\"for_c4et1\" title=\"Всего в категории (с учетом кол-ва в подкатегориях): "
                            
.$massiv3[$val2[0]][2]."\">сумм. "
                            
.$massiv3[$val2[0]][2]
                            .
"</span> / <span class=\"for_c4et1\" title=\"Всего в категории (без учета кол-ва в подкатегориях): "
                            
.$massiv3[$val2[0]][1]."\">в кат. "
                            
.$massiv3[$val2[0]][1]
                            .
"</span> / <span class=\"for_c4et1\" title=\"Всего в подкатегориях: "
                            
.$massiv3[$val2[0]][3]."\">в пкат. "
                            
.$massiv3[$val2[0]][3]
                            .
"</span></font>"
                        
."</td></tr>";
                        }
                    }
                }
                
$ccontent .= "</table></td>";
                if (
$cont == ($tabcolumn - 1)) {
                    
$ccontent .= "</tr><tr>";
                    
$cont = 0;
                } else {
                    
$cont++;
                }
            }
        }
    }
    if (
$ccontent) {
        
OpenTable();
        echo
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\"><tr>".$ccontent."</td></tr></table>";
        list(
$files_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_files WHERE status !='0'"));
        list(
$cat_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(cid) FROM ".$prefix."_files_categories"));
        echo
"<hr><center>"._ALLFILES.": <b>$files_num</b> "._INF." <b>$cat_num</b> "._ALLFILES2."</center>";
        
CloseTable();
    }
}
?>



Дата публикации: 16.07.2007
Прочитано: 11869 раз
[ Назад | Начало | Наверх ]
Комментарии

ifahr
Дата: 07.09.2007 | Комментарий: 6
ifahrSerg, красавчик!
Успешно применил твой хак в нескольких других модулях. Все отлично работает! Спасибо!
Serg_pnz
Дата: 01.08.2007 | Комментарий: 5
Serg_pnzMrSmit, весьма странно... когда тестировал вроде специально на это внимание обращал...
Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
MrSmit
Дата: 01.08.2007 | Комментарий: 4
MrSmitSerg_pnz ок. Есть еще вопросик по этому хаку...

Дело в том что если в категории много подкатегорий, а в этих подкатегориях есть тоже подкатегории, то не выводится количество файлов... Что нужно дописать чтобы устранить это???

Спасибо
Serg_pnz
Дата: 01.08.2007 | Комментарий: 3
Serg_pnz
Цитата
У тебя в коде, что написан в этой теме.... тег или что это я не знаю.. (просто в PHP ,большой 0) <br>, между ними стоит пробел. Убери его...
Это нарочно пробел поставлен - что бы статья отображалась правильно на сайте. (К сожалению бб-редактор в слаеде далек от совершенства, да и на том же ipb иногда без пробела или иного символа не разместить то, что хотелось бы - я имею ввиду код)
Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
MrSmit
Дата: 01.08.2007 | Комментарий: 2
MrSmitТоже отличный и нужный хак. Вот только есть очень маленькая неполадочка.... когда выводится количество файлов в сумме, в категории и подкатегории, они не переносятся на новую строку.

У тебя в коде, что написан в этой теме.... тег или что это я не знаю.. (просто в PHP ,большой 0) <br>, между ними стоит пробел. Убери его... А то такие как я, ЛАМЕРЫ, попробуют и все, а разбираться не захотят.

Вот это нужно чуть подправить.
<b r><font class=

А так хак супер. Респект тебе
sam07
Дата: 17.07.2007 | Комментарий: 1
sam07Вау... Серж не перестаешь удивлять!
Думаю данный хак будет полезен если не всем, то многим, ибо "модернизировать" свой сайт ДОЛЖЕН каждый.
Ну а автору "модернизаций" и "тюнингов" троекратный respect!
Так держать!
Всего 16 на 2 страницах по 10 на каждой странице
[<<] [ 1 | 2 ]
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Календарь 3 в 1
- М - Г + Г + М
Апрель, 2024
пнвтсрчтптсбвс
1234567
891011121314
15161718192021
22232425262728
2930
Купить.
Можно в кредит на 90 дней!
Навигация
»» RSS
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.271 сек. и 18 запросов к базе данных за 0.023 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.