$button = new portfolio_add_button();
    $button->set_callback_options('anonforum_portfolio_caller', array('discussionid' => $discussion->id), 'mod_anonforum');
    $button = $button->to_html(PORTFOLIO_ADD_FULL_FORM, get_string('exportdiscussion', 'mod_anonforum'));
    $buttonextraclass = '';
    if (empty($button)) {
        // no portfolio plugin available.
        $button = ' ';
        $buttonextraclass = ' noavailable';
    }
    echo html_writer::tag('div', $button, array('class' => 'discussioncontrol exporttoportfolio' . $buttonextraclass));
} else {
    echo html_writer::tag('div', ' ', array('class' => 'discussioncontrol nullcontrol'));
}
// groups selector not needed here
echo '<div class="discussioncontrol displaymode">';
anonforum_print_mode_form($discussion->id, $displaymode);
echo "</div>";
if ($anonforum->type != 'single' && has_capability('mod/anonforum:movediscussions', $modcontext)) {
    echo '<div class="discussioncontrol movediscussion">';
    // Popup menu to move discussions to other anonymous forums. The discussion in a
    // single discussion anonymous forum can't be moved.
    $modinfo = get_fast_modinfo($course);
    if (isset($modinfo->instances['anonforum'])) {
        $anonforummenu = array();
        // Check anonymous forum types and eliminate simple discussions.
        $anonforumcheck = $DB->get_records('anonforum', array('course' => $course->id), '', 'id, type');
        foreach ($modinfo->instances['anonforum'] as $anonforumcm) {
            if (!$anonforumcm->uservisible || !has_capability('mod/anonforum:startdiscussion', context_module::instance($anonforumcm->id))) {
                continue;
            }
            $section = $anonforumcm->sectionnum;
// Return here if we post or set subscription etc
// Print settings and things across the top.
// If it's a simple single discussion anonymous forum, we need to print the display
// mode control.
if ($anonforum->type == 'single') {
    $discussion = null;
    $discussions = $DB->get_records('anonforum_discussions', array('anonforum' => $anonforum->id), 'timemodified ASC');
    if (!empty($discussions)) {
        $discussion = array_pop($discussions);
    }
    if ($discussion) {
        if ($mode) {
            set_user_preference("anonforum_displaymode", $mode);
        }
        $displaymode = get_user_preferences("anonforum_displaymode", $CFG->anonforum_displaymode);
        anonforum_print_mode_form($anonforum->id, $displaymode, $anonforum->type);
    }
}
if (!empty($anonforum->blockafter) && !empty($anonforum->blockperiod)) {
    $a = new stdClass();
    $a->blockafter = $anonforum->blockafter;
    $a->blockperiod = get_string('secondstotime' . $anonforum->blockperiod);
    echo $OUTPUT->notification(get_string('thisanonforumisthrottled', 'anonforum', $a));
}
if ($anonforum->type == 'qanda' && !has_capability('moodle/course:manageactivities', $context)) {
    echo $OUTPUT->notification(get_string('qandanotify', 'anonforum'));
}
switch ($anonforum->type) {
    case 'single':
        if (!empty($discussions) && count($discussions) > 1) {
            echo $OUTPUT->notification(get_string('warnformorepost', 'anonforum'));