From 480c560469e66f1cdfc2cca8b88ce63dc8c8fc97 Mon Sep 17 00:00:00 2001 From: Franck Villaume Date: Sun, 21 Jan 2018 18:55:45 +0100 Subject: [PATCH] use constant GROUP_IS_NEWS when needed rather than calling forge_get_config function each time --- src/common/forum/Forum.class.php | 3 +- src/common/forum/ForumHTML.class.php | 2 +- src/common/include/Group.class.php | 10 ++--- .../widget/Widget_HomeLatestNews.class.php | 2 +- src/www/admin/pending-news.php | 14 +++--- src/www/export/rss20_news.php | 2 +- src/www/export/rss_sfnews.php | 2 +- src/www/index_std.php | 2 +- src/www/news/admin/index.php | 2 +- src/www/news/index.php | 2 +- src/www/news/news_utils.php | 44 +++++++++---------- src/www/news/submit.php | 8 +--- 12 files changed, 41 insertions(+), 52 deletions(-) diff --git a/src/common/forum/Forum.class.php b/src/common/forum/Forum.class.php index e9ad86749f..f674d774f7 100644 --- a/src/common/forum/Forum.class.php +++ b/src/common/forum/Forum.class.php @@ -202,12 +202,11 @@ class Forum extends FFError { // news. The news/submit.php checks for proper permissions. // This needs to be revisited. - if ($this->Group->getID() == forge_get_config('news_group')) { + if ($this->Group->getID() == GROUP_IS_NEWS) { // Future check will be added. } else { // Current permissions check. - if (!forge_check_perm ('forum_admin', $this->Group->getID())) { $this->setPermissionDeniedError(); return false; diff --git a/src/common/forum/ForumHTML.class.php b/src/common/forum/ForumHTML.class.php index 773d55d283..e0e921d368 100644 --- a/src/common/forum/ForumHTML.class.php +++ b/src/common/forum/ForumHTML.class.php @@ -76,7 +76,7 @@ function forum_header($params = array()) { '; // display classification - if ($params['group'] == forge_get_config('news_group')) { + if ($params['group'] == GROUP_IS_NEWS) { print stripslashes(trove_getcatlisting(db_result($result,0,'forum_id'),0,1)); } elseif (forge_get_config('use_trove')) { print stripslashes(trove_getcatlisting($params['group'],0,1)); diff --git a/src/common/include/Group.class.php b/src/common/include/Group.class.php index b98370c075..0ca2f427c4 100644 --- a/src/common/include/Group.class.php +++ b/src/common/include/Group.class.php @@ -1778,10 +1778,10 @@ class Group extends FFError { $this->setMissingParamsError(_('Please tick all checkboxes.')); return false; } - if ($this->getID() == forge_get_config('news_group') || - $this->getID() == 1 || - $this->getID() == forge_get_config('stats_group') || - $this->getID() == forge_get_config('peer_rating_group')) { + if ($this->getID() == GROUP_IS_NEWS || + $this->getID() == GROUP_IS_MASTER || + $this->getID() == GROUP_IS_STATS || + $this->getID() == GROUP_IS_PEER_RATINGS) { $this->setError(_('Cannot Delete System Group')); return false; } @@ -1894,7 +1894,7 @@ class Group extends FFError { // // Delete news // - $news_group=group_get_object(forge_get_config('news_group')); + $news_group = group_get_object(GROUP_IS_NEWS); $res = db_query_params('SELECT forum_id FROM news_bytes WHERE group_id=$1', array($this->getID())); if (!$res) { diff --git a/src/common/widget/Widget_HomeLatestNews.class.php b/src/common/widget/Widget_HomeLatestNews.class.php index 2fb026943b..c2551b9d08 100644 --- a/src/common/widget/Widget_HomeLatestNews.class.php +++ b/src/common/widget/Widget_HomeLatestNews.class.php @@ -27,7 +27,7 @@ class Widget_HomeLatestNews extends Widget { return _('Latest News'); } function getContent() { - $content = news_show_latest(forge_get_config('news_group'), 5, true, false, false, 5); + $content = news_show_latest(GROUP_IS_NEWS, 5, true, false, false, 5); $content .= util_make_link('/news/', _('Browse all news')); return $content; } diff --git a/src/www/admin/pending-news.php b/src/www/admin/pending-news.php index db8317edab..de75e5de31 100644 --- a/src/www/admin/pending-news.php +++ b/src/www/admin/pending-news.php @@ -45,13 +45,9 @@ $id = getIntFromRequest('id'); $for_group = getIntFromRequest('for_group'); /* - News uber-user admin pages - Show all waiting news items except those already rejected. - - Admin members of forge_get_config('news_group') (news project) can edit/change/approve news items - + Admin members of GROUP_IS_NEWS (news project) can edit/change/approve news items */ session_require_global_perm ('approve_news') ; @@ -102,8 +98,8 @@ if ($post_changes) { */ $news_id = getArrayFromRequest('news_id'); $result = db_query_params("UPDATE news_bytes -SET is_approved='2' -WHERE id = ANY($1)",array(db_int_array_to_any_clause($news_id))); + SET is_approved='2' + WHERE id = ANY($1)",array(db_int_array_to_any_clause($news_id))); if (!$result || db_affected_rows($result) < 1) { $error_msg .= _('Error On Update')._(': ').db_error(); } else { @@ -120,8 +116,8 @@ if ($approve) { */ $result=db_query_params("SELECT groups.unix_group_name,groups.group_id,news_bytes.* -FROM news_bytes,groups WHERE id=$1 -AND news_bytes.group_id=groups.group_id ", array($id)); + FROM news_bytes,groups WHERE id=$1 + AND news_bytes.group_id=groups.group_id ", array($id)); if (db_numrows($result) < 1) { exit_error(_('Newsbyte not found'), 'news'); } diff --git a/src/www/export/rss20_news.php b/src/www/export/rss20_news.php index 3402fe9bcb..d7950a2742 100644 --- a/src/www/export/rss20_news.php +++ b/src/www/export/rss20_news.php @@ -95,7 +95,7 @@ ORDER BY post_date DESC', // ## item outputs while ($row = db_fetch_array($res)) { // if news group, link is main page - if ($row['group_id'] != forge_get_config('news_group')) { + if ($row['group_id'] != GROUP_IS_NEWS) { $link = util_make_url("/forum/forum.php?forum_id=".$row['forum_id']); } else { $link = util_make_url('/'); diff --git a/src/www/export/rss_sfnews.php b/src/www/export/rss_sfnews.php index 23c4d92d47..9f761ca0c0 100644 --- a/src/www/export/rss_sfnews.php +++ b/src/www/export/rss_sfnews.php @@ -97,7 +97,7 @@ while ($row = db_fetch_array($res)) { print "\n \n"; print " ".htmlspecialchars($row['summary'])."\n"; // if news group, link is main page - if ($row['group_id'] != forge_get_config('news_group')) { + if ($row['group_id'] != GROUP_IS_NEWS) { print " ".util_make_url ('/forum/forum.php?forum_id='.$row['forum_id'])."\n"; } else { print " ".util_make_url ('/')."\n"; diff --git a/src/www/index_std.php b/src/www/index_std.php index 5f65675be0..4c065c36cd 100644 --- a/src/www/index_std.php +++ b/src/www/index_std.php @@ -146,7 +146,7 @@ echo $HTML->html_list($liElements); if(forge_get_config('use_news')) { echo $HTML->boxTop(_('Latest News'), 'Latest_News'); - echo news_show_latest(forge_get_config('news_group'), 5, true, false, false, 5); + echo news_show_latest(GROUP_IS_NEWS, 5, true, false, false, 5); echo $HTML->boxBottom(); } ?> diff --git a/src/www/news/admin/index.php b/src/www/news/admin/index.php index ccef011af7..bb992ff23e 100644 --- a/src/www/news/admin/index.php +++ b/src/www/news/admin/index.php @@ -44,7 +44,7 @@ $details = getHtmlTextFromRequest('details'); $id = getIntFromRequest('id'); $for_group = getIntFromRequest('for_group'); -if ($group_id && $group_id != forge_get_config('news_group')) { +if ($group_id && $group_id != GROUP_IS_NEWS) { session_require_perm ('project_admin', $group_id) ; $status = getIntFromRequest('status'); diff --git a/src/www/news/index.php b/src/www/news/index.php index 54c0a724fe..9c010ffcb5 100644 --- a/src/www/news/index.php +++ b/src/www/news/index.php @@ -52,7 +52,7 @@ if ( !$limit || $limit < 0 || $limit > 50 || !is_numeric($limit) ) { $limit = 50; } -if ($group_id && ($group_id != forge_get_config('news_group'))) { +if ($group_id && ($group_id != GROUP_IS_NEWS)) { $result = db_query_params ('SELECT * FROM news_bytes WHERE group_id=$1 AND is_approved <> 4 ORDER BY post_date DESC', array ($group_id), $limit+1, diff --git a/src/www/news/news_utils.php b/src/www/news/news_utils.php index b6fecff31c..09f11b99df 100644 --- a/src/www/news/news_utils.php +++ b/src/www/news/news_utils.php @@ -40,7 +40,7 @@ function news_header($params) { $params['toptab'] = 'news'; $params['group'] = $group_id; - if ($group_id && ($group_id != forge_get_config('news_group'))) { + if ($group_id && ($group_id != GROUP_IS_NEWS)) { $menu_texts=array(); $menu_links=array(); @@ -62,7 +62,7 @@ function news_header($params) { /* Show horizontal links */ - if ($group_id && ($group_id != forge_get_config('news_group'))) { + if ($group_id && ($group_id != GROUP_IS_NEWS)) { site_project_header($params); } else { site_header($params); @@ -77,7 +77,7 @@ function news_footer($params = array()) { /** * Display latest news for frontpage or news page. * - * @param int $group_id group_id of the news (forge_get_config('news_group') used if none given) + * @param int $group_id group_id of the news (GROUP_IS_NEWS used if none given) * @param int $limit number of news to display (default: 10) * @param bool $show_summaries (default: true) * @param bool $allow_submit (default: true) @@ -89,7 +89,7 @@ function news_footer($params = array()) { function news_show_latest($group_id = 0, $limit = 10, $show_summaries = true, $allow_submit = true, $flat = false, $tail_headlines = 0, $show_forum = true) { global $HTML; if (!$group_id) { - $group_id=forge_get_config('news_group'); + $group_id = GROUP_IS_NEWS; } /* Show a simple list of the latest news items with a link to the forum @@ -100,22 +100,22 @@ function news_show_latest($group_id = 0, $limit = 10, $show_summaries = true, $a $l = $limit + $tail_headlines; } $result = db_query_params (' -SELECT groups.group_name, groups.unix_group_name, groups.group_id, - users.user_name, users.realname, users.user_id, - news_bytes.forum_id, news_bytes.summary, news_bytes.post_date, - news_bytes.details -FROM users,news_bytes,groups -WHERE (news_bytes.group_id=$1 AND news_bytes.is_approved <> 4 OR 1!=$2) - AND (news_bytes.is_approved=1 OR 1 != $3) - AND users.user_id=news_bytes.submitted_by - AND news_bytes.group_id=groups.group_id - AND groups.status=$4 -ORDER BY post_date DESC', - array ($group_id, - $group_id != forge_get_config('news_group') ? 1 : 0, - $group_id != forge_get_config('news_group') ? 0 : 1, - 'A'), - $l); + SELECT groups.group_name, groups.unix_group_name, groups.group_id, + users.user_name, users.realname, users.user_id, + news_bytes.forum_id, news_bytes.summary, news_bytes.post_date, + news_bytes.details + FROM users,news_bytes,groups + WHERE (news_bytes.group_id=$1 AND news_bytes.is_approved <> 4 OR 1!=$2) + AND (news_bytes.is_approved=1 OR 1 != $3) + AND users.user_id=news_bytes.submitted_by + AND news_bytes.group_id=groups.group_id + AND groups.status=$4 + ORDER BY post_date DESC', + array ($group_id, + $group_id != GROUP_IS_NEWS ? 1 : 0, + $group_id != GROUP_IS_NEWS ? 0 : 1, + 'A'), + $l); $rows=db_numrows($result); $return = ''; @@ -207,7 +207,7 @@ ORDER BY post_date DESC', $return .= "\n\n"; } - if ($group_id != forge_get_config('news_group')) { + if ($group_id != GROUP_IS_NEWS) { $archive_url = '/news/?group_id='.$group_id; } else { $archive_url = '/news/'; @@ -220,7 +220,7 @@ ORDER BY post_date DESC', } } } - if ($allow_submit && $group_id != forge_get_config('news_group')) { + if ($allow_submit && $group_id != GROUP_IS_NEWS) { if(!$result || $rows < 1) { $return .= ''; } diff --git a/src/www/news/submit.php b/src/www/news/submit.php index 5808f3d446..caed9a37e4 100644 --- a/src/www/news/submit.php +++ b/src/www/news/submit.php @@ -76,7 +76,7 @@ if (session_loggedin()) { 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')) { + if ($group_id == GROUP_IS_NEWS) { exit_permission_denied(_('Submitting news from the news group is not allowed.'), 'home'); } @@ -118,12 +118,6 @@ if (session_loggedin()) { } } - //news must now be submitted from a project page - - - if (!$group_id) { - exit_no_group(); - } - /* Show the submit form */ -- 2.30.2