Просмотр поста

.
ДоХтор
Обновил вывод постов из форума и библиотеки (+/-)
// Примеры отображения для форума
echo LastNotes(); // Последние темы форума 5 шт. (по умолчанию)
echo LastNotes('F', 3); // Последние темы форума 3 шт.
echo LastNotes('F', 3, 1); // Случайные темы форума 3 шт.

// Примеры отображения для библиотеки
echo LastNotes('L'); // Последние статьи библиотеки 5 шт. (по умолчанию)
echo LastNotes('L', 3); // Последние статьи библиотеки 3 шт.
echo LastNotes('L', 3, 1); // Случайные статьи библиотеки 3 шт.


function LastNotes($mode = 'F', $lmt = 5, $rand = 0) {
    global $kmess;
    
    $randLast = ($rand > 0 ? 'Случайные' : 'Последние');
    $i = 0;
    
    if ($mode == 'F' && $lmt > 0) {
        $html = '<div class="bmenu">'. $randLast .' темы форума '.
            '{<span style="color:red;"><b>'. $lmt . '</b></span>}</div>';
        
        $query = mysql_query("
            SELECT * FROM `forum` 
            WHERE `type` = 't' AND `close`!='1' 
            ORDER BY ". ($rand > 0 ? "RAND()" : "`time`") ." 
            DESC LIMIT $lmt
        ");
                
        while ($a = mysql_fetch_assoc($query)) {
            $res = mysql_query("
                SELECT `user_id`, `from`, `time` 
                FROM `forum` 
                WHERE `type` = 'm' 
                AND `close` != '1' AND `refid` = '". $a['id'] ."'
                ORDER BY `time` DESC
            ");
            
            $rows = mysql_num_rows($res);
            $cpg = ceil($rows / $kmess);
            
            $html .= '<div class="list'. ($i++ & 1 ? 2 : 1) .'">'.
                '<img src="'. $set['homeurl'] .'/images/op.gif" alt=""/>'.
                '&nbsp;<small><a href="/forum/index.php?id='. $a['id'] . 
                ($cpg > 1 && $_SESSION['uppost'] ? '&amp;clip&amp;page='. 
                $cpg : '') .'">'. $a['text'] .'</a>&nbsp;('. $rows .')</small>';
                
            if ($cpg > 1) {
                $html .= '&nbsp;<small><a href="/forum/index.php?id='. $a['id'] . 
                ($_SESSION['uppost'] ? '' : '&amp;clip&amp;page='. $cpg) .
                '">&#187;&#187;</a></small>';
            }
            
            $html .= '</div>';
        }
        
    } elseif ($mode == 'L' && $lmt > 0) {
        $html = '<div class="bmenu">'. $randLast .' статьи библиотеки '.
            '{<span style="color:red;"><b>'. $lmt . '</b></span>}</div>';
            
        $query = mysql_query("
            SELECT id, name, count_views, count_comments 
            FROM library_texts 
            WHERE premod = 1 
            ORDER BY ". ($rand > 0 ? "RAND()" : "`time`") ." 
            DESC LIMIT $lmt
        ");
        
        while ($row = mysql_fetch_assoc($query)) {
            $color_views    = ($row['count_views'] > 0 ? 'green' : 'red');
            $color_comments = ($row['count_comments'] > 0 ? 'green' : 'red');
            
            $cnt = ceil($row['count_comments'] / $kmess);
                        
            $html .= '<div class="list'. ($i++ & 1 ? 2 : 1) .'">' .
                '<small><a href="/library/?id='. $row['id'] .'">'. $row['name'] .'</a>' .
                '&nbsp;&nbsp;&nbsp;<img width="20" height="15" src="view.png" alt="просмотры" />'.
                '&nbsp;<span style="color:'. $color_views .'">'. $row['count_views'] .'</span>'.
                '&nbsp;&nbsp;&nbsp;<img width="20" height="15" src="comm.png" alt="комментарии" />'.
                '&nbsp;<span style="color:'. $color_comments .'">'. $row['count_comments'] .'</span>'.
                '&nbsp;<a href="/library/?act=comments&amp;id='. 
                $row['id'] . ($cnt > 1 ? '&amp;page='. $cnt : '') . '">&#187;&#187;</a></small></div>';                
        }
        
    } else {
        return false;
    }
    
    return $html;
}
Всё воткнул в одну функцию. С точки зрения кодера это плохо. С точки зрения пользователя это хорошо. К листингу кода прилагаю архив с двумя картинками, которые надо положить в ту же папку, в которой будет ваш файл с этим кодом.
Прикрепленные файлы: