Completed
Branch master (ddc2b8)
by Michael
02:46
created

viewcat.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/**
4
 * Module: XoopsTube
5
 *
6
 * You may not change or alter any portion of this comment or credits
7
 * of supporting developers from this source code or any supporting source code
8
 * which is considered copyrighted (c) material of the original comment or credit authors.
9
 *
10
 * PHP version 5
11
 *
12
 * @category        Module
13
 * @package         Xoopstube
14
 * @author          XOOPS Development Team
15
 * @copyright       2001-2016 XOOPS Project (http://xoops.org)
16
 * @license         GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
17
 * @link            http://xoops.org/
18
 * @since           1.0.6
19
 */
20
21
include __DIR__ . '/header.php';
22
23
// Begin Main page Heading etc
24
$cid        = XoopsRequest::getInt('cid', 0, 'GET'); //xtubeCleanRequestVars($_REQUEST, 'cid', 0);
25
$selectdate = XoopsRequest::getString('selectdate', ''); //xtubeCleanRequestVars($_REQUEST, 'selectdate', '');
26
$list       = XoopsRequest::getString('list', '');// xtubeCleanRequestVars($_REQUEST, 'list', '');
27
$start      = XoopsRequest::getInt('start', 0, 'GET'); //xtubeCleanRequestVars($_REQUEST, 'start', 0);
28
29
$catsort = $GLOBALS['xoopsModuleConfig']['sortcats'];
30
$mytree  = new XoopstubeTree($GLOBALS['xoopsDB']->prefix('xoopstube_cat'), 'cid', 'pid');
31
$arr     = $mytree->getFirstChild($cid, $catsort);
32
33
if (is_array($arr) > 0 && !$list && !$selectdate) {
34
    if (false === XoopstubeUtilities::xtubeCheckGroups($cid)) {
35
        redirect_header('index.php', 1, _MD_XOOPSTUBE_MUSTREGFIRST);
36
    }
37
}
38
39
$xoopsOption['template_main'] = 'xoopstube_viewcat.tpl';
40
41
include XOOPS_ROOT_PATH . '/header.php';
42
43
$xoTheme->addStylesheet('modules/'.$moduleDirName.'/assets/css/xtubestyle.css');
44
45
global $xoopsModule;
46
//$catarray['letters']     = XoopstubeUtilities::xtubeGetLetters();
0 ignored issues
show
Unused Code Comprehensibility introduced by
62% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
47
$catarray['letters']     = XoopstubeUtilities::xoopstubeLettersChoice();
48
$catarray['imageheader'] = XoopstubeUtilities::xtubeRenderImageHeader();
49
$xoopsTpl->assign('catarray', $catarray);
50
51
// Breadcrumb
52
$pathstring = '<li><a href="index.php">' . _MD_XOOPSTUBE_MAIN . '</a></li>';
53
$pathstring .= $mytree->getNicePathFromId($cid, 'title', 'viewcat.php?op=');
54
$xoopsTpl->assign('category_path', $pathstring);
55
$xoopsTpl->assign('category_id', $cid);
56
57
// Display Sub-categories for selected Category
58
if (is_array($arr) > 0 && !$list && !$selectdate) {
59
    $scount = 1;
60
    foreach ($arr as $ele) {
61
        if (false === XoopstubeUtilities::xtubeCheckGroups($ele['cid'])) {
62
            continue;
63
        }
64
        $sub_arr         = array();
65
        $sub_arr         = $mytree->getFirstChild($ele['cid'], $catsort);
66
        $space           = 1;
67
        $chcount         = 1;
68
        $infercategories = '';
69 View Code Duplication
        foreach ($sub_arr as $sub_ele) {
70
            // Subitem file count
71
            $hassubitems = XoopstubeUtilities::xtubeGetTotalItems($sub_ele['cid']);
72
            // Filter group permissions
73
            if (true === XoopstubeUtilities::xtubeCheckGroups($sub_ele['cid'])) {
74
                // If subcategory count > 5 then finish adding subcats to $infercategories and end
75
                if ($chcount > 5) {
76
                    $infercategories .= '...';
77
                    break;
78
                }
79
                if ($space > 0) {
80
                    $infercategories .= ', ';
81
                }
82
83
                $infercategories .= '<a href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $sub_ele['cid'] . '">'
84
                                    . $xtubemyts->htmlSpecialCharsStrip($sub_ele['title']) . '</a> (' . $hassubitems['count'] . ')';
85
                ++$space;
86
                ++$chcount;
87
            }
88
        }
89
        $totalvideos = XoopstubeUtilities::xtubeGetTotalItems($ele['cid']);
90
        $indicator   = XoopstubeUtilities::xtubeIsNewImage($totalvideos['published']);
91
92
        // This code is copyright WF-Projects
93
        // Using this code without our permission or removing this code voids the license agreement
94
95
        $_image = $ele['imgurl'] ? urldecode($ele['imgurl']) : '';
96 View Code Duplication
        if ($_image !== '' && $GLOBALS['xoopsModuleConfig']['usethumbs']) {
97
            $_thumb_image = new XtubeThumbsNails($_image, $GLOBALS['xoopsModuleConfig']['catimage'], 'thumbs');
98
            if ($_thumb_image) {
99
                $_thumb_image->setUseThumbs(1);
100
                $_thumb_image->setImageType('gd2');
101
                $_image = $_thumb_image->createThumbnail($GLOBALS['xoopsModuleConfig']['shotwidth'], $GLOBALS['xoopsModuleConfig']['shotheight'], $GLOBALS['xoopsModuleConfig']['imagequality'],
102
                                                         $GLOBALS['xoopsModuleConfig']['updatethumbs'], $GLOBALS['xoopsModuleConfig']['imageAspect']);
103
            }
104
        }
105
106 View Code Duplication
        if (empty($_image) || '' === $_image) {
107
            $imgurl  = $indicator['image'];
108
            $_width  = 33;
109
            $_height = 24;
110
        } else {
111
            $imgurl  = "{$GLOBALS['xoopsModuleConfig']['catimage']}/$_image";
112
            $_width  = $GLOBALS['xoopsModuleConfig']['shotwidth'];
113
            $_height = $GLOBALS['xoopsModuleConfig']['shotheight'];
114
        }
115
        /*
116
        * End
117
        */
118
119
        $xoopsTpl->append('subcategories', array(
120
            'title'           => $xtubemyts->htmlSpecialCharsStrip($ele['title']),
121
            'id'              => $ele['cid'],
122
            'image'           => XOOPS_URL . "/$imgurl",
123
            'width'           => $_width,
124
            'height'          => $_height,
125
            'infercategories' => $infercategories,
126
            'totalvideos'     => $totalvideos['count'],
127
            'count'           => $scount,
128
            'alttext'         => $ele['description']
129
        ));
130
        ++$scount;
131
    }
132
}
133
134
// Show Description for Category listing
135
$sql         = 'SELECT * FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_cat') . ' WHERE cid=' . (int)$cid;
136
$head_arr    = $GLOBALS['xoopsDB']->fetchArray($GLOBALS['xoopsDB']->query($sql));
137
$html        = $head_arr['nohtml'] ? 0 : 1;
138
$smiley      = $head_arr['nosmiley'] ? 0 : 1;
139
$xcodes      = $head_arr['noxcodes'] ? 0 : 1;
140
$images      = $head_arr['noimages'] ? 0 : 1;
141
$breaks      = $head_arr['nobreak'] ? 1 : 0;
142
$description =& $xtubemyts->displayTarea($head_arr['description'], $html, $smiley, $xcodes, $images, $breaks);
143
$xoopsTpl->assign('description', $description);
144
$moduleHandler = xoops_getHandler('module');
145
$versioninfo   = $moduleHandler->get($xoopsModule->getVar('mid'));
146
if ($head_arr['title'] > '') {
147
    $xoopsTpl->assign('xoops_pagetitle', $versioninfo->getInfo('name') . ':&nbsp;' . $head_arr['title']);
148
} else {
149
    $xoopsTpl->assign('xoops_pagetitle', $versioninfo->getInfo('name'));
150
}
151
152
if ($head_arr['client_id'] > 0) {
153
    $catarray['imageheader'] = XoopstubeUtilities::xtubeGetBannerFromClientId($head_arr['client_id']);
154
} elseif ($head_arr['banner_id'] > 0) {
155
    $catarray['imageheader'] = XoopstubeUtilities::xtubeGetBannerFromBannerId($head_arr['banner_id']);
156
} else {
157
    $catarray['imageheader'] = XoopstubeUtilities::xtubeRenderImageHeader();
158
}
159
$xoopsTpl->assign('catarray', $catarray);
160
// Extract linkload information from database
161
$xoopsTpl->assign('show_categort_title', true);
162
163
$orderby0 = (isset($_REQUEST['orderby'])
164
             && !empty($_REQUEST['orderby'])) ? XoopstubeUtilities::xtubeConvertOrderByIn(htmlspecialchars($_REQUEST['orderby'])) : XoopstubeUtilities::xtubeConvertOrderByIn($GLOBALS['xoopsModuleConfig']['linkxorder']);
