Размер файла: 5.05Kb
- <?php
-
- Core::get('cache.class', 'classes');
-
- $cache = new cache(H . 'engine/files/tmp/lib[cat='.$id.';page='.(isset($_GET['page']) ? intval($_GET['page']) : 1).'].swc');
-
- if ($id) {
- $cat = $sql->query("SELECT `refid`, `name`, `mod` FROM `mod_lib` WHERE `id` = " . $id . " AND `type` = 'cat'")->fetch();
- if ($cat === FALSE) {
- /* Категория не найдена */
- $set['title'] = 'Библиотека';
- require H . 'engine/includes/head.php';
- $error = 'Категория не найдена <a href="?act=category&mod=view">Продолжить</a>';
- }
- } else {
- $id = 0;
- }
- if (empty($error)) {
-
- $set['title'] = isset($cat) ? htmlspecialchars($cat['name']) : 'Категории';
- require H . 'engine/includes/head.php';
- if (!$cache->life())
- {
- ob_start();
-
- echo '<div class="fmenu"><b>' . 'Библиотека' . ' | '
- . ( isset($cat) ? htmlentities($cat['name'], ENT_QUOTES, 'UTF-8') : 'Категории' )
- . '</b></div>';
-
- Core::get('page.class', 'classes');
- /* Счетчики */
- $total_cat = intval($sql->query("SELECT COUNT(*) FROM `mod_lib` WHERE `refid` = " . $id . " AND `type` = 'cat'")->result());
- $total_arc = intval($sql->query("SELECT COUNT(*) FROM `mod_lib` WHERE `refid` = " . $id . " AND `type` = 'arc' AND `mod` = '0'")->result());
- $total = $total_arc + $total_cat;
- $page = new page($total, $set['p_str']);
- /* Сортировка */
- $sortMenu = array(
- 'name' => '<a href="?act=category&mod=view&id=' . $id . '&sort=name">Название</a>',
- 'time' => '<a href="?act=category&mod=view&id=' . $id . '&sort=time">Время</a>',
- 'comm' => '<a href="?act=category&mod=view&id=' . $id . '&sort=comm">Комментарии</a>',
- 'rate' => '<a href="?act=category&mod=view&id=' . $id . '&sort=rate">Рейтинг</a>'
- );
- $sort = !empty($_REQUEST['sort']) ? (array_key_exists($_REQUEST['sort'], $sortMenu) ? $_REQUEST['sort'] : 'name') : 'name';
- switch ($sort) {
- case 'time':
- $sortMenu['time'] = 'Время';
- $order = "`time` DESC";
- break;
- case 'rate':
- $sortMenu['rate'] = 'Рейтинг';
- $order = "`rate_all` DESC";
- break;
- case 'comm':
- $sortMenu['comm'] = 'Комментарии';
- $order = "`comm_count` DESC";
- break;
- case 'name': // Не ставить break;
- default:
- $sortMenu['name'] = 'Название';
- $order = "`name` ASC";
- break;
- }
- echo '<div class="fmenu">Сортировка: ';
- foreach($sortMenu as $menu)
- echo $menu . ' ';
- echo '</div>';
- if (isset($cat)) {
- /* Ссылка для перехода на категорию выше */
- $ref = $sql->query("SELECT `name` FROM `mod_lib` WHERE `id` = " . $cat['refid'] . " AND `type` = 'cat'")->fetch();
- if ($ref == FALSE) $ref['name'] = 'Категории';
- echo '<div class="msg"><img src="/lib/files/icons/up.png"/> <a href="?act=category&mod=view&id=' . $cat['refid'] . '">' .
- htmlentities($ref['name'], ENT_QUOTES, 'UTF-8') . '</a></div>';
- unset($ref);
- }
- /* Список категорий и статей */
- if ($total > 0) {
- $query = $sql->query(
- "SELECT `id`, `refid`, `name`, `announce`, `counter`, `count_arc`, `type`, `tags`, `time`, `author_id`, `author_name`, " .
- "(`rate_plus` - `rate_minus`) as `rate_all`, `comm_count`, `views`, `uni_views`, `mod` " .
- "FROM `mod_lib` WHERE `refid` = " . $id . " " .
- "AND (`type` = 'cat' OR (`type` = 'arc' AND `mod` = '0')) ORDER BY `type` DESC, " . $order . " LIMIT " . $page->limit()
- );
- $i = 0;
- while($content = $sql->fetch()) {
- echo '<div class="'. ($i % 2 ? 'p_m' : 'p_t') . '">'
- . ($content['type'] == 'arc'
- ? display_article($content)
- : display_category($content, '?act=category&mod=view&id=')
- )
- . '</div>';
- $i++;
- }
- } else {
- echo '<div class="menu">Список пуст</div>';
- }
- echo '<div class="fmenu">Всего: ' . $total . '</div>';
- /* Постраничная навигация */
- $page->display('?act=category&mod=view&id=' . $id . '&sort=' . $sort . '&');
- $cache->write();
- }
- echo $cache->read();
-
-
- /* Различные функции */
- echo '<div class="menu"><a href="index.php">В библиотеку</a>';
- if ( $id > 0 && ((isset($cat['mod']) && $cat['mod'] == 1 && $user_id) || $moder)) {
- echo '<br /><a href="?act=articles&mod=form&do=add&id=' . $id . '">Добавить статью</a>'
- . '<br /><a href="?act=articles&mod=upload&id=' . $id . '">Загрузить статью</a>';
- }
- if ($admin) {
- echo '<br /><a href="?act=category&mod=add&id=' . $id . '">Добавить категорию</a>' .
- ($id !== 0
- ? '<br /><a href="?act=category&mod=edit&id=' . $id . '">Редактировать категорию</a>'
- . '<br /><a href="?act=category&mod=remove&id=' . $id . '">Удалить категорию</a>'
- . '<br /><a href="?act=category&mod=move&id=' . $id . '">Переместить категорию</a>'
- : ''
- );
- }
- echo '</div>';
- }