{ public function get_button_name() { return get_string('sticky_off', 'forumngfeature_sticky'); } public function apply($discussion, $all, $selected, $formdata) { global $DB, $CFG; if ($discussion->can_manage_discussions()) { foreach ($selected as $postid) { $DB->set_field('forumng_discussions', 'sticky', 0, array('id' => $postid, 'deleted' => 0)); } // Redirect to the view page. redirect($discussion->get_url(mod_forumng::PARAM_PLAIN)); } } public function only_discussion_types() { return array('forumng-sticky'); } public function exclude_discussion_types() { return array('forumng-deleted'); } } if ($buttonselection = optional_param('sticky', '', PARAM_INT)) { forumngfeature_discussion_selector::go(new sticky_on_selector()); } if ($buttonselection = optional_param('normal', '', PARAM_INT)) { forumngfeature_discussion_selector::go(new sticky_off_selector()); }
*/ if (is_array($selected) && !empty($selected)) { $seltext = implode('x', $selected); $letters = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'); $posts = ''; $selarray = str_split($seltext); foreach ($selarray as $char) { $posts .= $char == 'x' ? $char : $letters[$char]; } } else { $posts = ''; } // Get the id of the forum. $forumngid = $discussion->get_id(); require_once $CFG->libdir . '/portfoliolib.php'; // Check if the forum is shared and pass the cloneid in the callback options. $linkparams = $discussion->get_link_params_array(); if (array_key_exists('clone', $linkparams)) { $cloneid = $linkparams['clone']; } else { $cloneid = 0; } $button = new portfolio_add_button(); $button->set_callback_options('forumng_discussions_portfolio_caller', array('forumngid' => $forumngid, 'cloneid' => $cloneid, 'discussionids' => $posts), 'mod_forumng'); $button->set_formats(PORTFOLIO_FORMAT_PLAINHTML); // Redirect to the export page. redirect($button->to_html(PORTFOLIO_ADD_FAKE_URL)); } } forumngfeature_discussion_selector::go(new export_discussion_selector());
$params['selectd' . $discussionid] = $discussionid; } $params['id'] = $forum->get_course_module_id(); $params['clone'] = optional_param('clone', 0, PARAM_INT); $group = mod_forumng::get_activity_group($forum->get_course_module()); if (empty($group)) { $group = 0; } $params['group'] = $group; $params['multigroups'] = optional_param('multigroups', 0, PARAM_INT); $customdata = array('params' => $params, 'forum' => $forum); return new mod_forumng_moveall_form('movealltogroups.php', $customdata); } public function get_page_name() { return get_string('movealltitle', 'forumngfeature_move'); } public function apply($discussion, $all, $selected, $formdata) { } public function only_discussion_types() { return array('forumng-discussion-short'); } public function exclude_discussion_types() { return array('forumng-deleted'); } } forumngfeature_discussion_selector::go(new move_discussion_selector());
if (!isset($formdata->mailnow)) { $formdata->mailnow = false; } foreach ($selected as $postid) { // Call the lock for selected discussions. $discussion = mod_forumng_discussion::get_from_id($postid, $formdata->clone); if (!$discussion->is_deleted() && !$discussion->is_locked()) { $newpostid = $discussion->lock($formdata->subject, $formdata->message['text'], $formdata->message['format'], $formdata->attachments, $formdata->mailnow, '', '', $formdata->asmoderator); // Save attachments. file_save_draft_area_files($formdata->attachments, $filecontext->id, 'mod_forumng', 'attachment', $newpostid, null); $newtext = file_save_draft_area_files($formdata->message['itemid'], $filecontext->id, 'mod_forumng', 'message', $newpostid, null, $formdata->message['text']); if ($newtext !== $formdata->message['text']) { mod_forumng_post::update_message_for_files($newpostid, $newtext); } } } // Redirect to the Main page. redirect('../../view.php?' . $forum->get_link_params(mod_forumng::PARAM_PLAIN)); } public function only_discussion_types() { return array('forumng-discussion-short'); } public function exclude_discussion_types() { return array('forumng-deleted', 'forumng-locked'); } } // Outside the class. forumngfeature_discussion_selector::go(new lockall_on_selector());