# get_topic

# Function

Function Name Description Level
get_topic Returns a list of topics under a specific forum. It can also return sticky topics and announcement, given the "mode" parameter is provided. 3,4

Input Parameters:

Name Type Required? Description Level
forum_id String yes 3
start_num Int For pagination. If start_num = 0 & last_num = 9, it returns first 10 topics from the forum, sorted by date (last-in-first-out). If both are not presented, return first 20 topics. if start_num = 0 and last_num = 0, return the first topic only. If last_num - start_num > 50, returns only first 50 topics starting from start_num 3
last_num Int See above. 3
mode String if mode = "TOP", returns sticky topics, if mode = "ANN", returns "Announcement" topics only, otherwise returns standard topics. 3

Output Parameters:

Name Type Required? Description Level
total_topic_num Int yes Total number of topics in this forum. If this forum has no topic, it returns 0, and the "topics" key returns return null 3
forum_id String yes 3
forum_name byte[] yes 3
can_post Boolean return false if user cannot create new topic in this forum 3
unread_sticky_count Int Add a "unread_sticky_count" and "unread_announce_count" integer value in get_topic first level Hash-table to indicate users there are unread stickies topics and announcement in this sub-forum. This allow the app to show a unread badge when entering a sub-forum. 4
unread_announce_count Int Add a "unread_sticky_count" and "unread_announce_count" integer value in get_topic first level Hash-table to indicate users there are unread stickies topics and announcement in this sub-forum. This allow the app to show a unread badge when entering a sub-forum. 4
can_subscribe Boolean return true if current user can subscribe this forum. Default as true for member. 4
is_subscribed Boolean return true if this forum was subscribed by current user 4
require_prefix Boolean This is used in conjunction with existing "prefixes" in get_topic function, to indicate whether users need to select a prefix mandatory. If this field is missing, assuming mandatory. 4
prefixes Array of Hash table yes if this is not empty, it contains a list of prefixes, it indicates user need to enter prefix in order to create a new topic successfully 3
prefix_id String yes 3
prefix_display_name byte[] yes 3
topics Array of Hash table Returns a list of topic in an array, each topic is in Hash Table format. Returns null if total_topic_num = 0 3
forum_id String yes 3
topic_id String yes 3
topic_title byte[] yes Remove all BBCode in title 3
prefix byte[] Prefix name of current topic 4
topic_author_id String yes 4
topic_author_name byte[] yes 3
is_subscribed Boolean return true if this thread has been subscribed by this user. 3
can_subscribe Boolean returns false if the subscription feature is turned off 3
is_closed Boolean return true if this thread has been closed. 3
icon_url String Return topic author avatar URL 3
timestamp String yes Timestamp of topic last reply
last_reply_time Date yes dateTime.iso8601 format. If this topic has no reply, use the topic creation time. 3
reply_number Int yes total number of reply in this topic. If this is no reply in this return, return 0. 3
new_post Boolean yes return true if this topic contains new post since user last login 3
view_number Int yes total number of view in this topic 3
short_content byte[] Characters display rules (should follow this sequence): 1) Remove all BBCode except [ur], [img]. 2) Convert "[url http://...]http://…..[/url]" to "[url]". 3) Convert "[img]http://…..[/img]" to "[img]". 4) Remove "Last edited by..." tag at the end. 5) Remove all non-displayable characters (e.g. \n, \t, etc). 6) Remove all whitespace, /n and /r at the beginning and ending of the content. 7) return only first 200 characters 3
participated_uids Array of String Return a list of uids of the users who participated in this topic. It does not need to return all the uids of whoever participated, instead returns not more than 10, preferrably ordered by the "importance" - it can be determined by the number of posts the user contributed to this topic etc. Plugin should check HTTP Header "Mobiquoid". If it is ="11", return this key, otherwise do not return it. 4
is_moved Boolean Indicate if this is a moved topic
is_merged Boolean Indicate if this is a topic merged into another topic
real_topic_id String If this topic is a merged of moved topic, this key will include the real topic id