43dbd2eb76495eea0f7eb4147f46d145da8f5d8c
[anoweco.git] / www / comment.php
1 <?php
2 namespace anoweco;
3 require 'www-header.php';
4
5 if (!isset($_GET['id'])) {
6     header('HTTP/1.0 400 Bad Request');
7     header('Content-Type: text/plain');
8     echo "id parameter missing\n";
9     exit(1);
10 }
11 if (!is_numeric($_GET['id'])) {
12     header('HTTP/1.0 400 Bad Request');
13     header('Content-Type: text/plain');
14     echo "Invalid id parameter value\n";
15     exit(1);
16 }
17
18 $id = intval($_GET['id']);
19
20 $storage = new Storage();
21 $comment = $storage->getJsonComment($id);
22 if ($comment === null) {
23     header('HTTP/1.0 404 Not Found');
24     header('Content-Type: text/plain');
25     echo "Comment not found\n";
26     exit(1);
27 }
28
29 $rowComment = $comment->Xrow;
30 $rowUser    = $comment->user;
31
32 $vars = array(
33     'json' => $comment->properties,
34     'crow' => $rowComment,
35     'comment' => $comment,
36     'author'  => array(
37         'name' => $rowUser->user_name,
38         'url'  => Urls::full(Urls::user($rowUser->user_id)),
39         'imageurl' => Urls::userImg($rowUser),
40     ),
41     'replyUrl' => Urls::full(
42         '/reply.php?url=' . urlencode(Urls::full($rowComment->comment_id))
43     ),
44 );
45
46 if ($rowComment->comment_type == 'like') {
47     $template = 'post-like';
48 } else {
49     //reply
50     $template = 'post-reply';
51     if (isset($comment->properties->content['html'])) {
52         $htmlContent = $comment->properties->content['html'];
53     } else {
54         $htmlContent = nl2br($comment->properties->content[0]);
55     }
56     $vars['htmlContent'] = $htmlContent;
57 }
58
59 render($template, $vars);
60 ?>