Example #1
0
 /**
  *
  */
 public function confirmMergeThreadsObject()
 {
     if (!$this->is_moderator) {
         $this->ilias->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->MESSAGE);
     }
     if (!isset($_GET['merge_thread_id']) || !(int) $_GET['merge_thread_id'] || !is_array($_POST['thread_ids']) || count($_POST['thread_ids']) != 1) {
         ilUtil::sendFailure($this->lng->txt('select_one'));
         $this->mergeThreadsObject();
         return;
     }
     $source_thread_id = (int) $_GET['merge_thread_id'];
     $target_thread_id = (int) current($_POST['thread_ids']);
     if ($source_thread_id == $target_thread_id) {
         ilUtil::sendFailure($this->lng->txt('error_same_thread_ids'));
         $this->showThreadsObject();
         return;
     }
     if (ilForumTopic::lookupForumIdByTopicId($source_thread_id) != ilForumTopic::lookupForumIdByTopicId($target_thread_id)) {
         ilUtil::sendFailure($this->lng->txt('not_allowed_to_merge_into_another_forum'));
         $this->ctrl->clearParameters($this);
         $this->showThreadsObject();
         return;
     }
     if (ilForumTopic::_lookupDate($source_thread_id) < ilForumTopic::_lookupDate($target_thread_id)) {
         ilUtil::sendInfo($this->lng->txt('switch_threads_for_merge'));
     }
     include_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
     $c_gui = new ilConfirmationGUI();
     $c_gui->setFormAction($this->ctrl->getFormAction($this, 'performMergeThreads'));
     $c_gui->setHeaderText($this->lng->txt('frm_sure_merge_threads'));
     $c_gui->setCancel($this->lng->txt('cancel'), 'showThreads');
     $c_gui->setConfirm($this->lng->txt('confirm'), 'performMergeThreads');
     $c_gui->addItem('thread_ids[]', $source_thread_id, sprintf($this->lng->txt('frm_merge_src'), ilForumTopic::_lookupTitle($source_thread_id)));
     $c_gui->addItem('thread_ids[]', $target_thread_id, sprintf($this->lng->txt('frm_merge_target'), ilForumTopic::_lookupTitle($target_thread_id)));
     $this->tpl->setContent($c_gui->getHTML());
     return;
 }