r1048: Converting all $lang->string() stuff to use the gettext call
[bugdar.git] / includes / api_comment.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar [#]version[#]
5 || # Copyright ©2002-[#]year[#] Blue Static
6 || #
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
10 || #
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 || # more details.
15 || #
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
21
22 $GLOBALS['isso:callback']->load('api', null);
23
24 /**
25 * API: Comment
26 *
27 * @author Blue Static
28 * @copyright Copyright ©2002 - [#]year[#], Blue Static
29 * @version $Revision$
30 * @package Bugdar
31 *
32 */
33 class CommentAPI extends API
34 {
35 /**
36 * Fields
37 * @var array
38 * @access private
39 */
40 var $fields = array(
41 'commentid' => array(TYPE_UINT, REQ_AUTO, 'verify_nozero'),
42 'bugid' => array(TYPE_UINT, REQ_YES, 'verify_nozero'),
43 'userid' => array(TYPE_UINT, REQ_NO, null, array('includes/api_user.php', 'UserAPI')),
44 'dateline' => array(TYPE_UINT, REQ_SET),
45 'comment' => array(TYPE_STR, REQ_YES, 'verify_noempty'),
46 'comment_parsed' => array(TYPE_NONE, REQ_SET),
47 'hidden' => array(TYPE_BOOL, REQ_NO)
48 );
49
50 /**
51 * Database table
52 * @var string
53 * @access private
54 */
55 var $table = 'comment';
56
57 /**
58 * Table prefix
59 * @var string
60 * @access private
61 */
62 var $prefix = TABLE_PREFIX;
63
64 // ###################################################################
65 /**
66 * Set field: dateline
67 *
68 * @access private
69 */
70 function set_dateline()
71 {
72 $this->set('dateline', time());
73 }
74
75 // ###################################################################
76 /**
77 * Set field: comment_parsed
78 *
79 * @access private
80 */
81 function set_comment_parsed()
82 {
83 if ($this->registry->options['allowhtml'])
84 {
85 $this->set('comment_parsed', nl2br($this->registry->unsanitize($this->values['comment'])));
86 }
87 else
88 {
89 $this->set('comment_parsed', nl2br($this->values['comment']));
90 }
91 }
92
93 // ###################################################################
94 /**
95 * Pre-update
96 *
97 * @access private
98 */
99 function pre_update()
100 {
101 $this->set_comment_parsed();
102 }
103
104 // ###################################################################
105 /**
106 * Pre-delete
107 *
108 * @access private
109 */
110 function pre_delete()
111 {
112 if ($this->registry->db->query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE initialreport = " . $this->values['commentid']))
113 {
114 $this->error(_('You cannot delete this comment because it is attached to the bug as the first comment. You have to delete the entire bug instead (which is not recommended unless it is spam).'));
115 }
116 }
117 }
118
119 /*=====================================================================*\
120 || ###################################################################
121 || # $HeadURL$
122 || # $Id$
123 || ###################################################################
124 \*=====================================================================*/
125 ?>