} else { $direction = $direction == "ASC" ? "ASC" : "DESC"; } $returnPostfix = ''; // need to grab referer if ($forum != 0) { $returnPostfix = '?forum=' . $forum; } if ($dCat != 0) { $returnPostfix = '?cat=' . $dCat; } $html_query = strip_tags($_REQUEST['query']); $query = DB_escapeString($_REQUEST['query']); $report->set_var(array('form_action' => $_CONF['site_url'] . '/forum/index.php?op=search', 'LANG_TITLE' => $LANG_GF02['msg119'] . ' ' . @htmlentities($html_query, ENT_QUOTES, COM_getEncodingt()), 'returnlink' => $_CONF['site_url'] . '/forum/index.php' . $returnPostfix, 'LANG_return' => $LANG_GF02['msg175'], 'LANG_Heading1' => $LANG_GF01['SUBJECT'], 'LANG_Heading2' => $LANG_GF01['REPLIES'], 'LANG_Heading3' => $LANG_GF01['VIEWS'], 'LANG_Heading4' => $LANG_GF01['DATE'], 'op' => "&op=search&query=" . @htmlentities($html_query, ENT_QUOTES, COM_getEncodingt()), 'prevorder' => $order, 'direction' => $direction, 'page' => '1')); if ($_FF_CONF['usermenu'] == 'navbar') { $report->set_var('navmenu', FF_NavbarMenu()); } else { $report->set_var('navmenu', ''); } if ($forum != 0) { $inforum = "AND (forum = " . (int) $forum . ")"; } else { $inforum = ""; } $sql = "SELECT * FROM {$_TABLES['ff_topic']} WHERE (subject LIKE '%{$query}%') {$inforum} OR "; $sql .= "(comment LIKE '%{$query}%') {$inforum} GROUP BY {$orderby} ORDER BY {$orderby} {$direction} LIMIT 100"; $result = DB_query($sql); $nrows = DB_numRows($result); $report->set_block('report', 'reportrow', 'rrow'); if ($nrows > 0) { if ($_FF_CONF['enable_user_rating_system'] && !COM_isAnonUser()) {
} $report = new Template($_CONF['path'] . 'plugins/forum/templates/reports/'); $report->set_file('report', 'notifications.thtml'); $report->set_var('LANG_TITLE', $LANG_GF02['msg89']); $report->set_var('select_forum', f_forumjump($_CONF['site_url'] . '/forum/notify.php', $forum)); $filteroptions = ''; for ($i = 1; $i <= 3; $i++) { if ($notifytype == $i) { $filteroptions .= '<option value="' . $i . '" selected="selected">' . $LANG_GF08[$i] . '</option>'; } else { $filteroptions .= '<option value="' . $i . '">' . $LANG_GF08[$i] . '</option>'; } } $report->set_var(array('filter_options' => $filteroptions, 'LANG_Heading1' => $LANG_GF01['ID'], 'LANG_Heading2' => $LANG_GF01['FORUM'], 'LANG_Heading3' => $LANG_GF01['SUBJECT'], 'LANG_Heading4' => $LANG_GF01['DATEADDED'], 'LANG_Heading5' => $LANG_GF01['STARTEDBY'], 'LANG_Heading6' => $LANG_GF01['VIEWS'], 'LANG_Heading7' => $LANG_GF01['REPLIES'], 'LANG_Heading8' => $LANG_GF01['REMOVE'], 'LANG_deleteall' => $LANG_GF01['DELETEALL'], 'LANG_DELALLCONFIRM' => $LANG_GF01['DELALLCONFIRM'], 'notifytype' => $notifytype)); if ($_FF_CONF['usermenu'] == 'navbar') { $report->set_var('navmenu', FF_NavbarMenu($LANG_GF01['SUBSCRIPTIONS'])); } else { $report->set_var('navmenu', ''); } $sql = "SELECT sub_id,category,category_desc,id,id_desc,date_added FROM {$_TABLES['subscriptions']} WHERE (type='forum' AND uid=" . (int) $_USER['uid'] . ")"; if ($forum > 0) { $sql .= " AND category=" . (int) $forum; } if ($notifytype == '2') { $sql .= " AND id = '0'"; } elseif ($notifytype == '3') { $sql .= " AND id < '0'"; } else { $sql .= " AND id > '0'"; } $sql .= " ORDER BY category ASC, date_added DESC";
function FF_ForumHeader($forum, $showtopic) { global $_TABLES, $_USER, $_CONF, $_FF_CONF, $LANG_GF01, $LANG_GF02; $retval = ''; $navbar = new Template($_CONF['path'] . 'plugins/forum/templates/'); $navbar->set_file(array('topicheader' => 'navbar.thtml')); $navbar->set_var('search_forum', f_forumsearch()); $navbar->set_var('select_forum', f_forumjump()); if ($_FF_CONF['usermenu'] == 'navbar') { if ($forum == 0) { $navbar->set_var('navmenu', FF_NavbarMenu($LANG_GF01['INDEXPAGE'])); } else { $navbar->set_var('navmenu', FF_NavbarMenu()); } } else { $navbar->set_var('navmenu', ''); } $navbar->parse('output', 'topicheader'); $retval .= $navbar->finish($navbar->get_var('output')); if ($forum != '' || $showtopic != '') { if ($showtopic != '') { $forum_id = DB_getItem($_TABLES['ff_topic'], 'forum', "id=" . (int) $showtopic); $grp_id = DB_getItem($_TABLES['ff_forums'], 'grp_id', "forum_id=" . (int) $forum_id); } elseif ($forum != "") { $grp_id = DB_getItem($_TABLES['ff_forums'], 'grp_id', "forum_id=" . (int) $forum); } $groupname = _ff_getGroup($grp_id); if (!SEC_inGroup($groupname)) { $retval .= FF_BlockMessage($LANG_GF01['ACCESSERROR'], $LANG_GF02['msg77'], false); $retval .= FF_siteFooter(); echo $retval; exit; } } return $retval; }
function FF_lastx() { global $_CONF, $_TABLES, $_USER, $_FF_CONF, $LANG_GF01, $LANG_GF02, $LANG_GF92; $retval = ''; $pageTitle = $LANG_GF01['LASTX']; USES_lib_admin(); USES_lib_html2text(); $T = new Template($_CONF['path'] . 'plugins/forum/templates/'); $T->set_file('list', 'lists.thtml'); $dt = new Date('now', $_USER['tzid']); $header_arr = array(array('text' => $LANG_GF01['FORUM'], 'field' => 'forum'), array('text' => $LANG_GF01['TOPIC'], 'field' => 'subject'), array('text' => $LANG_GF92['sb_latestposts'], 'field' => 'date', 'nowrap' => true)); $data_arr = array(); $text_arr = array(); if ($_FF_CONF['usermenu'] == 'navbar') { $T->set_var('navbar', FF_NavbarMenu($LANG_GF01['LASTX'])); } $T->set_var('block_start', COM_startBlock($LANG_GF01['LASTX'], '', COM_getBlockTemplate('_admin_block', 'header'))); $groups = array(); $usergroups = SEC_getUserGroups(); foreach ($usergroups as $group) { $groups[] = $group; } $grouplist = implode(',', $groups); if (!COM_isAnonUser() && $_FF_CONF['enable_user_rating_system']) { $grade = (int) _ff_getUserRating((int) $_USER['uid']); $ratingSQL = ' AND b.rating_view <= ' . $grade . ' '; } else { $ratingSQL = ''; } $sql = "SELECT * "; $sql .= "FROM {$_TABLES['ff_topic']} a "; $sql .= "LEFT JOIN {$_TABLES['ff_forums']} b ON a.forum=b.forum_id "; $sql .= "WHERE pid=0 AND b.grp_id IN ({$grouplist}) AND b.no_newposts = 0 " . $ratingSQL; $sql .= "ORDER BY lastupdated DESC LIMIT {$_FF_CONF['show_last_post_count']}"; $result = DB_query($sql); $nrows = DB_numRows($result); $displayrecs = 0; for ($i = 1; $i <= $nrows; $i++) { $P = DB_fetchArray($result); if ($_FF_CONF['use_censor']) { $P['subject'] = COM_checkWords($P['subject']); $P['comment'] = COM_checkWords($P['comment']); } $topic_id = $P['id']; $displayrecs++; $dt->setTimestamp($P['date']); $firstdate = $dt->format($_FF_CONF['default_Datetime_format'], true); $dt->setTimestamp($P['lastupdated']); $lastdate = $dt->format($_FF_CONF['default_Datetime_format'], true); if ($P['uid'] > 1) { $topicinfo = "{$LANG_GF01['STARTEDBY']} " . COM_getDisplayName($P['uid']) . ', '; } else { $topicinfo = "{$LANG_GF01['STARTEDBY']} {$P['name']},"; } $topicinfo .= "{$firstdate}<br/>{$LANG_GF01['VIEWS']}:{$P['views']}, {$LANG_GF01['REPLIES']}:{$P['replies']}<br/>"; if (empty($P['last_reply_rec']) || $P['last_reply_rec'] < 1) { $lastid = $P['id']; $testText = FF_formatTextBlock($P['comment'], 'text', 'text', $P['status']); $testText = strip_tags($testText); $html2txt = new html2text($testText, false); $testText = trim($html2txt->get_text()); $lastpostinfogll = @htmlspecialchars(preg_replace('#\\r?\\n#', '<br>', strip_tags(substr($testText, 0, $_FF_CONF['contentinfo_numchars']) . '...')), ENT_QUOTES, COM_getEncodingt()); } else { $qlreply = DB_query("SELECT id,uid,name,comment,date,status FROM {$_TABLES['ff_topic']} WHERE id={$P['last_reply_rec']}"); $B = DB_fetchArray($qlreply); $lastid = $B['id']; $lastcomment = $B['comment']; $P['date'] = $B['date']; if ($B['uid'] > 1) { $topicinfo .= sprintf($LANG_GF01['LASTREPLYBY'], COM_getDisplayName($B['uid'])); } else { $topicinfo .= sprintf($LANG_GF01['LASTREPLYBY'], $B['name']); } $testText = FF_formatTextBlock($B['comment'], 'text', 'text', $B['status']); $testText = strip_tags($testText); $html2txt = new html2text($testText, false); $testText = trim($html2txt->get_text()); $lastpostinfogll = @htmlspecialchars(preg_replace('#\\r?\\n#', '<br>', strip_tags(substr($testText, 0, $_FF_CONF['contentinfo_numchars']) . '...')), ENT_QUOTES, COM_getEncodingt()); } $link = '<a class="' . COM_getTooltipStyle() . '" style="text-decoration:none; white-space:nowrap;" href="' . $_CONF['site_url'] . '/forum/viewtopic.php?showtopic=' . $topic_id . '&lastpost=true#' . $lastid . '" title="' . @htmlspecialchars($P['subject'], ENT_QUOTES, COM_getEncodingt()) . '::' . $lastpostinfogll . '" rel="nofollow">'; $topiclink = '<a class="' . COM_getTooltipStyle() . '" style="text-decoration:none;" href="' . $_CONF['site_url'] . '/forum/viewtopic.php?showtopic=' . $topic_id . '" title="' . @htmlspecialchars($P['subject'], ENT_QUOTES, COM_getEncodingt()) . '::' . $topicinfo . '">' . $P['subject'] . '</a>'; $dt->setTimestamp($P['date']); $tdate = $dt->format($_FF_CONF['default_Datetime_format'], true); $data_arr[] = array('forum' => $P['forum_name'], 'subject' => $topiclink, 'date' => $link . $tdate . '</a>'); if ($displayrecs >= $_FF_CONF['show_last_post_count']) { break; } } $T->set_var('list_data', ADMIN_simpleList("", $header_arr, $text_arr, $data_arr)); $T->set_var('block_end', COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'))); $T->parse('output', 'list'); $retval = $T->finish($T->get_var('output')); return array($pageTitle, $retval); }
$showuser = COM_applyFilter($_GET['showuser'], true); } else { $showuser = 0; } if (isset($_GET['op'])) { $op = COM_applyFilter($_GET['op']); } else { $op = ''; } $display = ''; //Check is anonymous users can access forum_chkUsercanAccess(); // Display Common headers $display .= FF_siteHeader(); if ($_FF_CONF['usermenu'] == 'navbar') { $display .= FF_NavbarMenu($LANG_GF02['msg200']); } if ($op == "last10posts") { USES_lib_admin(); USES_lib_html2text(); $retval = ''; $dt = new Date('now', $_USER['tzid']); $header_arr = array(array('text' => $LANG_GF01['FORUM'], 'field' => 'forum'), array('text' => $LANG_GF01['TOPIC'], 'field' => 'subject'), array('text' => $LANG_GF92['sb_latestposts'], 'field' => 'date', 'nowrap' => true)); $data_arr = array(); $text_arr = array(); $retval .= COM_startBlock($LANG_GF02['msg86'] . DB_getItem($_TABLES['users'], "username", "uid=" . (int) $showuser), '', COM_getBlockTemplate('_admin_block', 'header')); $groups = array(); $usergroups = SEC_getUserGroups(); foreach ($usergroups as $group) { $groups[] = $group; }