Пример #1
0
 /**
  * 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>';
 }
Пример #2
0
 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)