|
1
|
|
|
<?php |
|
|
|
|
|
|
2
|
|
|
/** |
|
3
|
|
|
* XOOPS news story |
|
4
|
|
|
* |
|
5
|
|
|
* You may not change or alter any portion of this comment or credits |
|
6
|
|
|
* of supporting developers from this source code or any supporting source code |
|
7
|
|
|
* which is considered copyrighted (c) material of the original comment or credit authors. |
|
8
|
|
|
* This program is distributed in the hope that it will be useful, |
|
9
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
11
|
|
|
* |
|
12
|
|
|
* @copyright (c) 2000-2016 XOOPS Project (www.xoops.org) |
|
13
|
|
|
* @license GNU GPL 2 (http://www.gnu.org/licenses/gpl-2.0.html) |
|
14
|
|
|
* @package kernel |
|
15
|
|
|
* @since 2.0.0 |
|
16
|
|
|
* @author Kazumi Ono (AKA onokazu) http://www.myweb.ne.jp/, http://jp.xoops.org/ |
|
17
|
|
|
* @deprecated |
|
18
|
|
|
*/ |
|
19
|
|
|
|
|
20
|
|
|
defined('XOOPS_ROOT_PATH') || exit('XOOPS root path not defined'); |
|
21
|
|
|
|
|
22
|
|
|
$GLOBALS['xoopsLogger']->addDeprecated("'/class/xoopstory.php' is deprecated since XOOPS 2.5.4, please create your own class instead."); |
|
23
|
|
|
include_once XOOPS_ROOT_PATH . '/class/xoopstopic.php'; |
|
24
|
|
|
include_once XOOPS_ROOT_PATH . '/kernel/user.php'; |
|
25
|
|
|
|
|
26
|
|
|
/** |
|
27
|
|
|
* Class XoopsStory |
|
28
|
|
|
*/ |
|
29
|
|
|
class XoopsStory |
|
30
|
|
|
{ |
|
31
|
|
|
public $table; |
|
32
|
|
|
public $storyid; |
|
33
|
|
|
public $topicid; |
|
34
|
|
|
public $uid; |
|
35
|
|
|
public $title; |
|
36
|
|
|
public $hometext; |
|
37
|
|
|
public $bodytext = ''; |
|
38
|
|
|
public $counter; |
|
39
|
|
|
public $created; |
|
40
|
|
|
public $published; |
|
41
|
|
|
public $expired; |
|
42
|
|
|
public $hostname; |
|
43
|
|
|
public $nohtml = 0; |
|
44
|
|
|
public $nosmiley = 0; |
|
45
|
|
|
public $ihome = 0; |
|
46
|
|
|
public $notifypub = 0; |
|
47
|
|
|
public $type; |
|
48
|
|
|
public $approved; |
|
49
|
|
|
public $topicdisplay; |
|
50
|
|
|
public $topicalign; |
|
51
|
|
|
public $db; |
|
52
|
|
|
public $topicstable; |
|
53
|
|
|
public $comments; |
|
54
|
|
|
|
|
55
|
|
|
/** |
|
56
|
|
|
* @param int|array $storyid |
|
57
|
|
|
*/ |
|
58
|
|
|
public function Story($storyid = -1) |
|
59
|
|
|
{ |
|
60
|
|
|
$this->db = XoopsDatabaseFactory::getDatabaseConnection(); |
|
61
|
|
|
$this->table = ''; |
|
62
|
|
|
$this->topicstable = ''; |
|
63
|
|
|
if (is_array($storyid)) { |
|
64
|
|
|
$this->makeStory($storyid); |
|
65
|
|
|
} elseif ($storyid != -1) { |
|
66
|
|
|
$this->getStory((int)$storyid); |
|
67
|
|
|
} |
|
68
|
|
|
} |
|
69
|
|
|
|
|
70
|
|
|
/** |
|
71
|
|
|
* @param $value |
|
72
|
|
|
*/ |
|
73
|
|
|
public function setStoryId($value) |
|
74
|
|
|
{ |
|
75
|
|
|
$this->storyid = (int)$value; |
|
76
|
|
|
} |
|
77
|
|
|
|
|
78
|
|
|
/** |
|
79
|
|
|
* @param $value |
|
80
|
|
|
*/ |
|
81
|
|
|
public function setTopicId($value) |
|
82
|
|
|
{ |
|
83
|
|
|
$this->topicid = (int)$value; |
|
84
|
|
|
} |
|
85
|
|
|
|
|
86
|
|
|
/** |
|
87
|
|
|
* @param $value |
|
88
|
|
|
*/ |
|
89
|
|
|
public function setUid($value) |
|
90
|
|
|
{ |
|
91
|
|
|
$this->uid = (int)$value; |
|
92
|
|
|
} |
|
93
|
|
|
|
|
94
|
|
|
/** |
|
95
|
|
|
* @param $value |
|
96
|
|
|
*/ |
|
97
|
|
|
public function setTitle($value) |
|
98
|
|
|
{ |
|
99
|
|
|
$this->title = $value; |
|
100
|
|
|
} |
|
101
|
|
|
|
|
102
|
|
|
/** |
|
103
|
|
|
* @param $value |
|
104
|
|
|
*/ |
|
105
|
|
|
public function setHometext($value) |
|
106
|
|
|
{ |
|
107
|
|
|
$this->hometext = $value; |
|
108
|
|
|
} |
|
109
|
|
|
|
|
110
|
|
|
/** |
|
111
|
|
|
* @param $value |
|
112
|
|
|
*/ |
|
113
|
|
|
public function setBodytext($value) |
|
114
|
|
|
{ |
|
115
|
|
|
$this->bodytext = $value; |
|
116
|
|
|
} |
|
117
|
|
|
|
|
118
|
|
|
/** |
|
119
|
|
|
* @param $value |
|
120
|
|
|
*/ |
|
121
|
|
|
public function setPublished($value) |
|
122
|
|
|
{ |
|
123
|
|
|
$this->published = (int)$value; |
|
124
|
|
|
} |
|
125
|
|
|
|
|
126
|
|
|
/** |
|
127
|
|
|
* @param $value |
|
128
|
|
|
*/ |
|
129
|
|
|
public function setExpired($value) |
|
130
|
|
|
{ |
|
131
|
|
|
$this->expired = (int)$value; |
|
132
|
|
|
} |
|
133
|
|
|
|
|
134
|
|
|
/** |
|
135
|
|
|
* @param $value |
|
136
|
|
|
*/ |
|
137
|
|
|
public function setHostname($value) |
|
138
|
|
|
{ |
|
139
|
|
|
$this->hostname = $value; |
|
140
|
|
|
} |
|
141
|
|
|
|
|
142
|
|
|
/** |
|
143
|
|
|
* @param int $value |
|
144
|
|
|
*/ |
|
145
|
|
|
public function setNohtml($value = 0) |
|
146
|
|
|
{ |
|
147
|
|
|
$this->nohtml = $value; |
|
148
|
|
|
} |
|
149
|
|
|
|
|
150
|
|
|
/** |
|
151
|
|
|
* @param int $value |
|
152
|
|
|
*/ |
|
153
|
|
|
public function setNosmiley($value = 0) |
|
154
|
|
|
{ |
|
155
|
|
|
$this->nosmiley = $value; |
|
156
|
|
|
} |
|
157
|
|
|
|
|
158
|
|
|
/** |
|
159
|
|
|
* @param $value |
|
160
|
|
|
*/ |
|
161
|
|
|
public function setIhome($value) |
|
162
|
|
|
{ |
|
163
|
|
|
$this->ihome = $value; |
|
164
|
|
|
} |
|
165
|
|
|
|
|
166
|
|
|
/** |
|
167
|
|
|
* @param $value |
|
168
|
|
|
*/ |
|
169
|
|
|
public function setNotifyPub($value) |
|
170
|
|
|
{ |
|
171
|
|
|
$this->notifypub = $value; |
|
172
|
|
|
} |
|
173
|
|
|
|
|
174
|
|
|
/** |
|
175
|
|
|
* @param $value |
|
176
|
|
|
*/ |
|
177
|
|
|
public function setType($value) |
|
178
|
|
|
{ |
|
179
|
|
|
$this->type = $value; |
|
180
|
|
|
} |
|
181
|
|
|
|
|
182
|
|
|
/** |
|
183
|
|
|
* @param $value |
|
184
|
|
|
*/ |
|
185
|
|
|
public function setApproved($value) |
|
186
|
|
|
{ |
|
187
|
|
|
$this->approved = (int)$value; |
|
188
|
|
|
} |
|
189
|
|
|
|
|
190
|
|
|
/** |
|
191
|
|
|
* @param $value |
|
192
|
|
|
*/ |
|
193
|
|
|
public function setTopicdisplay($value) |
|
194
|
|
|
{ |
|
195
|
|
|
$this->topicdisplay = $value; |
|
196
|
|
|
} |
|
197
|
|
|
|
|
198
|
|
|
/** |
|
199
|
|
|
* @param $value |
|
200
|
|
|
*/ |
|
201
|
|
|
public function setTopicalign($value) |
|
202
|
|
|
{ |
|
203
|
|
|
$this->topicalign = $value; |
|
204
|
|
|
} |
|
205
|
|
|
|
|
206
|
|
|
/** |
|
207
|
|
|
* @param $value |
|
208
|
|
|
*/ |
|
209
|
|
|
public function setComments($value) |
|
210
|
|
|
{ |
|
211
|
|
|
$this->comments = (int)$value; |
|
212
|
|
|
} |
|
213
|
|
|
|
|
214
|
|
|
/** |
|
215
|
|
|
* @param bool $approved |
|
216
|
|
|
* |
|
217
|
|
|
* @return bool |
|
218
|
|
|
*/ |
|
219
|
|
|
public function store($approved = false) |
|
|
|
|
|
|
220
|
|
|
{ |
|
221
|
|
|
//$newpost = 0; |
|
222
|
|
|
$myts = MyTextSanitizer::getInstance(); |
|
223
|
|
|
$title = $myts->censorString($this->title); |
|
224
|
|
|
$hometext = $myts->censorString($this->hometext); |
|
225
|
|
|
$bodytext = $myts->censorString($this->bodytext); |
|
226
|
|
|
$title = $myts->addSlashes($title); |
|
227
|
|
|
$hometext = $myts->addSlashes($hometext); |
|
228
|
|
|
$bodytext = $myts->addSlashes($bodytext); |
|
229
|
|
|
if (!isset($this->nohtml) || $this->nohtml != 1) { |
|
230
|
|
|
$this->nohtml = 0; |
|
231
|
|
|
} |
|
232
|
|
|
if (!isset($this->nosmiley) || $this->nosmiley != 1) { |
|
233
|
|
|
$this->nosmiley = 0; |
|
234
|
|
|
} |
|
235
|
|
|
if (!isset($this->notifypub) || $this->notifypub != 1) { |
|
236
|
|
|
$this->notifypub = 0; |
|
237
|
|
|
} |
|
238
|
|
|
if (!isset($this->topicdisplay) || $this->topicdisplay != 0) { |
|
239
|
|
|
$this->topicdisplay = 1; |
|
240
|
|
|
} |
|
241
|
|
|
$expired = !empty($this->expired) ? $this->expired : 0; |
|
242
|
|
|
if (!isset($this->storyid)) { |
|
243
|
|
|
//$newpost = 1; |
|
244
|
|
|
$newstoryid = $this->db->genId($this->table . '_storyid_seq'); |
|
245
|
|
|
$created = time(); |
|
246
|
|
|
$published = $this->approved ? $this->published : 0; |
|
247
|
|
|
|
|
248
|
|
|
$sql = sprintf("INSERT INTO %s (storyid, uid, title, created, published, expired, hostname, nohtml, nosmiley, hometext, bodytext, counter, topicid, ihome, notifypub, story_type, topicdisplay, topicalign, comments) VALUES (%u, %u, '%s', %u, %u, %u, '%s', %u, %u, '%s', '%s', %u, %u, %u, %u, '%s', %u, '%s', %u)", $this->table, $newstoryid, $this->uid, $title, $created, $published, $expired, $this->hostname, $this->nohtml, $this->nosmiley, $hometext, $bodytext, 0, $this->topicid, $this->ihome, $this->notifypub, $this->type, $this->topicdisplay, $this->topicalign, $this->comments); |
|
249
|
|
|
} else { |
|
250
|
|
|
if ($this->approved) { |
|
251
|
|
|
$sql = sprintf("UPDATE %s SET title = '%s', published = %u, expired = %u, nohtml = %u, nosmiley = %u, hometext = '%s', bodytext = '%s', topicid = %u, ihome = %u, topicdisplay = %u, topicalign = '%s', comments = %u WHERE storyid = %u", $this->table, $title, $this->published, $expired, $this->nohtml, $this->nosmiley, $hometext, $bodytext, $this->topicid, $this->ihome, $this->topicdisplay, $this->topicalign, $this->comments, $this->storyid); |
|
252
|
|
|
} else { |
|
253
|
|
|
$sql = sprintf("UPDATE %s SET title = '%s', expired = %u, nohtml = %u, nosmiley = %u, hometext = '%s', bodytext = '%s', topicid = %u, ihome = %u, topicdisplay = %u, topicalign = '%s', comments = %u WHERE storyid = %u", $this->table, $title, $expired, $this->nohtml, $this->nosmiley, $hometext, $bodytext, $this->topicid, $this->ihome, $this->topicdisplay, $this->topicalign, $this->comments, $this->storyid); |
|
254
|
|
|
} |
|
255
|
|
|
$newstoryid = $this->storyid; |
|
256
|
|
|
} |
|
257
|
|
|
if (!$result = $this->db->query($sql)) { |
|
|
|
|
|
|
258
|
|
|
return false; |
|
259
|
|
|
} |
|
260
|
|
|
if (empty($newstoryid)) { |
|
261
|
|
|
$newstoryid = $this->db->getInsertId(); |
|
262
|
|
|
$this->storyid = $newstoryid; |
|
263
|
|
|
} |
|
264
|
|
|
|
|
265
|
|
|
return $newstoryid; |
|
266
|
|
|
} |
|
267
|
|
|
|
|
268
|
|
|
/** |
|
269
|
|
|
* @param $storyid |
|
270
|
|
|
*/ |
|
271
|
|
|
public function getStory($storyid) |
|
272
|
|
|
{ |
|
273
|
|
|
$storyid = (int)$storyid; |
|
274
|
|
|
$sql = 'SELECT * FROM ' . $this->table . ' WHERE storyid=' . $storyid . ''; |
|
275
|
|
|
$array = $this->db->fetchArray($this->db->query($sql)); |
|
276
|
|
|
$this->makeStory($array); |
|
277
|
|
|
} |
|
278
|
|
|
|
|
279
|
|
|
/** |
|
280
|
|
|
* @param $array |
|
281
|
|
|
*/ |
|
282
|
|
|
public function makeStory($array) |
|
283
|
|
|
{ |
|
284
|
|
|
foreach ($array as $key => $value) { |
|
285
|
|
|
$this->$key = $value; |
|
286
|
|
|
} |
|
287
|
|
|
} |
|
288
|
|
|
|
|
289
|
|
|
/** |
|
290
|
|
|
* @return bool |
|
291
|
|
|
*/ |
|
292
|
|
|
public function delete() |
|
293
|
|
|
{ |
|
294
|
|
|
$sql = sprintf('DELETE FROM %s WHERE storyid = %u', $this->table, $this->storyid); |
|
295
|
|
|
if (!$result = $this->db->query($sql)) { |
|
|
|
|
|
|
296
|
|
|
return false; |
|
297
|
|
|
} |
|
298
|
|
|
|
|
299
|
|
|
return true; |
|
300
|
|
|
} |
|
301
|
|
|
|
|
302
|
|
|
/** |
|
303
|
|
|
* @return bool |
|
304
|
|
|
*/ |
|
305
|
|
|
public function updateCounter() |
|
306
|
|
|
{ |
|
307
|
|
|
$sql = sprintf('UPDATE %s SET counter = counter+1 WHERE storyid = %u', $this->table, $this->storyid); |
|
308
|
|
|
if (!$result = $this->db->queryF($sql)) { |
|
|
|
|
|
|
309
|
|
|
return false; |
|
310
|
|
|
} |
|
311
|
|
|
|
|
312
|
|
|
return true; |
|
313
|
|
|
} |
|
314
|
|
|
|
|
315
|
|
|
/** |
|
316
|
|
|
* @param $total |
|
317
|
|
|
* |
|
318
|
|
|
* @return bool |
|
319
|
|
|
*/ |
|
320
|
|
|
public function updateComments($total) |
|
321
|
|
|
{ |
|
322
|
|
|
$sql = sprintf('UPDATE %s SET comments = %u WHERE storyid = %u', $this->table, $total, $this->storyid); |
|
323
|
|
|
if (!$result = $this->db->queryF($sql)) { |
|
|
|
|
|
|
324
|
|
|
return false; |
|
325
|
|
|
} |
|
326
|
|
|
|
|
327
|
|
|
return true; |
|
328
|
|
|
} |
|
329
|
|
|
|
|
330
|
|
|
public function topicid() |
|
331
|
|
|
{ |
|
332
|
|
|
return $this->topicid; |
|
333
|
|
|
} |
|
334
|
|
|
|
|
335
|
|
|
/** |
|
336
|
|
|
* @return XoopsTopic |
|
337
|
|
|
*/ |
|
338
|
|
|
public function topic() |
|
339
|
|
|
{ |
|
340
|
|
|
return new XoopsTopic($this->topicstable, $this->topicid); |
|
341
|
|
|
} |
|
342
|
|
|
|
|
343
|
|
|
public function uid() |
|
344
|
|
|
{ |
|
345
|
|
|
return $this->uid; |
|
346
|
|
|
} |
|
347
|
|
|
|
|
348
|
|
|
/** |
|
349
|
|
|
* @return string |
|
350
|
|
|
*/ |
|
351
|
|
|
public function uname() |
|
352
|
|
|
{ |
|
353
|
|
|
return XoopsUser::getUnameFromId($this->uid); |
|
354
|
|
|
} |
|
355
|
|
|
|
|
356
|
|
|
/** |
|
357
|
|
|
* @param string $format |
|
358
|
|
|
* |
|
359
|
|
|
* @return mixed |
|
360
|
|
|
*/ |
|
361
|
|
|
public function title($format = 'Show') |
|
362
|
|
|
{ |
|
363
|
|
|
$myts = MyTextSanitizer::getInstance(); |
|
364
|
|
|
$smiley = 1; |
|
|
|
|
|
|
365
|
|
|
if ($this->nosmiley()) { |
|
366
|
|
|
$smiley = 0; |
|
367
|
|
|
} |
|
368
|
|
|
switch ($format) { |
|
369
|
|
|
case 'Show': |
|
370
|
|
|
case 'Edit': |
|
371
|
|
|
$title = $myts->htmlSpecialChars($this->title); |
|
372
|
|
|
break; |
|
373
|
|
|
case 'Preview': |
|
374
|
|
|
case 'InForm': |
|
375
|
|
|
$title = $myts->htmlSpecialChars($myts->stripSlashesGPC($this->title)); |
|
376
|
|
|
break; |
|
377
|
|
|
} |
|
378
|
|
|
|
|
379
|
|
|
return $title; |
|
|
|
|
|
|
380
|
|
|
} |
|
381
|
|
|
|
|
382
|
|
|
/** |
|
383
|
|
|
* @param string $format |
|
384
|
|
|
* |
|
385
|
|
|
* @return string |
|
386
|
|
|
*/ |
|
387
|
|
|
public function hometext($format = 'Show') |
|
388
|
|
|
{ |
|
389
|
|
|
$myts = MyTextSanitizer::getInstance(); |
|
390
|
|
|
$html = 1; |
|
391
|
|
|
$smiley = 1; |
|
392
|
|
|
$xcodes = 1; |
|
393
|
|
|
if ($this->nohtml()) { |
|
394
|
|
|
$html = 0; |
|
395
|
|
|
} |
|
396
|
|
|
if ($this->nosmiley()) { |
|
397
|
|
|
$smiley = 0; |
|
398
|
|
|
} |
|
399
|
|
|
switch ($format) { |
|
400
|
|
|
case 'Show': |
|
401
|
|
|
$hometext = $myts->displayTarea($this->hometext, $html, $smiley, $xcodes); |
|
402
|
|
|
break; |
|
403
|
|
|
case 'Edit': |
|
404
|
|
|
$hometext = htmlspecialchars($this->hometext, ENT_QUOTES); |
|
405
|
|
|
break; |
|
406
|
|
|
case 'Preview': |
|
407
|
|
|
$hometext = $myts->previewTarea($this->hometext, $html, $smiley, $xcodes); |
|
408
|
|
|
break; |
|
409
|
|
|
case 'InForm': |
|
410
|
|
|
$hometext = htmlspecialchars($myts->stripSlashesGPC($this->hometext), ENT_QUOTES); |
|
411
|
|
|
break; |
|
412
|
|
|
} |
|
413
|
|
|
|
|
414
|
|
|
return $hometext; |
|
|
|
|
|
|
415
|
|
|
} |
|
416
|
|
|
|
|
417
|
|
|
/** |
|
418
|
|
|
* @param string $format |
|
419
|
|
|
* |
|
420
|
|
|
* @return string |
|
421
|
|
|
*/ |
|
422
|
|
|
public function bodytext($format = 'Show') |
|
423
|
|
|
{ |
|
424
|
|
|
$myts = MyTextSanitizer::getInstance(); |
|
425
|
|
|
$html = 1; |
|
426
|
|
|
$smiley = 1; |
|
427
|
|
|
$xcodes = 1; |
|
428
|
|
|
if ($this->nohtml()) { |
|
429
|
|
|
$html = 0; |
|
430
|
|
|
} |
|
431
|
|
|
if ($this->nosmiley()) { |
|
432
|
|
|
$smiley = 0; |
|
433
|
|
|
} |
|
434
|
|
|
switch ($format) { |
|
435
|
|
|
case 'Show': |
|
436
|
|
|
$bodytext = $myts->displayTarea($this->bodytext, $html, $smiley, $xcodes); |
|
437
|
|
|
break; |
|
438
|
|
|
case 'Edit': |
|
439
|
|
|
$bodytext = htmlspecialchars($this->bodytext, ENT_QUOTES); |
|
440
|
|
|
break; |
|
441
|
|
|
case 'Preview': |
|
442
|
|
|
$bodytext = $myts->previewTarea($this->bodytext, $html, $smiley, $xcodes); |
|
443
|
|
|
break; |
|
444
|
|
|
case 'InForm': |
|
445
|
|
|
$bodytext = htmlspecialchars($myts->stripSlashesGPC($this->bodytext), ENT_QUOTES); |
|
446
|
|
|
break; |
|
447
|
|
|
} |
|
448
|
|
|
|
|
449
|
|
|
return $bodytext; |
|
|
|
|
|
|
450
|
|
|
} |
|
451
|
|
|
|
|
452
|
|
|
public function counter() |
|
453
|
|
|
{ |
|
454
|
|
|
return $this->counter; |
|
455
|
|
|
} |
|
456
|
|
|
|
|
457
|
|
|
public function created() |
|
458
|
|
|
{ |
|
459
|
|
|
return $this->created; |
|
460
|
|
|
} |
|
461
|
|
|
|
|
462
|
|
|
public function published() |
|
463
|
|
|
{ |
|
464
|
|
|
return $this->published; |
|
465
|
|
|
} |
|
466
|
|
|
|
|
467
|
|
|
public function expired() |
|
468
|
|
|
{ |
|
469
|
|
|
return $this->expired; |
|
470
|
|
|
} |
|
471
|
|
|
|
|
472
|
|
|
public function hostname() |
|
473
|
|
|
{ |
|
474
|
|
|
return $this->hostname; |
|
475
|
|
|
} |
|
476
|
|
|
|
|
477
|
|
|
public function storyid() |
|
478
|
|
|
{ |
|
479
|
|
|
return $this->storyid; |
|
480
|
|
|
} |
|
481
|
|
|
|
|
482
|
|
|
/** |
|
483
|
|
|
* @return int |
|
484
|
|
|
*/ |
|
485
|
|
|
public function nohtml() |
|
486
|
|
|
{ |
|
487
|
|
|
return $this->nohtml; |
|
488
|
|
|
} |
|
489
|
|
|
|
|
490
|
|
|
/** |
|
491
|
|
|
* @return int |
|
492
|
|
|
*/ |
|
493
|
|
|
public function nosmiley() |
|
494
|
|
|
{ |
|
495
|
|
|
return $this->nosmiley; |
|
496
|
|
|
} |
|
497
|
|
|
|
|
498
|
|
|
/** |
|
499
|
|
|
* @return int |
|
500
|
|
|
*/ |
|
501
|
|
|
public function notifypub() |
|
502
|
|
|
{ |
|
503
|
|
|
return $this->notifypub; |
|
504
|
|
|
} |
|
505
|
|
|
|
|
506
|
|
|
public function type() |
|
507
|
|
|
{ |
|
508
|
|
|
return $this->type; |
|
509
|
|
|
} |
|
510
|
|
|
|
|
511
|
|
|
/** |
|
512
|
|
|
* @return int |
|
513
|
|
|
*/ |
|
514
|
|
|
public function ihome() |
|
515
|
|
|
{ |
|
516
|
|
|
return $this->ihome; |
|
517
|
|
|
} |
|
518
|
|
|
|
|
519
|
|
|
public function topicdisplay() |
|
520
|
|
|
{ |
|
521
|
|
|
return $this->topicdisplay; |
|
522
|
|
|
} |
|
523
|
|
|
|
|
524
|
|
|
/** |
|
525
|
|
|
* @param bool $astext |
|
526
|
|
|
* |
|
527
|
|
|
* @return string |
|
528
|
|
|
*/ |
|
529
|
|
|
public function topicalign($astext = true) |
|
530
|
|
|
{ |
|
531
|
|
|
$ret = 'left'; |
|
532
|
|
|
if ($astext) { |
|
533
|
|
|
if ($this->topicalign === 'R') { |
|
534
|
|
|
$ret = 'right'; |
|
535
|
|
|
} |
|
536
|
|
|
|
|
537
|
|
|
return $ret; |
|
538
|
|
|
} |
|
539
|
|
|
|
|
540
|
|
|
return $this->topicalign; |
|
541
|
|
|
} |
|
542
|
|
|
|
|
543
|
|
|
public function comments() |
|
544
|
|
|
{ |
|
545
|
|
|
return $this->comments; |
|
546
|
|
|
} |
|
547
|
|
|
} |
|
548
|
|
|
|
The PSR-1: Basic Coding Standard recommends that a file should either introduce new symbols, that is classes, functions, constants or similar, or have side effects. Side effects are anything that executes logic, like for example printing output, changing ini settings or writing to a file.
The idea behind this recommendation is that merely auto-loading a class should not change the state of an application. It also promotes a cleaner style of programming and makes your code less prone to errors, because the logic is not spread out all over the place.
To learn more about the PSR-1, please see the PHP-FIG site on the PSR-1.