isError()) { exit_error($group->getErrorMessage(),'news'); } $summary = getStringFromRequest('summary'); $details = getStringFromRequest('details'); if (session_loggedin()) { if (!user_ismember($group_id,'A')) { exit_permission_denied(_('You cannot submit news for a project unless you are an admin on that project'),'home'); } if ($group_id == forge_get_config('news_group')) { exit_permission_denied(_('Submitting news from the news group is not allowed.'),'home'); } if (getStringFromRequest('post_changes')) { if (!form_key_is_valid(getStringFromRequest('form_key'))) { exit_form_double_submit('news'); } //check to make sure both fields are there if ($summary && $details) { if (getStringFromRequest('_details_content_type') == 'html') { $details = TextSanitizer::purify($details); } else { $details = htmlspecialchars($details); } /* create a new discussion forum without a default msg if one isn't already there */ db_begin(); $f = new Forum($group); if (!$f->create(preg_replace('/[^_\.0-9a-z-]/','-', strtolower($summary)),$details,1,'',0,0)) { db_rollback(); exit_error($f->getErrorMessage(),'news'); } $group->normalizeAllRoles(); $new_id=$f->getID(); $sql='INSERT INTO news_bytes (group_id,submitted_by,is_approved,post_date,forum_id,summary,details) VALUES ($1, $2, $3, $4, $5, $6, $7)'; $result=db_query_params($sql, array($group_id, user_getid(), 0, time(), $new_id, htmlspecialchars($summary), $details)); if (!$result) { db_rollback(); form_release_key(getStringFromRequest('form_key')); $error_msg = _('ERROR doing insert'); } else { db_commit(); $feedback = _('News Added.'); } } else { form_release_key(getStringFromRequest('form_key')); $error_msg = _('ERROR - both subject and body are required'); } } //news must now be submitted from a project page - if (!$group_id) { exit_no_group(); } html_use_tooltips(); /* Show the submit form */ $group = group_get_object($group_id); news_header(array('title'=>_('Submit News for Project: ').' '.$group->getPublicName())); $jsfunc = notepad_func(); echo '
'. sprintf(_('You can post news about your project if you are an admin on your project. You may also post "help wanted" notes if your project needs help.
All posts for your project will appear instantly on your project summary page. Posts that are of special interest to the community will have to be approved by a member of the %1$s news team before they will appear on the %1$s home page.
You may include URLs, but not HTML in your submissions.
URLs that start with http:// are made clickable.'), forge_get_config ('forge_name')) .'
' . $jsfunc . ' '; news_footer(array()); } else { exit_not_logged_in(); } // Local Variables: // mode: php // c-file-style: "bsd" // End: ?>