/** * Displays the reply/edit form on a discussion page. Usually this form is * hidden by CSS and only displayed when JavaScript activates it. * @param mod_forumng $forum * @return string HTMl for form */ public function render_ajax_forms($forum) { global $CFG; require_once $CFG->dirroot . '/mod/forumng/editpost_form.php'; // Reply form $mform = new mod_forumng_editpost_form('editpost.php', array('params' => array(), 'isdiscussion' => false, 'ispost' => true, 'islock' => false, 'forum' => $forum, 'edit' => false, 'post' => null, 'ajaxversion' => 1, 'isroot' => false)); $result = $mform->get_html(); // Edit form $mform = new mod_forumng_editpost_form('editpost.php', array('params' => array(), 'isdiscussion' => false, 'ispost' => true, 'islock' => false, 'forum' => $forum, 'edit' => true, 'post' => null, 'ajaxversion' => 2, 'isroot' => false)); $result .= $mform->get_html(); // Edit form (discussion) $mform = new mod_forumng_editpost_form('editpost.php', array('params' => array(), 'isdiscussion' => false, 'ispost' => true, 'islock' => false, 'forum' => $forum, 'edit' => true, 'post' => null, 'ajaxversion' => 3, 'isroot' => true)); $result .= $mform->get_html(); return '<div id="forumng-formhome">' . $result . '</div>'; }
if ($iframe) { $PAGE->add_body_class('forumng-iframe'); } // See if this is a save action or a form view require_once 'editpost_form.php'; if ($cloneid) { // Clone parameter is required for all actions $params['clone'] = $cloneid; } // Iframe parameter always available. if ($iframe) { $params['iframe'] = 1; } // Expand parameter always available $params['expand'] = $expand; $mform = new mod_forumng_editpost_form('editpost.php', array('params' => $params, 'isdiscussion' => $isdiscussion, 'forum' => $forum, 'edit' => $edit, 'ispost' => $ispost, 'islock' => $islock, 'post' => isset($post) ? $post : null, 'isroot' => $isroot, 'iframe' => $iframe ? true : false, 'timelimit' => $ispost && $edit && !$post->can_ignore_edit_time_limit() ? $post->get_edit_time_limit() : 0, 'draft' => $draft)); if ($mform->is_cancelled()) { if ($edit) { redirect('discuss.php?' . $post->get_discussion()->get_link_params(mod_forumng::PARAM_PLAIN) . $expandparam); } else { if ($islock || $replytoid) { redirect('discuss.php?' . $discussion->get_link_params(mod_forumng::PARAM_PLAIN) . $expandparam); } else { redirect('view.php?' . $forum->get_link_params(mod_forumng::PARAM_PLAIN)); } } } else { if ($fromform = $mform->get_data()) { // Set up values which might not be defined if ($ispost) { // Blank subject counts as null
$params = array('p' => $postid); $pagename = get_string('editpost', 'forumng', $post->get_effective_subject(true)); } } } } // Get other useful variables (convenience) $course = $forum->get_course(); $cm = $forum->get_course_module(); // See if this is a save action or a form view require_once 'editpost_form.php'; if ($cloneid) { // Clone parameter is required for all actions $params['clone'] = $cloneid; } $mform = new mod_forumng_editpost_form('editpost.php', array('params' => $params, 'isdiscussion' => $isdiscussion, 'forum' => $forum, 'edit' => $edit, 'ispost' => $ispost, 'islock' => $islock, 'post' => isset($post) ? $post : null, 'isroot' => $isroot, 'ajaxversion' => $ajax ? true : false, 'timelimit' => $ispost && $edit && !$post->can_ignore_edit_time_limit() ? $post->get_edit_time_limit() : 0, 'draft' => $draft)); if ($mform->is_cancelled()) { if ($edit) { redirect('discuss.php?' . $post->get_discussion()->get_link_params(forum::PARAM_PLAIN)); } else { if ($islock) { redirect('discuss.php?' . $discussion->get_link_params(forum::PARAM_PLAIN)); } else { redirect('view.php?' . $forum->get_link_params(forum::PARAM_PLAIN)); } } } else { if ($fromform = $mform->get_data()) { if (class_exists('ouflags') && $ispost) { // Any edit of a post counts as 'post' (including AJAX ones and // draft saves)