diff options
Diffstat (limited to 'cgi/post.py')
-rw-r--r-- | cgi/post.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cgi/post.py b/cgi/post.py index b84b753..b7efef1 100644 --- a/cgi/post.py +++ b/cgi/post.py @@ -100,7 +100,7 @@ def threadNumReplies(post): """ board = Settings._.BOARD - num = FetchOne("SELECT COUNT(1) AS 'count' FROM `posts` WHERE `parentid` = %s AND `boardid` = %s" % (post, board['id'])) + num = FetchOne("SELECT COUNT(1) AS 'count' FROM `posts` WHERE `parentid` = %s AND `boardid` = %s", (post, board['id'])) return int(num["count"]) + 1 def get_parent_post(post_id, board_id): @@ -112,6 +112,12 @@ def get_parent_post(post_id, board_id): else: raise UserError(_("The ID of the parent post is invalid.")) +def getParentTimestamp(post): + if post['parentid']: + return FetchOne("SELECT `timestamp` FROM `posts` WHERE `id` = %s AND `boardid` = %s", (post['parentid'], post['boardid']))['timestamp'] + else: + return None + def getThread(postid=0, mobile=False, timestamp=0): board = Settings._.BOARD total_bytes = 0 @@ -1037,7 +1043,7 @@ def getLastAge(board_type, limit): return threads def getNewPosts(limit, rss=False): - sql = "SELECT posts.id, boards.name AS board_fulln, board_type, boards.dir, timestamp, posts.message FROM posts INNER JOIN boards ON posts.boardid = boards.id WHERE IS_DELETED = 0 AND boards.secret = 0 ORDER BY timestamp DESC LIMIT %s" + sql = "SELECT posts.id, parentid, boardid, boards.name AS board_fulln, board_type, boards.dir, timestamp, posts.message FROM posts INNER JOIN boards ON posts.boardid = boards.id WHERE IS_DELETED = 0 AND boards.secret = 0 ORDER BY timestamp DESC LIMIT %s" posts = FetchAll(sql, (limit,)) for post in posts: @@ -1047,9 +1053,9 @@ def getNewPosts(limit, rss=False): post['timestamp_formatted'] = datetime.datetime.fromtimestamp(post['timestamp']).strftime('%Y-%m-%dT%H:%M:%S%Z') if post['board_type'] == 1: - post['url'] = '/%s/read/%d/l10' % (post['dir'], post['timestamp']) + post['url'] = '/%s/read/%d/l10' % (post['dir'], getParentTimestamp(post) or post['timestamp']) else: - post['url'] = '/%s/res/%d.html' % (post['dir'], post['id']) + post['url'] = '/%s/res/%d.html#%d' % (post['dir'], post['parentid'] or post['id'], post['id']) return posts |