Beispiel #1
0
 $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;
Beispiel #2
0
 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');
     }
 }