165
$orderby  = XoopsRequest::getString('orderby', '', 'GET') ? XoopstubeUtilities::xtubeConvertOrderByIn(XoopsRequest::getString('orderby', '',
166
                                                                                                                              'GET')) : XoopstubeUtilities::xtubeConvertOrderByIn($GLOBALS['xoopsModuleConfig']['linkxorder']);
167
168
if ($selectdate) {
169
    $d = date('j', $selectdate);
170
    $m = date('m', $selectdate);
171
    $y = date('Y', $selectdate);
172
173
    $stat_begin = mktime(0, 0, 0, $m, $d, $y);
174
    $stat_end   = mktime(23, 59, 59, $m, $d, $y);
175
176
    $query  = ' WHERE published>=' . $stat_begin . ' AND published<=' . $stat_end . ' AND (expired=0 OR expired>' . time() . ') AND offline=0 AND cid>0';
177
    $sql    = 'SELECT * FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . $query . ' ORDER BY ' . $orderby;
178
    $result = $GLOBALS['xoopsDB']->query($sql, $GLOBALS['xoopsModuleConfig']['perpage'], $start);
179
180
    $sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . $query;
181
    list($count) = $GLOBALS['xoopsDB']->fetchRow($GLOBALS['xoopsDB']->query($sql));
182
183
    $list_by = 'selectdate=' . $selectdate;
184
    
185
    $xoopsTpl->assign('is_selectdate', true);
186
    $xoopsTpl->assign('selected_date', XoopstubeUtilities::xtubeGetTimestamp(formatTimestamp($selectdate, $GLOBALS['xoopsModuleConfig']['dateformat'])));
187
    
188
} elseif ($list) {
189
    $query = " WHERE title LIKE '$list%' AND (published>0 AND published<=" . time() . ') AND (expired=0 OR expired>' . time() . ') AND offline=0 AND cid>0';
190
191
    $sql    = 'SELECT * FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . $query . ' ORDER BY ' . $orderby;
192
    $result = $GLOBALS['xoopsDB']->query($sql, $GLOBALS['xoopsModuleConfig']['perpage'], $start);
193
194
    $sql = 'SELECT COUNT(*) FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . $query;
195
    list($count) = $GLOBALS['xoopsDB']->fetchRow($GLOBALS['xoopsDB']->query($sql));
196
    $list_by = "list=$list";
197
} else {
198
    $query = 'WHERE a.published>0 AND a.published<=' . time() . ' AND (a.expired=0 OR a.expired>' . time() . ') AND a.offline=0' . ' AND (b.cid=a.cid OR (a.cid=' . $cid . ' OR b.cid=' . $cid . '))';
199
200
    $sql    =
201
        'SELECT DISTINCT a.* FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . ' a LEFT JOIN ' . $GLOBALS['xoopsDB']->prefix('xoopstube_altcat') . ' b ON b.lid=a.lid ' . $query . ' ORDER BY '
202
        . $orderby;
203
    $result = $GLOBALS['xoopsDB']->query($sql, $GLOBALS['xoopsModuleConfig']['perpage'], $start);
204
205
    $sql2 = 'SELECT COUNT(*) FROM ' . $GLOBALS['xoopsDB']->prefix('xoopstube_videos') . ' a LEFT JOIN ' . $GLOBALS['xoopsDB']->prefix('xoopstube_altcat') . ' b ON b.lid=a.lid ' . $query;
206
    list($count) = $GLOBALS['xoopsDB']->fetchRow($GLOBALS['xoopsDB']->query($sql2));
207
    $order   = XoopstubeUtilities::xtubeConvertOrderByOut($orderby);
208
    $list_by = 'cid=' . $cid . '&orderby=' . $order;
209
    $xoopsTpl->assign('show_categort_title', false);
210
}
211
$pagenav = new XoopsPageNav($count, $GLOBALS['xoopsModuleConfig']['perpage'], $start, 'start', $list_by);
212
213
// Show videos
214
if ($count > 0) {
215
    $moderate = 0;
216
    while (false !== ($video_arr = $GLOBALS['xoopsDB']->fetchArray($result))) {
217
        if (true === XoopstubeUtilities::xtubeCheckGroups($video_arr['cid'])) {
218
            require XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/include/videoloadinfo.php';            
219
            $xoopsTpl->append('video', $video);
220
        }
221
    }
222
223
    unset($video_arr);
224
225
    // Show order box
226
    $xoopsTpl->assign('show_videos', false);
227
    if ($count > 1 && $cid !== 0) {
228
        $xoopsTpl->assign('show_videos', true);
229
        $orderbyTrans = XoopstubeUtilities::xtubeConvertOrderByTrans($orderby);
230
        $xoopsTpl->assign('lang_cursortedby', sprintf(_MD_XOOPSTUBE_CURSORTBY, XoopstubeUtilities::xtubeConvertOrderByTrans($orderby)));
231
        $orderby = XoopstubeUtilities::xtubeConvertOrderByOut($orderby);
232
    }
233
234
    // Screenshots display
235
    $xoopsTpl->assign('show_screenshot', false);
236 View Code Duplication
    if (isset($GLOBALS['xoopsModuleConfig']['screenshot']) && $GLOBALS['xoopsModuleConfig']['screenshot'] == 1) {
237
        $xoopsTpl->assign('shotwidth', $GLOBALS['xoopsModuleConfig']['shotwidth']);
238
        $xoopsTpl->assign('shotheight', $GLOBALS['xoopsModuleConfig']['shotheight']);
239
        $xoopsTpl->assign('show_screenshot', true);
240
    }
241
242
    // Nav page render
243
    $page_nav = $pagenav->renderNav();
244
    $istrue   = (isset($page_nav) && !empty($page_nav)) ? true : false;
245
    $xoopsTpl->assign('page_nav', $istrue);
246
    $xoopsTpl->assign('pagenav', $page_nav);
247
    $xoopsTpl->assign('module_dir', $xoopsModule->getVar('dirname'));
248
}
249
250
$xoopsTpl->assign('cat_columns', $GLOBALS['xoopsModuleConfig']['catcolumns']);
251
252
include XOOPS_ROOT_PATH . '/footer.php';
253