root/dev/common/includes/class.comments.php @ 343

Revision 343, 2.2 KB (checked in by beans, 14 years ago)

A lot of updates done by Karbowiak (LaMaH).
See them here:  http://eve-id.net/forum/viewtopic.php?f=503&t=13204&p=15284#p15284

Highlights:
* Integrated feed fetcher & API Mod into the core
* memcached support in core

Line 
1<?php
2
3class Comments
4{
5
6    function Comments($kll_id)
7    {
8        $this->id_ = $kll_id;
9        $this->raw_ = false;
10
11        $this->comments_ = array();
12        $qry = new DBQuery(true);
13        $qry->execute("SELECT *,id FROM kb3_comments WHERE `kll_id` = '".$kll_id."' order by posttime asc");
14        while ($row = $qry->getRow())
15        {
16            $this->comments_[] = array('time' => $row['posttime'], 'name' => $row['name'], 'comment' => stripslashes($row['comment']), 'id' => $row['id'], 'ip' => $row['ip']); 
17        }
18    }
19
20    function getComments()
21    {
22        global $smarty;
23
24        $smarty->assign_by_ref('comments', $this->comments_);
25        return $smarty->fetch(get_tpl('block_comments'));
26    }
27
28    function addComment($name, $text)
29    {
30        $comment = $this->bbencode($text);
31
32        $name = slashfix(strip_tags($name));
33        $qry = new DBQuery();
34        $qry->execute("INSERT INTO kb3_comments (`kll_id`,`comment`,`name`,`posttime`,`ip`)
35VALUES ('".$this->id_."','".$comment."','".$name."','".kbdate('Y-m-d H:i:s')."','".$_SERVER["REMOTE_ADDR"]."')");
36
37$id = $qry->getInsertID();
38$this->comments_[] = array('time' => kbdate('Y-m-d H:i:s'), 'name' => $name, 'comment' => stripslashes($comment), 'id' => $id, 'ip' => $row['ip']); 
39
40        // create comment_added event
41        event::call('comment_added', $this);
42    }
43
44    function delComment($c_id)
45    {
46        $qry = new DBQuery();
47        $qry->execute("DELETE FROM kb3_comments WHERE id='".$c_id."' LIMIT 1");
48    }
49
50    function postRaw($bool)
51    {
52        $this->raw_ = $bool;
53    }
54
55    function bbencode($string)
56    {
57        if (!$this->raw_)
58        {
59            $string = strip_tags(stripslashes($string));
60        }
61        $string = str_replace(array('[b]','[/b]','[i]','[/i]','[u]','[/u]'),
62                              array('<b>','</b>','<i>','</i>','<u>','</u>'), $string);
63        $string = preg_replace('^\[color=(.*?)](.*?)\[/color]^', '<font color="\1">\2</font>', $string);
64        $string = preg_replace('^\[kill=(.*?)](.*?)\[/kill]^', '<a href="\?a=kill_detail&kll_id=\1">\2</a>', $string);
65        $string = preg_replace('^\[pilot=(.*?)](.*?)\[/pilot]^', '<a href="\?a=pilot_detail&plt_id=\1">\2</a>', $string);
66        return nl2br(addslashes($string));
67    }
68}
69?>
Note: See TracBrowser for help on using the browser.