$GOOGLE_AD_LEGAL = true; if (isset($_GET['topic_id'])) { $topic_id = intval(trim($_GET['topic_id'])); if ($p->Validator->vxIsDangerousTopic($topic_id, $p->cs)) { $sql = "UPDATE babel_topic SET tpc_flag = 1 WHERE tpc_id = {$topic_id}"; mysql_unbuffered_query($sql); $p->URL->vxToRedirect($p->URL->vxGetHome()); die(''); } $sql = "SELECT tpc_id, tpc_pid, tpc_title FROM babel_topic WHERE tpc_id = {$topic_id}"; $rs = mysql_query($sql, $p->db); if (mysql_num_rows($rs) == 1) { $Topic = mysql_fetch_object($rs); mysql_free_result($rs); // check if user was accessing a restricted node if (!check_node_permission($Topic->tpc_pid, $p->User, $p->restricted)) { $Node = new Node($Topic->tpc_pid, $p->db); $p->vxBoardViewDeniedBundle($Node); } else { $p->vxHead($msgSiteTitle = make_plaintext($Topic->tpc_title), '', $feedURL = 'http://' . BABEL_DNS_FEED . '/feed/topic/' . $Topic->tpc_id . '.rss'); $p->vxBodyStart(); $p->vxTop($msgBanner = Vocabulary::site_banner, $keyword = make_single_return($Topic->tpc_title, 0)); $p->vxContainer('topic_view', $options = array('topic_id' => $Topic->tpc_id)); } } else { $p->vxHomeBundle(BABEL_HOME_STYLE_DEFAULT); } break; } else { $p->vxHomeBundle(BABEL_HOME_STYLE_DEFAULT); break;
public function vxFeedBoard($Node) { if (!check_node_permission($Node->nod_id, $this->User, $this->restricted)) { $this->vxFeedDenied(); } else { $this->s->assign('site_url', 'http://' . BABEL_DNS_NAME . '/go/' . $Node->nod_name); switch ($Node->nod_level) { case 2: default: $sql = "SELECT usr_id, usr_nick, usr_gender, usr_portrait, tpc_id, tpc_title, tpc_content, tpc_posts, tpc_created, nod_id, nod_title, nod_name FROM babel_user, babel_topic, babel_node WHERE tpc_uid = usr_id AND tpc_pid = nod_id AND tpc_pid = {$Node->nod_id} ORDER BY tpc_created DESC LIMIT 20"; break; case 1: $sql = "SELECT usr_id, usr_nick, usr_gender, usr_portrait, tpc_id, tpc_title, tpc_content, tpc_posts, tpc_created, nod_id, nod_title, nod_name FROM babel_user, babel_topic, babel_node WHERE tpc_uid = usr_id AND tpc_pid = nod_id AND tpc_pid IN (SELECT nod_id FROM babel_node WHERE nod_pid = {$Node->nod_id}) ORDER BY tpc_created DESC LIMIT 20"; break; } $rs = mysql_query($sql); $Topics = array(); $i = 0; while ($Topic = mysql_fetch_object($rs)) { $i++; $Topics[$i] = $Topic; $Topics[$i]->nod_title = htmlspecialchars($Topics[$i]->nod_title, ENT_NOQUOTES); $Topics[$i]->tpc_title = htmlspecialchars($Topics[$i]->tpc_title, ENT_NOQUOTES); $Topics[$i]->tpc_content = htmlspecialchars(format_ubb($Topics[$i]->tpc_content), ENT_NOQUOTES); if (PHEEDO_X != '') { $Topics[$i]->tpc_content .= htmlspecialchars('<div style="padding-top: 15px;"><a href="http://www.pheedo.com/click.phdo?x=' . PHEEDO_X . '&u=' . $Topic->tpc_id . '"><img src="http://www.pheedo.com/img.phdo?x=' . PHEEDO_X . '&u=' . $Topic->tpc_id . '" border="0"/></a></div>', ENT_NOQUOTES); } $Topics[$i]->tpc_pubdate = date('r', $Topics[$i]->tpc_created); $Topics[$i]->entry_link = 'http://' . BABEL_DNS_NAME . '/topic/view/' . $Topic->tpc_id . '.html'; $Topics[$i]->usr_portrait_img = $Topic->usr_portrait ? CDN_P . 'p/' . $Topic->usr_portrait . '.jpg' : CDN_P . 'p_' . $Topic->usr_gender . '.gif'; $Topics[$i]->usr_portrait_img_s = $Topic->usr_portrait ? CDN_P . 'p/' . $Topic->usr_portrait . '_s.jpg' : CDN_P . 'p_' . $Topic->usr_gender . '_s.gif'; $Topics[$i]->usr_portrait_img_n = $Topic->usr_portrait ? CDN_P . 'p/' . $Topic->usr_portrait . '_n.jpg' : CDN_P . 'p_' . $Topic->usr_gender . '_n.gif'; } $this->s->assign('feed_title', 'Latest from ' . Vocabulary::site_name . "'s " . $Node->nod_title); $this->s->assign('feed_description', Vocabulary::meta_description); $this->s->assign('feed_category', Vocabulary::meta_category); $this->s->assign('a_topics', $Topics); $this->s->display('feed/rss2.smarty'); } }