forked from XoopsModules25x/news
-
Notifications
You must be signed in to change notification settings - Fork 0
/
topics_directory.php
104 lines (95 loc) · 4.73 KB
/
topics_directory.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
98
99
100
101
102
103
104
<?php
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2005-2006 Herve Thouzard //
// <http://www.herve-thouzard.com/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
/*
* Created on 5 nov. 2006
*
* This page is used to display a maps of the topics (with articles count)
*
* @package News
* @author Herve Thouzard
* @copyright (c) Herve Thouzard - http://www.herve-thouzard.com
*/
include dirname(dirname(__DIR__)) . '/mainfile.php';
include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php';
include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newstopic.php';
include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php';
$xoopsOption['template_main'] = 'news_topics_directory.tpl';
include_once XOOPS_ROOT_PATH . '/header.php';
$myts = MyTextSanitizer::getInstance();
$newscountbytopic = $tbl_topics = array();
$perms = '';
$xt = new NewsTopic();
$restricted = news_getmoduleoption('restrictindex');
if ($restricted) {
global $xoopsUser;
$moduleHandler = xoops_getHandler('module');
$newsModule = $moduleHandler->getByDirname('news');
$groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
$gperm_handler = xoops_getHandler('groupperm');
$topics = $gperm_handler->getItemIds('news_view', $groups, $newsModule->getVar('mid'));
if (count($topics) > 0) {
$topics = implode(',', $topics);
$perms = ' AND topic_id IN (' . $topics . ') ';
} else {
return '';
}
}
$topics_arr = $xt->getChildTreeArray(0, 'topic_title', $perms);
$newscountbytopic = $xt->getNewsCountByTopic();
if (is_array($topics_arr) && count($topics_arr)) {
foreach ($topics_arr as $onetopic) {
$count = 0;
if (array_key_exists($onetopic['topic_id'], $newscountbytopic)) {
$count = $newscountbytopic[$onetopic['topic_id']];
}
if ($onetopic['topic_pid'] != 0) {
$onetopic['prefix'] = str_replace('.', '-', $onetopic['prefix']) . ' ';
} else {
$onetopic['prefix'] = str_replace('.', '', $onetopic['prefix']);
}
$tbl_topics[] = array(
'id' => $onetopic['topic_id'],
'news_count' => $count,
'topic_color' => '#' . $onetopic['topic_color'],
'prefix' => $onetopic['prefix'],
'title' => $myts->displayTarea($onetopic['topic_title'])
);
}
}
$xoopsTpl->assign('topics', $tbl_topics);
$xoopsTpl->assign('advertisement', news_getmoduleoption('advertisement'));
/**
* Manage all the meta datas
*/
news_CreateMetaDatas();
$xoopsTpl->assign('xoops_pagetitle', _AM_NEWS_TOPICS_DIRECTORY);
$meta_description = _AM_NEWS_TOPICS_DIRECTORY . ' - ' . $xoopsModule->name('s');
if (isset($xoTheme) && is_object($xoTheme)) {
$xoTheme->addMeta('meta', 'description', $meta_description);
} else { // Compatibility for old Xoops versions
$xoopsTpl->assign('xoops_meta_description', $meta_description);
}
include_once XOOPS_ROOT_PATH . '/footer.php';