/** * builds a post (including its children) * * @param int $postindex the index of the post * @param string $parentsubject the subject of the parent * @param array $posts the posts in the topic * * @returns string the html for the post */ function buildpost($postindex, $parentsubject, &$posts) { global $moderator, $topic, $groupadmins; $localposts = $posts; if ($posts[$postindex]->subject) { $parentsubject = $posts[$postindex]->subject; } else { $posts[$postindex]->subject = get_string('re', 'interaction.forum', $parentsubject); } $children = array(); foreach ($localposts as $index => $post) { if ($posts[$index]->parent == $posts[$postindex]->id) { $children[] = buildpost($index, $parentsubject, $posts); } } $membership = user_can_access_forum((int) $topic->forumid); $smarty = smarty_core(); $smarty->assign('post', $posts[$postindex]); $smarty->assign('groupadmins', $groupadmins); $smarty->assign('children', $children); $smarty->assign('moderator', $moderator); $smarty->assign('membership', $membership); $smarty->assign('closed', $topic->closed); return $smarty->fetch('interaction:forum:post.tpl'); }
/** * Sorts children posts into their parent * * @param int $postindex the index of the post * @param array $posts the posts in the topic * * @returns array the html for the post */ function buildpost($postindex, &$posts) { global $moderator, $topic, $groupadmins; $localposts = $posts; $children = array(); foreach ($localposts as $index => $post) { if ($posts[$index]->parent == $posts[$postindex]->id) { $children[] = buildpost($index, $posts); } } $posts[$postindex]->children = $children; return $posts[$postindex]; }