$form->setButtons(array(_("Move"), _("Cancel"))); $form->addHidden('', 'agora', 'text', false); $form->addHidden('', 'scope', 'text', false); $forums_list = Agora::formatCategoryTree($messages->getForums(0, false)); $v =& $form->addVariable(_("Forum"), 'new_forum_id', 'enum', true, false, null, array($forums_list)); $v->setDefault($forum_id); /* Validate the form. */ if ($form->validate()) { $form->getInfo($vars, $info); if ($vars->get('submitbutton') == _("Move")) { $move = $messages->moveThread($message_id, $info['new_forum_id']); if ($move instanceof PEAR_Error) { $notification->push($move->getMessage(), 'horde.error'); } else { $notification->push(sprintf(_("Thread %s moved to from forum %s to %s."), $message_id, $forum_id, $info['new_forum_id']), 'horde.success'); header('Location: ' . Agora::setAgoraId($info['new_forum_id'], $message_id, Horde::url('messages/index.php', true), $scope)); exit; } } } /* Template object. */ $view = new Agora_View(); Horde::startBuffer(); $form->renderActive(null, $vars, Horde::url('messages/move.php'), 'post'); $view->formbox = Horde::endBuffer(); $view->message_subject = $message['message_subject']; $view->message_author = $message['message_author']; $view->message_body = Agora_Driver::formatBody($message['body']); $page_output->header(); echo $view->render('messages/edit'); $page_output->footer();
if ($threads_list instanceof PEAR_Error) { $notification->push($threads_list->getMessage(), 'horde.error'); Horde::url('forums.php', true)->redirect(); } if (empty($threads_list)) { $threads_count = 0; } else { $threads_count = $threads->_forum['thread_count']; } /* Set up the column headers. */ $col_headers = array('message_subject' => _("Subject"), 'message_seq' => _("Posts"), 'view_count' => _("Views"), 'message_author' => _("Started"), 'message_modifystamp' => _("Last post")); $col_headers = Agora::formatColumnHeaders($col_headers, $sort_by, $sort_dir, 'threads'); /* Set up the template tags. */ $view = new Agora_View(); $view->col_headers = $col_headers; $view->threads = $threads_list; $view->forum_name = sprintf(_("Threads in %s"), $forum_array['forum_name']); $view->forum_description = Agora_Driver::formatBody($forum_array['forum_description']); $view->actions = $threads->getThreadActions(); Horde::startBuffer(); $notification->notify(array('listeners' => 'status')); $view->notify = Horde::endBuffer(); $view->rss = Horde::url('rss/threads.php', true, -1)->add(array('scope' => $scope, 'forum_id' => $forum_id)); /* Set up pager. */ $vars = Horde_Variables::getDefaultVariables(); $pager_ob = new Horde_Core_Ui_Pager('thread_page', $vars, array('num' => $threads_count, 'url' => 'threads.php', 'perpage' => $threads_per_page)); $pager_ob->preserve('agora', Horde_Util::getFormData('agora')); $view->pager_link = $pager_ob->render(); $page_output->header(array('title' => sprintf(_("Threads in %s"), $forum_array['forum_name']))); echo $view->render('threads'); $page_output->footer();