} // If the list is private, search if the current user is a member of that list. If not, permission denied $list_name = mail_get_listname_from_list_id($list_id); if (!mail_is_list_public($list_id)) { exec("{$GLOBALS['mailman_bin_dir']}/list_members " . $list_name, $members); $user = user_getemail(user_getid()); if (!in_array($user, $members)) { exit_permission_denied(); } } // Build the mail to be sent $vSrep = new Valid_WhiteList('send_reply', array('Submit')); $vSrep->required(); if ($request->valid($vSrep)) { // process the mail $ret = plugin_forumml_process_mail($p, true); if ($ret) { $GLOBALS['Response']->addFeedback('warning', $GLOBALS['Language']->getText('plugin_forumml', 'delay_redirection', array($p->getThemePath() . "/images/ic/spinner-greenie.gif", $group_id, $list_id, $topic)), CODENDI_PURIFIER_DISABLED); } } $vRep = new Valid_WhiteList('reply', array('1')); $vRep->required(); if ($request->valid($vRep)) { $GLOBALS['Response']->addFeedback('warning', $GLOBALS['Language']->getText('plugin_forumml', 'warn_post_without_confirm')); } $params['title'] = util_get_group_name_from_id($group_id) . ' - ForumML - ' . $list_name; if ($topicSubject) { $params['title'] .= ' - ' . $topicSubject; } $params['group'] = $group_id; $params['toptab'] = 'mail';
} if (!mail_is_list_active($list_id)) { exit_error($GLOBALS["Language"]->getText('global', 'error'), $GLOBALS["Language"]->getText('plugin_forumml', 'wrong_list')); } } $message_posted = false; // If message is posted, send a mail if ($request->isPost() && $request->exist('post')) { // Checks if mail subject is empty $vSub = new Valid_String('subject'); $vSub->required(); if (!$request->valid($vSub)) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('plugin_forumml', 'type_subject')); } else { // process the mail $return = plugin_forumml_process_mail($p); if ($return) { $message_posted = true; $GLOBALS['Response']->addFeedback('warning', $GLOBALS['Language']->getText('plugin_forumml', 'delay_redirection', array($p->getThemePath() . "/images/ic/spinner-greenie.gif", $group_id, $list_id, 0)), CODENDI_PURIFIER_DISABLED); } } } else { $GLOBALS['Response']->addFeedback('warning', $GLOBALS['Language']->getText('plugin_forumml', 'warn_post_without_confirm')); } $params['title'] = 'ForumML'; $params['group'] = $group_id; $params['toptab'] = 'mail'; $params['help'] = "communication.html#mailing-lists"; mail_header($params); if ($message_posted) { // wait few seconds before redirecting to archives page