Ejemplo n.º 1
0
/**
 * @todo Document this function
 * @global object
 * @global object
 * @return void
 */
function quora_print_posts_nested($course, &$cm, $quora, $discussion, $parent, $is_assessed, $reply, $quoratracked, $posts)
{
    global $USER, $CFG, $DB;
    $link = false;
    if (!empty($posts[$parent->id]->children)) {
        $posts = $posts[$parent->id]->children;
        //NighCool make the replys of the firstpost sorted by the number of assessments
        if ($parent->id == $discussion->firstpost) {
            $assess = array();
            foreach ($posts as $post) {
                $assess[$post->id] = count($DB->get_records('quora_post_assessments', array('post' => $post->id)));
            }
            arsort($assess);
            $keys = array_keys($assess);
            $new_posts = array();
            foreach ($keys as $key) {
                $new_posts[$key] =& $posts[$key];
            }
            $posts = $new_posts;
        }
        foreach ($posts as $post) {
            echo '<div class="indent">';
            if (!isloggedin()) {
                $ownpost = false;
            } else {
                $ownpost = $USER->id == $post->userid;
            }
            $post->subject = format_string($post->subject);
            $postread = !empty($post->postread);
            quora_print_post($post, $discussion, $quora, $cm, $course, $is_assessed, $ownpost, $reply, $link, '', '', $postread, true, $quoratracked);
            quora_print_posts_nested($course, $cm, $quora, $discussion, $post, $is_assessed, $reply, $quoratracked, $posts);
            echo "</div>\n";
        }
    }
}
Ejemplo n.º 2
0
         quora_set_return();
         $PAGE->navbar->add(get_string('delete', 'quora'));
         $PAGE->set_title($course->shortname);
         $PAGE->set_heading($course->fullname);
         if ($replycount) {
             if (!has_capability('mod/quora:deleteanypost', $modcontext)) {
                 print_error("couldnotdeletereplies", "quora", quora_go_back_to("discuss.php?d={$post->discussion}"));
             }
             echo $OUTPUT->header();
             echo $OUTPUT->heading(format_string($quora->name), 2);
             echo $OUTPUT->confirm(get_string("deletesureplural", "quora", $replycount + 1), "post.php?delete={$delete}&confirm={$delete}", $CFG->wwwroot . '/mod/quora/discuss.php?d=' . $post->discussion . '#p' . $post->id);
             quora_print_post($post, $discussion, $quora, $cm, $course, false, false, false);
             if (empty($post->edit)) {
                 $quoratracked = quora_tp_is_tracked($quora);
                 $posts = quora_get_all_discussion_posts($discussion->id, "created ASC", $quoratracked);
                 quora_print_posts_nested($course, $cm, $quora, $discussion, $post, false, false, $quoratracked, $posts);
             }
         } else {
             echo $OUTPUT->header();
             echo $OUTPUT->heading(format_string($quora->name), 2);
             echo $OUTPUT->confirm(get_string("deletesure", "quora", $replycount), "post.php?delete={$delete}&confirm={$delete}", $CFG->wwwroot . '/mod/quora/discuss.php?d=' . $post->discussion . '#p' . $post->id);
             quora_print_post($post, $discussion, $quora, $cm, $course, false, false, false);
         }
     }
     echo $OUTPUT->footer();
     die;
 } else {
     if (!empty($prune)) {
         // Pruning
         if (!($post = quora_get_post_full($prune))) {
             print_error('invalidpostid', 'quora');