This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  12514f1450e02c1e5cb2f58c27237ec7c75fd429 (commit)
      from  08dab2c6ee71b72e5f2b8a3e0b404648a5e5fe5d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=12514f1450e02c1e5cb2f58c27237ec7c75fd429

commit 12514f1450e02c1e5cb2f58c27237ec7c75fd429
Author: Franck Villaume <[email protected]>
Date:   Thu Apr 22 19:50:34 2021 +0200

    clean-up: remove use of HTTPRequest

diff --git a/src/common/include/escapingUtils.php 
b/src/common/include/escapingUtils.php
index ca76520..723f26b 100644
--- a/src/common/include/escapingUtils.php
+++ b/src/common/include/escapingUtils.php
@@ -3,6 +3,7 @@
  * FusionForge escaping library
  *
  * Copyright 2003-2004, Guillaume Smet
+ * Copyright 2021, Franck Villaume - TrivialDev
  *
  * This file is part of FusionForge. FusionForge is free software;
  * you can redistribute it and/or modify it under the terms of the
@@ -357,7 +358,16 @@ function getFilteredStringFromRequest($string, $pattern, 
$defaultValue = '') {
        }
 }
 
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
+/**
+ * existInRequest - check if a var exists in REQUEST
+ *
+ * @param      any     $var    key to check
+ * @return     bool    true if found or false if not found.
+ */
+function existInRequest($var) {
+       $arrR = _getRequestArray();
+       if (isset($arrR[$var])) {
+               return true;
+       }
+       return false;
+}
diff --git a/src/common/widget/Widget_HomeHallOfFame.class.php 
b/src/common/widget/Widget_HomeHallOfFame.class.php
index 05e6eff..c27b8f4 100644
--- a/src/common/widget/Widget_HomeHallOfFame.class.php
+++ b/src/common/widget/Widget_HomeHallOfFame.class.php
@@ -83,36 +83,33 @@ class Widget_HomeHallOfFame extends Widget {
        }
 
        function updatePreferences() {
-               $request->valid(new Valid_String('cancel'));
-               $vShow = new Valid_WhiteList('show', array('P', 'D', 'A', 'PA', 
'PD', 'DA', 'PDA'));
-               $vShow->required();
-               if (!$request->exist('cancel')) {
-                       if ($request->valid($vShow)) {
-                               switch($request->get('show')) {
-                                       case 'P':
-                                               $this->_hall_show = 'P';
-                                               break;
-                                       case 'D':
-                                               $this->_hall_show = 'D';
-                                               break;
-                                       case 'A':
-                                               $this->_hall_show = 'A';
-                                               break;
-                                       case 'PA':
-                                               $this->_hall_show = 'PA';
-                                               break;
-                                       case 'PD':
-                                               $this->_hall_show = 'PD';
-                                               break;
-                                       case 'DA':
-                                               $this->_hall_show = 'DA';
-                                               break;
-                                       case 'PDA':
-                                       default:
-                                               $this->_hall_show = 'PDA';
-                               }
-                               
UserManager::instance()->getCurrentUser()->setPreference('my_home_hall_of_fame',
 $this->_hall_show);
+               $cancel = getStringFromRequest('cancel');
+               if (strlen($cancel) > 0) {
+                       $show = getStringFromRequest('show');
+                       switch($show) {
+                               case 'P':
+                                       $this->_hall_show = 'P';
+                                       break;
+                               case 'D':
+                                       $this->_hall_show = 'D';
+                                       break;
+                               case 'A':
+                                       $this->_hall_show = 'A';
+                                       break;
+                               case 'PA':
+                                       $this->_hall_show = 'PA';
+                                       break;
+                               case 'PD':
+                                       $this->_hall_show = 'PD';
+                                       break;
+                               case 'DA':
+                                       $this->_hall_show = 'DA';
+                                       break;
+                               case 'PDA':
+                               default:
+                                       $this->_hall_show = 'PDA';
                        }
+                       
UserManager::instance()->getCurrentUser()->setPreference('my_home_hall_of_fame',
 $this->_hall_show);
                }
                return true;
        }
diff --git a/src/common/widget/Widget_MyAdmin.class.php 
b/src/common/widget/Widget_MyAdmin.class.php
index 13e8384..05e07d1 100644
--- a/src/common/widget/Widget_MyAdmin.class.php
+++ b/src/common/widget/Widget_MyAdmin.class.php
@@ -56,10 +56,10 @@ class Widget_MyAdmin extends Widget {
 
                if (forge_check_global_perm('approve_projects')) {
                        $res = db_query_params('SELECT count(*) AS count FROM 
groups
-                       WHERE group_id > 4
-                           AND status = $1
-                           AND register_time > 0
-                           AND is_template = 0',
+                                               WHERE group_id > 4
+                                               AND status = $1
+                                               AND register_time > 0
+                                               AND is_template = 0',
                                array('P'));
                        $row = db_fetch_array($res);
                        $pending_projects = $row['count'];
@@ -75,14 +75,14 @@ class Widget_MyAdmin extends Widget {
                if (forge_check_global_perm('approve_news')) {
                        $old_date = time()-60*60*24*30;
                        $res = db_query_params('SELECT 
groups.group_id,id,post_date,summary,
-                               group_name,unix_group_name
-                       FROM news_bytes,groups
-                       WHERE is_approved=0
-                       AND news_bytes.group_id=groups.group_id
-                       AND post_date > $1
-                       AND groups.status=$2
-                       ORDER BY post_date',
-                               array ($old_date, 'A')) ;
+                                               group_name,unix_group_name
+                                               FROM news_bytes,groups
+                                               WHERE is_approved=0
+                                               AND 
news_bytes.group_id=groups.group_id
+                                               AND post_date > $1
+                                               AND groups.status=$2
+                                               ORDER BY post_date',
+                                               array ($old_date, 'A')) ;
                        $pending_news = db_numrows($res);
 
                        $html_my_admin .= $this->_get_admin_row(
diff --git a/src/common/widget/Widget_MyArtifacts.class.php 
b/src/common/widget/Widget_MyArtifacts.class.php
index 7a84f91..a457bbf 100644
--- a/src/common/widget/Widget_MyArtifacts.class.php
+++ b/src/common/widget/Widget_MyArtifacts.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2012-2013,2018-2019, Franck Villaume - TrivialDev
+ * Copyright 2012-2013,2018-2019,2021,  Franck Villaume - TrivialDev
  * Copyright 2013, French Ministry of Education
  * http://fusionforge.org
  *
@@ -128,7 +128,7 @@ class Widget_MyArtifacts extends Widget {
 
                if (count($my_artifacts) > 0) {
                        $html_my_artifacts = $HTML->listTableTop();
-                       $html_my_artifacts .= 
$this->_display_artifacts($my_artifacts, 1);
+                       $html_my_artifacts .= 
$this->_display_artifacts($my_artifacts);
                        $html_my_artifacts .= $HTML->listTableBottom();
                } else {
                        $html_my_artifacts = $HTML->warning_msg(_('You have no 
artifacts.'));
@@ -137,26 +137,11 @@ class Widget_MyArtifacts extends Widget {
                return $html_my_artifacts;
        }
 
-       function _display_artifacts($list_trackers, $print_box_begin) {
+       function _display_artifacts($list_trackers) {
                global $HTML;
-               $request = HTTPRequest::instance();
-               $vItemId = new Valid_UInt('hide_item_id');
-               $vItemId->required();
-               if($request->valid($vItemId)) {
-                       $hide_item_id = $request->get('hide_item_id');
-               } else {
-                       $hide_item_id = null;
-               }
-
-               $vArtifact = new Valid_WhiteList('hide_artifact', array(0, 1));
-               $vArtifact->required();
-               if($request->valid($vArtifact)) {
-                       $hide_artifact = $request->get('hide_artifact');
-               } else {
-                       $hide_artifact = null;
-               }
+               $hide_item_id = getIntFromRequest('hide_item_id', 0);
+               $hide_artifact = getIntFromRequest('hide_artifact', 0);
 
-               $j = $print_box_begin;
                $html_my_artifacts = '';
                $html = '';
                $html_hdr = '';
@@ -186,8 +171,7 @@ class Widget_MyArtifacts extends Widget {
 
                                //work on the tracker of the last round if 
there was one
                                if ($atid != $atid_old && $count_aids != 0) {
-                                       list($hide_now,$count_diff,$hide_url) =
-                                               my_hide_url('artifact', 
$atid_old, $hide_item_id, $count_aids, $hide_artifact);
+                                       list($hide_now,$count_diff,$hide_url) = 
my_hide_url('artifact', $atid_old, $hide_item_id, $count_aids, $hide_artifact);
                                        $count_new = max(0, $count_diff);
                                        $cells = array();
                                        $cells[] = array($hide_url.
@@ -199,13 +183,11 @@ class Widget_MyArtifacts extends Widget {
                                        $html_my_artifacts .= 
$HTML->multiTableRow(array('class' => 'boxitem'), $cells).$html;
                                        $count_aids = 0;
                                        $html = '';
-                                       $j++;
-
                                }
 
                                if ($count_aids == 0) {
                                        //have to call it to get at least the 
hide_now even if count_aids is false at this point
-                                       $hide_now = 
my_hide('artifact',$atid,$hide_item_id,$hide_artifact);
+                                       $hide_now = my_hide('artifact', $atid, 
$hide_item_id, $hide_artifact);
                                }
 
                                $group_name   = 
$trackers_array->ArtifactType->Group->getPublicName();
@@ -226,11 +208,11 @@ class Widget_MyArtifacts extends Widget {
                                        // Form the 'Submitted 
by/Assigned/Monitored_by to flag' for marking
                                        $AS_flag = '';
                                        $AS_title = '';
-                                       if($trackers_array->getAssignedTo()== 
user_getid()) {
+                                       if($trackers_array->getAssignedTo() == 
user_getid()) {
                                                $AS_flag .= 'A';
                                                $AS_title .= _('Assigned');
                                        }
-                                       if ($trackers_array->getSubmittedBy()== 
user_getid()) {
+                                       if ($trackers_array->getSubmittedBy() 
== user_getid()) {
                                                $AS_flag .= 'S';
                                                if (strlen($AS_title))
                                                        $AS_title .= ' / ';
@@ -259,7 +241,7 @@ class Widget_MyArtifacts extends Widget {
                }
                //work on the tracker of the last round if there was one
                if ($atid_old != 0 && $count_aids != 0) {
-                       list($hide_now,$count_diff,$hide_url) = 
my_hide_url('artifact',$atid_old,$hide_item_id,$count_aids,$hide_artifact);
+                       list($hide_now,$count_diff,$hide_url) = 
my_hide_url('artifact', $atid_old, $hide_item_id, $count_aids, $hide_artifact);
                        $count_new = max(0, $count_diff);
                        $cells = array();
                        $cells[] = array($hide_url.
diff --git a/src/common/widget/Widget_MyBookmarks.class.php 
b/src/common/widget/Widget_MyBookmarks.class.php
index 4bc86f4..00c564c 100644
--- a/src/common/widget/Widget_MyBookmarks.class.php
+++ b/src/common/widget/Widget_MyBookmarks.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2014, Franck Villaume - TrivialDev
+ * Copyright 2014,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -40,15 +40,15 @@ class Widget_MyBookmarks extends Widget {
        function getContent() {
                global $HTML;
                $html_my_bookmarks = '';
-               $result = db_query_params("SELECT bookmark_url, bookmark_title, 
bookmark_id from user_bookmarks where ".
-                                       "user_id=$1 ORDER BY 
bookmark_title",array(user_getid()));
+               $result = db_query_params("SELECT bookmark_url, bookmark_title, 
bookmark_id from user_bookmarks where user_id=$1 ORDER BY bookmark_title",
+                                       array(user_getid()));
                $rows = db_numrows($result);
                if (!$result || $rows < 1) {
                        $html_my_bookmarks .= $HTML->warning_msg(_('You 
currently do not have any bookmarks saved.'));
                        $html_my_bookmarks .= db_error();
                } else {
                        $html_my_bookmarks .= $HTML->listTableTop();
-                       for ($i=0; $i<$rows; $i++) {
+                       for ($i = 0; $i < $rows; $i++) {
                                $cells = array();
                                $cells[][] = 
util_make_link(db_result($result,$i,'bookmark_url'), 
db_result($result,$i,'bookmark_title'), array(), true).
                                                html_e('small', array(), 
util_make_link('/my/bookmark_edit.php?bookmark_id='.db_result($result,$i,'bookmark_id'),
 '['._('Edit').']'));
diff --git a/src/common/widget/Widget_MyLatestCommits.class.php 
b/src/common/widget/Widget_MyLatestCommits.class.php
index 675efe4..ca4587c 100644
--- a/src/common/widget/Widget_MyLatestCommits.class.php
+++ b/src/common/widget/Widget_MyLatestCommits.class.php
@@ -3,7 +3,7 @@
  * Widget_MyLatestCommits
  *
  * Copyright (c) Xerox Corporation, Codendi 2001-2009 - 
[email protected]
- * Copyright 2014, 2018,2021, Franck Villaume - TrivialDev
+ * Copyright 2014,2018,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -60,27 +60,13 @@ class Widget_MyLatestCommits extends Widget {
        public function getContent() {
                global $HTML;
                $html = '';
-               //$uh = new UserHelper();
-               $request = HTTPRequest::instance();
                $hp = Codendi_HTMLPurifier::instance();
                $user = UserManager::instance()->getCurrentUser();
                $projects = $user->getGroups();
                $global_nb_revisions = 0;
                foreach ($projects as $project) {
-                       $vItemId = new Valid_UInt('hide_item_id');
-                       $vItemId->required();
-                       if ($request->valid($vItemId)) {
-                               $hide_item_id = $request->get('hide_item_id');
-                       } else {
-                               $hide_item_id = null;
-                       }
-                       $vProject = new Valid_WhiteList('hide_scm', array(0, 
1));
-                       $vProject->required();
-                       if ($request->valid($vProject)) {
-                               $hide_scm = $request->get('hide_scm');
-                       } else {
-                               $hide_scm = null;
-                       }
+                       $hide_item_id = getIntFromRequest('hide_item_id', 0);
+                       $hide_scm = getIntFromRequest('hide_scm', 0);
                        $revisions = array();
                        if ($project->usesPlugin('scmsvn') && 
forge_check_perm('scm', $project->getID(), 'read')) {
                                $scmPlugin = plugin_get_object('scmsvn');
@@ -133,21 +119,14 @@ class Widget_MyLatestCommits extends Widget {
        }
 
        function updatePreferences() {
-               $request->valid(new Valid_String('cancel'));
-               $nbShow = new Valid_UInt('nb_commits');
-               $nbShow->required();
-               if (!$request->exist('cancel')) {
-                       if ($request->valid($nbShow)) {
-                               $this->_nb_commits = 
$request->get('nb_commits');
-                       } else {
-                               $this->_nb_commits = 
self::NB_COMMITS_TO_DISPLAY;
-                       }
+               $cancel = getStringFromRequest('cancel');
+               if (strlen($cancel) > 0) {
+                       $this->_nb_commits = getIntFromRequest('nb_commits', 
self::NB_COMMITS_TO_DISPLAY);
                        
UserManager::instance()->getCurrentUser()->setPreference('my_latests_commits_nb_display',
 $this->_nb_commits);
                }
                return true;
        }
 
-
        function hasPreferences() {
                return true;
        }
@@ -165,10 +144,9 @@ class Widget_MyLatestCommits extends Widget {
        }
 
        function getAjaxUrl($owner_id, $owner_type) {
-               $request =& HTTPRequest::instance();
                $ajax_url = parent::getAjaxUrl($owner_id, $owner_type);
-               if ($request->exist('hide_item_id') || 
$request->exist('hide_scm')) {
-                       $ajax_url .= 
'&hide_item_id='.$request->get('hide_item_id').'&hide_scm='.$request->get('hide_scm');
+               if (existInRequest('hide_item_id') || 
existInRequest('hide_scm')) {
+                       $ajax_url .= 
'&hide_item_id='.getIntFromRequest('hide_item_id').'&hide_scm='.getIntFromRequest('hide_scm');
                }
                return $ajax_url;
        }
diff --git a/src/common/widget/Widget_MyMonitoredDocuments.class.php 
b/src/common/widget/Widget_MyMonitoredDocuments.class.php
index 53920c0..7f0e375 100644
--- a/src/common/widget/Widget_MyMonitoredDocuments.class.php
+++ b/src/common/widget/Widget_MyMonitoredDocuments.class.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
  * Copyright 2010, Franck Villaume - Capgemini
- * Copyright 2011-2014,2017, Franck Villaume - TrivialDev
+ * Copyright 2011-2014,2017,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of FusionForge.
@@ -65,22 +65,9 @@ class Widget_MyMonitoredDocuments extends Widget {
                                }
                        }
                        if (count($validDistinctMonitorGroupIdsArray)) {
-                               $request =& HTTPRequest::instance();
                                $html_my_monitored_documents .= 
$HTML->listTableTop();
-                               $vItemId = new Valid_UInt('hide_item_id');
-                               $vItemId->required();
-                               if($request->valid($vItemId)) {
-                                       $hide_item_id = 
$request->get('hide_item_id');
-                               } else {
-                                       $hide_item_id = null;
-                               }
-                               $vDocument = new 
Valid_WhiteList('hide_document', array(0, 1));
-                               $vDocument->required();
-                               if($request->valid($vDocument)) {
-                                       $hide_document = 
$request->get('hide_document');
-                               } else {
-                                       $hide_document = null;
-                               }
+                               $hide_item_id = 
getIntFromRequest('hide_item_id', 0);
+                               $hide_document = 
getIntFromRequest('hide_document', 0);
                                foreach ($validDistinctMonitorGroupIdsArray as 
$distinctMonitorGroupId) {
                                        $groupObject = 
group_get_object($distinctMonitorGroupId);
                                        $monitorElementDocIds = 
$monitorElementObjectDoc->getMonitoredIdsByGroupIdByUserIdInArray($distinctMonitorGroupId,
 user_getid());
diff --git a/src/common/widget/Widget_MyMonitoredForums.class.php 
b/src/common/widget/Widget_MyMonitoredForums.class.php
index 0fb9fd1..2488ad2 100644
--- a/src/common/widget/Widget_MyMonitoredForums.class.php
+++ b/src/common/widget/Widget_MyMonitoredForums.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2012-2015, Franck Villaume - TrivialDev
+ * Copyright 2012-2015,2021, Franck Villaume - TrivialDev
  * Copyright (C) 2014 Alain Peyrat - Alcatel-Lucent
  *
  * This file is a part of FusionForge.
@@ -57,21 +57,8 @@ class Widget_MyMonitoredForums extends Widget {
                                }
                        }
                        if (count($validDistinctMonitorGroupIdsArray)) {
-                               $request =& HTTPRequest::instance();
-                               $vItemId = new Valid_UInt('hide_item_id');
-                               $vItemId->required();
-                               if ($request->valid($vItemId)) {
-                                       $hide_item_id = 
$request->get('hide_item_id');
-                               } else {
-                                       $hide_item_id = null;
-                               }
-                               $vForum = new Valid_WhiteList('hide_forum', 
array(0, 1));
-                               $vForum->required();
-                               if ($request->valid($vForum)) {
-                                       $hide_forum = 
$request->get('hide_forum');
-                               } else {
-                                       $hide_forum = null;
-                               }
+                               $hide_item_id = 
getIntFromRequest('hide_item_id', 0);
+                               $hide_forum = getIntFromRequest('hide_forum', 
0);
                                $setListTableTop = true;
                                foreach ($validDistinctMonitorGroupIdsArray as 
$validDistinctMonitorGroupId) {
                                        $groupObject = 
group_get_object($validDistinctMonitorGroupId);
@@ -139,10 +126,9 @@ class Widget_MyMonitoredForums extends Widget {
        }
 
        function getAjaxUrl($owner_id, $owner_type) {
-               $request =& HTTPRequest::instance();
                $ajax_url = parent::getAjaxUrl($owner_id, $owner_type);
-               if ($request->exist('hide_item_id') || 
$request->exist('hide_forum')) {
-                       $ajax_url .= 
'&hide_item_id='.$request->get('hide_item_id').'&hide_forum='.$request->get('hide_forum');
+               if (existInRequest('hide_item_id') || 
existInRequest('hide_forum')) {
+                       $ajax_url .= 
'&hide_item_id='.getIntFromRequest('hide_item_id').'&hide_forum='.getIntFromRequest('hide_forum');
                }
                return $ajax_url;
        }
diff --git a/src/common/widget/Widget_MyMonitoredFp.class.php 
b/src/common/widget/Widget_MyMonitoredFp.class.php
index 326b2f4..ea8d5d3 100644
--- a/src/common/widget/Widget_MyMonitoredFp.class.php
+++ b/src/common/widget/Widget_MyMonitoredFp.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2014, Franck Villaume - TrivialDev
+ * Copyright 2014,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -53,21 +53,8 @@ class Widget_MyMonitoredFp extends Widget {
                                }
                        }
                        if (count($validDistinctMonitorGroupIdsArray)) {
-                               $request =& HTTPRequest::instance();
-                               $vItemId = new Valid_UInt('hide_item_id');
-                               $vItemId->required();
-                               if ($request->valid($vItemId)) {
-                                       $hide_item_id = 
$request->get('hide_item_id');
-                               } else {
-                                       $hide_item_id = null;
-                               }
-                               $vFrs = new Valid_WhiteList('hide_frs', 
array(0, 1));
-                               $vFrs->required();
-                               if ($request->valid($vFrs)) {
-                                       $hide_frs = $request->get('hide_frs');
-                               } else {
-                                       $hide_frs = null;
-                               }
+                               $hide_item_id = 
getIntFromRequest('hide_item_id', 0);
+                               $hide_frs = getIntFromRequest('hide_frs', 0);
                                $setListTableTop = true;
                                foreach ($validDistinctMonitorGroupIdsArray as 
$validDistinctMonitorGroupId) {
                                        $groupObject = 
group_get_object($validDistinctMonitorGroupId);
@@ -134,10 +121,9 @@ class Widget_MyMonitoredFp extends Widget {
        }
 
        function getAjaxUrl($owner_id, $owner_type) {
-               $request =& HTTPRequest::instance();
                $ajax_url = parent::getAjaxUrl($owner_id, $owner_type);
-               if ($request->exist('hide_item_id') || 
$request->exist('hide_frs')) {
-                       $ajax_url .= 
'&hide_item_id='.$request->get('hide_item_id').'&hide_frs='.$request->get('hide_frs');
+               if (existInRequest('hide_item_id') || 
existInRequest('hide_frs')) {
+                       $ajax_url .= 
'&hide_item_id='.getIntFromRequest('hide_item_id').'&hide_frs='.getIntFromRequest('hide_frs');
                }
                return $ajax_url;
        }
diff --git a/src/common/widget/Widget_MyProjectsLastDocuments.class.php 
b/src/common/widget/Widget_MyProjectsLastDocuments.class.php
index 2e5c002..d051a49 100644
--- a/src/common/widget/Widget_MyProjectsLastDocuments.class.php
+++ b/src/common/widget/Widget_MyProjectsLastDocuments.class.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
  * Copyright 2010, Franck Villaume - Capgemini
- * Copyright 2011-2014,2016, Franck Villaume - TrivialDev
+ * Copyright 2011-2014,2016,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of FusionForge.
@@ -38,8 +38,8 @@ class Widget_MyProjectsLastDocuments extends Widget {
        }
 
        function getContent() {
-               $html_my_projects = '';
                global $HTML;
+               $html_my_projects = '';
                $user = session_get_user();
                $groups = $user->getGroups();
 
@@ -47,28 +47,13 @@ class Widget_MyProjectsLastDocuments extends Widget {
                        $html_my_projects .= $HTML->warning_msg(_("You're not a 
member of any project"));
                } else {
                        sortProjectList($groups);
-                       $request = HTTPRequest::instance();
-                       $vItemId = new Valid_UInt('hide_item_id');
-                       $vItemId->required();
-                       if($request->valid($vItemId)) {
-                               $hide_item_id = $request->get('hide_item_id');
-                       } else {
-                               $hide_item_id = null;
-                       }
+                       $hide_item_id = getIntFromRequest('hide_item_id', 0);
                        $html_my_projects .= $HTML->listTableTop();
                        $i = 0;
                        foreach ($groups as $g) {
                                if ($g->usesDocman()) {
                                        $i++;
-
-                                       $vWhiteList = new 
Valid_WhiteList('hide_dmproj', array(0, 1));
-                                       $vWhiteList->required();
-                                       if($request->valid($vWhiteList)) {
-                                               $hide_docmanproject = 
$request->get('hide_dmproj');
-                                       } else {
-                                               $hide_docmanproject = null;
-                                       }
-
+                                       $hide_docmanproject = 
getIntFromRequest('hide_dmproj', 0);
                                        $stateIdDg = 1;
                                        $stateIdDocuments = array(1);
                                        if (forge_check_perm('docman', 
$g->getID(), 'approve')) {
@@ -127,7 +112,6 @@ class Widget_MyProjectsLastDocuments extends Widget {
                                                        $j--;
                                                }
                                        }
-
                                        $html_my_projects .= $html_hdr.$html;
                                }
                        }
diff --git a/src/common/widget/Widget_MySurveys.class.php 
b/src/common/widget/Widget_MySurveys.class.php
index 2ce40df..d47664e 100644
--- a/src/common/widget/Widget_MySurveys.class.php
+++ b/src/common/widget/Widget_MySurveys.class.php
@@ -92,21 +92,8 @@ class Widget_MySurveys extends Widget {
                                        }
                                }
                                $surveys = array_values($surveys);
-                               $vItemId = new Valid_UInt('hide_item_id');
-                               $vItemId->required();
-                               if($request->valid($vItemId)) {
-                                       $hide_item_id = 
$request->get('hide_item_id');
-                               } else {
-                                       $hide_item_id = null;
-                               }
-
-                               $vForum = new Valid_WhiteList('hide_survey', 
array(0, 1));
-                               $vForum->required();
-                               if($request->valid($vForum)) {
-                                       $hide_survey = 
$request->get('hide_survey');
-                               } else {
-                                       $hide_survey = null;
-                               }
+                               $hide_item_id = 
getIntFromRequest('hide_item_id', 0);
+                               $hide_survey = getIntFromRequest('hide_survey', 
0);
 
                                list($hide_now,$count_diff,$hide_url) = 
my_hide_url('survey',$group_id,$hide_item_id,count($surveys),$hide_survey);
 
@@ -164,25 +151,22 @@ class Widget_MySurveys extends Widget {
        }
 
        function updatePreferences() {
-               $request->valid(new Valid_String('cancel'));
-               $vShow = new Valid_WhiteList('show', array('A', 'N', 'AN'));
-               $vShow->required();
-               if (!$request->exist('cancel')) {
-                       if ($request->valid($vShow)) {
-                               switch($request->get('show')) {
-                                       case 'A':
-                                               $this->_survey_show = 'A';
-                                               break;
-                                       case 'N':
-                                               $this->_survey_show = 'N';
-                                               break;
-                                       case 'AN':
-                                       default:
-                                               $this->_survey_show = 'AN';
-                                               break;
-                               }
-                               
UserManager::instance()->getCurrentUser()->setPreference('my_surveys_show', 
$this->_survey_show);
+               $cancel = getStringFromRequest('cancel');
+               if (strlen($cancel) > 0) {
+                       $show = getStringFromRequest('show');
+                       switch($show) {
+                               case 'A':
+                                       $this->_survey_show = 'A';
+                                       break;
+                               case 'N':
+                                       $this->_survey_show = 'N';
+                               break;
+                               case 'AN':
+                               default:
+                                       $this->_survey_show = 'AN';
+                                       break;
                        }
+                       
UserManager::instance()->getCurrentUser()->setPreference('my_surveys_show', 
$this->_survey_show);
                }
                return true;
        }
diff --git a/src/common/widget/Widget_MyTasks.class.php 
b/src/common/widget/Widget_MyTasks.class.php
index 6c4d6b1..20d860d 100644
--- a/src/common/widget/Widget_MyTasks.class.php
+++ b/src/common/widget/Widget_MyTasks.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2014-2016, Franck Villaume - TrivialDev
+ * Copyright 2014-2016,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -45,7 +45,7 @@ class Widget_MyTasks extends Widget {
                        ' AND project_task.status_id=1 AND 
project_group_list.group_id=groups.group_id '.
                        'AND 
project_group_list.group_project_id=project_task.group_project_id GROUP BY 
groups.group_id, groups.group_name, project_group_list.project_name, 
project_group_list.group_project_id';
 
-               $result=db_query_params($sql,array(user_getid()));
+               $result = db_query_params($sql,array(user_getid()));
 
                $plist = array();
                while ($r = db_fetch_array($result)) {
@@ -58,7 +58,6 @@ class Widget_MyTasks extends Widget {
                $rows = count($plist);
 
                if ($result && $rows >= 1) {
-                       $request =& HTTPRequest::instance();
                        $this->content .= $HTML->listTableTop();
                        for ($j=0; $j<$rows; $j++) {
 
@@ -77,22 +76,8 @@ class Widget_MyTasks extends Widget {
                                $result2 = 
db_query_params($sql2,array(user_getid(),$group_id,$group_project_id), 100);
                                $rows2 = db_numrows($result2);
 
-                               $vItemId = new Valid_UInt('hide_item_id');
-                               $vItemId->required();
-                               if($request->valid($vItemId)) {
-                                       $hide_item_id = 
$request->get('hide_item_id');
-                               } else {
-                                       $hide_item_id = null;
-                               }
-
-                               $vPm = new Valid_WhiteList('hide_pm', array(0, 
1));
-                               $vPm->required();
-                               if($request->valid($vPm)) {
-                                       $hide_pm = $request->get('hide_pm');
-                               } else {
-                                       $hide_pm = null;
-                               }
-
+                               $hide_item_id = 
getIntFromRequest('hide_item_id', 0);
+                               $hide_pm = getIntFromRequest('hide_pm', 0);
                                list($hide_now,$count_diff,$hide_url) = 
my_hide_url('pm',$group_project_id,$hide_item_id,$rows2,$hide_pm);
 
                                $html_hdr = '<tr class="boxitem"><td 
colspan="3">'.
@@ -101,9 +86,7 @@ class Widget_MyTasks extends Widget {
                                $html = '';
                                $count_new = max(0, $count_diff);
                                for ($i=0; $i<$rows2; $i++) {
-
                                        if (!$hide_now) {
-
                                                $html .= '
                                                        <tr 
class="priority'.db_result($result2,$i,'priority').
                                                        '"><td class="small">'.
@@ -111,7 +94,6 @@ class Widget_MyTasks extends Widget {
                                                                        
'&group_id='.$group_id.'&group_project_id='.$group_project_id,
                                                                        
stripslashes(db_result($result2,$i,'summary'))).'</td>'.
                                                        '<td 
class="small">'.(db_result($result2,$i,'percent_complete')).'%</td></tr>';
-
                                        }
                                }
 
diff --git a/src/common/widget/Widget_ProjectDescription.class.php 
b/src/common/widget/Widget_ProjectDescription.class.php
index 5129767..3320fef 100644
--- a/src/common/widget/Widget_ProjectDescription.class.php
+++ b/src/common/widget/Widget_ProjectDescription.class.php
@@ -38,9 +38,7 @@ class Widget_ProjectDescription extends Widget {
        public function getContent() {
                global $HTML;
                $result = '';
-
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $pm = ProjectManager::instance();
                $project = $pm->getProject($group_id);
 
diff --git a/src/common/widget/Widget_ProjectDocumentsActivity.class.php 
b/src/common/widget/Widget_ProjectDocumentsActivity.class.php
index 172ccad..33d0a8b 100644
--- a/src/common/widget/Widget_ProjectDocumentsActivity.class.php
+++ b/src/common/widget/Widget_ProjectDocumentsActivity.class.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2012,2014, Franck Villaume - TrivialDev
+ * Copyright 2012,2014,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -36,9 +36,8 @@ class Widget_ProjectDocumentsActivity extends Widget {
                                $this->_statistic_show = $userPrefValue;
                        }
                }
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project) && 
forge_check_perm('docman', $project->getID(), 'read')) {
                        $this->content['title'] = _('Last 4 weeks Documents 
Manager Activity');
                }
@@ -52,33 +51,30 @@ class Widget_ProjectDocumentsActivity extends Widget {
        }
 
        function updatePreferences() {
-               $request->valid(new Valid_String('cancel'));
-               $vShow = new Valid_WhiteList('show', array('F', 'D', 'U', 'FU', 
'FD', 'FUD'));
-               $vShow->required();
-               if (!$request->exist('cancel')) {
-                       if ($request->valid($vShow)) {
-                               switch($request->get('show')) {
-                                       case 'F':
-                                               $this->_statistic_show = 'F';
-                                               break;
-                                       case 'D':
-                                               $this->_statistic_show = 'D';
-                                               break;
-                                       case 'U':
-                                               $this->_statistic_show = 'U';
-                                               break;
-                                       case 'FU':
-                                               $this->_statistic_show = 'FU';
-                                               break;
-                                       case 'FD':
-                                               $this->_statistic_show = 'FD';
-                                               break;
-                                       case 'FUD':
-                                       default:
-                                               $this->_statistic_show = 'FUD';
-                               }
-                               
UserManager::instance()->getCurrentUser()->setPreference('my_docman_project_activitity_show',
 $this->_statistic_show);
+               $cancel = getStringFromRequest('cancel');
+               if (strlent($cancel) > 0) {
+                       $show = getStringFromRequest('show');
+                       switch($request->get('show')) {
+                               case 'F':
+                                       $this->_statistic_show = 'F';
+                                       break;
+                               case 'D':
+                                       $this->_statistic_show = 'D';
+                                       break;
+                               case 'U':
+                                       $this->_statistic_show = 'U';
+                                       break;
+                               case 'FU':
+                                       $this->_statistic_show = 'FU';
+                                       break;
+                               case 'FD':
+                                       $this->_statistic_show = 'FD';
+                                       break;
+                               case 'FUD':
+                               default:
+                                       $this->_statistic_show = 'FUD';
                        }
+                       
UserManager::instance()->getCurrentUser()->setPreference('my_docman_project_activitity_show',
 $this->_statistic_show);
                }
                return true;
        }
@@ -103,8 +99,7 @@ class Widget_ProjectDocumentsActivity extends Widget {
                html_use_jqueryjqplotpluginBar();
                $result .= $HTML->getJavascripts();
                $result .= $HTML->getStylesheets();
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $group = group_get_object($group_id);
                $dm = new DocumentManager($group);
                $begin1 = strtotime('monday this week');
@@ -123,29 +118,24 @@ class Widget_ProjectDocumentsActivity extends Widget {
                switch ($this->_statistic_show) {
                        case 'F': {
                                $visibility = $activitysArray[0]['docmannew'] + 
$activitysArray[1]['docmannew'] + $activitysArray[2]['docmannew'] + 
$activitysArray[3]['docmannew'];
-
                                break;
                        }
                        case 'U': {
                                $visibility = 
$activitysArray[0]['docmanupdate'] + $activitysArray[1]['docmanupdate'] + 
$activitysArray[2]['docmanupdate'] + $activitysArray[3]['docmanupdate'];
-
                                break;
                        }
                        case 'D': {
                                $visibility = $activitysArray[0]['docgroupnew'] 
+ $activitysArray[1]['docgroupnew'] + $activitysArray[2]['docgroupnew'] + 
$activitysArray[3]['docgroupnew'];
-
                                break;
                        }
                        case 'FU': {
                                $visibility = $activitysArray[0]['docmannew'] + 
$activitysArray[1]['docmannew'] + $activitysArray[2]['docmannew'] + 
$activitysArray[3]['docmannew'] +
                                                
$activitysArray[0]['docmanupdate'] + $activitysArray[1]['docmanupdate'] + 
$activitysArray[2]['docmanupdate'] + $activitysArray[3]['docmanupdate'];
-
                                break;
                        }
                        case 'FD': {
                                $visibility = $activitysArray[0]['docmannew'] + 
$activitysArray[1]['docmannew'] + $activitysArray[2]['docmannew'] + 
$activitysArray[3]['docmannew'] +
                                                
$activitysArray[0]['docgroupnew'] + $activitysArray[1]['docgroupnew'] + 
$activitysArray[2]['docgroupnew'] + $activitysArray[3]['docgroupnew'];
-
                                break;
                        }
                        default: {
@@ -241,7 +231,6 @@ class Widget_ProjectDocumentsActivity extends Widget {
                        $result .= $HTML->warning_msg(_('No activity to 
display.'));
                }
                $result .= html_e('div', array('class' => 'underline-link'), 
util_make_link('/docman/?group_id='.$group_id, _('Browse Documents Manager')));
-
                return $result;
        }
 
diff --git a/src/common/widget/Widget_ProjectInfo.class.php 
b/src/common/widget/Widget_ProjectInfo.class.php
index d128bbf..27018c8 100644
--- a/src/common/widget/Widget_ProjectInfo.class.php
+++ b/src/common/widget/Widget_ProjectInfo.class.php
@@ -35,9 +35,7 @@ class Widget_ProjectInfo extends Widget {
        public function getContent() {
                global $HTML;
                $result = '';
-
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $pm = ProjectManager::instance();
                $project = $pm->getProject($group_id);
                // Tag list
diff --git a/src/common/widget/Widget_ProjectLatestArtifacts.class.php 
b/src/common/widget/Widget_ProjectLatestArtifacts.class.php
index ef9de90..a72d322 100644
--- a/src/common/widget/Widget_ProjectLatestArtifacts.class.php
+++ b/src/common/widget/Widget_ProjectLatestArtifacts.class.php
@@ -2,7 +2,7 @@
 /**
  * Widget_ProjectLatestArtifacts
  *
- * Copyright 2017, Franck Villaume - TrivialDev
+ * Copyright 2017,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -29,9 +29,8 @@ class Widget_ProjectLatestArtifacts extends Widget {
 
        public function __construct() {
                parent::__construct('projectlatestartifacts');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project)) {
                        $atf = new ArtifactTypeFactory($project);
                        $ats = $atf->getArtifactTypes();
@@ -53,10 +52,8 @@ class Widget_ProjectLatestArtifacts extends Widget {
        public function getContent() {
                global $HTML;
                $html = '';
-               //$uh = new UserHelper();
-               $request = HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                $atf = new ArtifactTypeFactory($project);
                $artifacts = array();
                $ats = $atf->getArtifactTypes();
diff --git a/src/common/widget/Widget_ProjectLatestCommits.class.php 
b/src/common/widget/Widget_ProjectLatestCommits.class.php
index da8e116..232159f 100644
--- a/src/common/widget/Widget_ProjectLatestCommits.class.php
+++ b/src/common/widget/Widget_ProjectLatestCommits.class.php
@@ -2,7 +2,7 @@
 /**
  * Widget_ProjectLatestCommits
  *
- * Copyright 2014,2017-2018, Franck Villaume - TrivialDev
+ * Copyright 2014,2017-2018,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -29,9 +29,8 @@ class Widget_ProjectLatestCommits extends Widget {
 
        public function __construct() {
                parent::__construct('projectlatestcommits');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project) && 
forge_check_perm('scm', $project->getID(), 'read')) {
                        $this->content['title'] = _('5 Latest Commits');
                }
@@ -55,10 +54,8 @@ class Widget_ProjectLatestCommits extends Widget {
        public function getContent() {
                global $HTML;
                $html = '';
-               //$uh = new UserHelper();
-               $request = HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                $revisions = array();
                if ($project->usesPlugin('scmsvn') && forge_check_perm('scm', 
$project->getID(), 'read')) {
                        $scmPlugin = plugin_get_object('scmsvn');
@@ -110,10 +107,9 @@ class Widget_ProjectLatestCommits extends Widget {
        }
 
        function getAjaxUrl($owner_id, $owner_type) {
-               $request =& HTTPRequest::instance();
                $ajax_url = parent::getAjaxUrl($owner_id, $owner_type);
-               if ($request->exist('hide_item_id') || 
$request->exist('hide_scm')) {
-                       $ajax_url .= 
'&hide_item_id='.$request->get('hide_item_id').'&hide_scm='.$request->get('hide_scm');
+               if (existInRequest('hide_item_id') || 
existInRequest('hide_scm')) {
+                       $ajax_url .= 
'&hide_item_id='.getIntFromRequest('hide_item_id').'&hide_scm='.getIntFromRequest('hide_scm');
                }
                return $ajax_url;
        }
diff --git a/src/common/widget/Widget_ProjectLatestDocuments.class.php 
b/src/common/widget/Widget_ProjectLatestDocuments.class.php
index 8b81e25..0b8aa22 100644
--- a/src/common/widget/Widget_ProjectLatestDocuments.class.php
+++ b/src/common/widget/Widget_ProjectLatestDocuments.class.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
  * Copyright 2010, Franck Villaume - Capgemini
- * Copyright 2012-2013,2016, Franck Villaume - TrivialDev
+ * Copyright 2012-2013,2016,2021, Franck Villaume - TrivialDev
  * Copyright 2013, French Ministry of National Education
  *
  * This file is a part of Fusionforge.
@@ -32,9 +32,8 @@ class Widget_ProjectLatestDocuments extends Widget {
        var $content;
        function __construct() {
                parent::__construct('projectlatestdocuments');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project) && 
forge_check_perm('docman', $project->getID(), 'read')) {
                        $this->content['title'] = _('5 Latest Published 
Documents');
                }
@@ -45,12 +44,9 @@ class Widget_ProjectLatestDocuments extends Widget {
        }
 
        function getContent() {
-               $result = '';
-
                global $HTML;
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
-
+               $group_id = getIntFromRequest('group_id');
+               $result = '';
                $qpa = db_construct_qpa();
                $qpa = db_construct_qpa($qpa, 'SELECT docid FROM doc_data, 
doc_groups WHERE doc_data.group_id = $1',
                                        array($group_id));
diff --git a/src/common/widget/Widget_ProjectLatestFileReleases.class.php 
b/src/common/widget/Widget_ProjectLatestFileReleases.class.php
index ecb45a8..b23dbb7 100644
--- a/src/common/widget/Widget_ProjectLatestFileReleases.class.php
+++ b/src/common/widget/Widget_ProjectLatestFileReleases.class.php
@@ -30,9 +30,8 @@ class Widget_ProjectLatestFileReleases extends Widget {
        var $content;
        function __construct() {
                parent::__construct('projectlatestfilereleases');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project) && 
forge_check_perm('frs_admin', $project->getID(), 'read')) {
                        $this->content['title'] = _('Latest File Releases');
                }
@@ -43,13 +42,11 @@ class Widget_ProjectLatestFileReleases extends Widget {
        }
 
        function getContent() {
+               global $HTML;
                $result = '';
-
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $project = $pm->getProject($group_id);
-               global $HTML;
 
                $frsrf = new FRSReleaseFactory($project);
                $frsrnrs = $frsrf->getFRSRNewReleases(true);
diff --git a/src/common/widget/Widget_ProjectLatestNews.class.php 
b/src/common/widget/Widget_ProjectLatestNews.class.php
index b6c756e..0e28d61 100644
--- a/src/common/widget/Widget_ProjectLatestNews.class.php
+++ b/src/common/widget/Widget_ProjectLatestNews.class.php
@@ -1,6 +1,7 @@
 <?php
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
+ * Copyright 2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -29,12 +30,11 @@ class Widget_ProjectLatestNews extends Widget {
        function __construct() {
                global $gfwww;
                parent::__construct('projectlatestnews');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project)) {
                        require_once 'www/news/news_utils.php';
-                       $this->content = 
news_show_latest($request->get('group_id'), 10, false);
+                       $this->content = news_show_latest($project->getID(), 
10, false);
                }
        }
 
@@ -55,8 +55,7 @@ class Widget_ProjectLatestNews extends Widget {
        }
 
        function displayRss() {
-               $request =& HTTPRequest::instance();
-               $owner = $request->get('owner');
+               $owner = getStringFromRequest('owner');
                $group_id = (int)substr($owner, 1);
                require_once 'www/export/rss_utils.inc';
 //XXX the following function does not exist
diff --git a/src/common/widget/Widget_ProjectMembers.class.php 
b/src/common/widget/Widget_ProjectMembers.class.php
index 35ca8f2..4f4f2c9 100644
--- a/src/common/widget/Widget_ProjectMembers.class.php
+++ b/src/common/widget/Widget_ProjectMembers.class.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
  * Copyright (C) 2012 Alain Peyrat - Alcatel-Lucent
- * Copyright 2016, Franck Villaume - TrivialDev
+ * Copyright 2016,2021, Franck Villaume - TrivialDev
  *
  * This file is a part of Fusionforge.
  *
@@ -37,8 +37,7 @@ class Widget_ProjectMembers extends Widget {
        public function getContent() {
                $result = '';
 
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $pm = ProjectManager::instance();
                $project = $pm->getProject($group_id);
 
diff --git a/src/common/widget/Widget_ProjectPublicAreas.class.php 
b/src/common/widget/Widget_ProjectPublicAreas.class.php
index c2134c0..538c48b 100644
--- a/src/common/widget/Widget_ProjectPublicAreas.class.php
+++ b/src/common/widget/Widget_ProjectPublicAreas.class.php
@@ -38,13 +38,11 @@ class Widget_ProjectPublicAreas extends Widget {
        }
 
        function getContent() {
+               global $HTML;
                $result = '';
-
-               $request =& HTTPRequest::instance();
-               $group_id = $request->get('group_id');
+               $group_id = getIntFromRequest('group_id');
                $pm = ProjectManager::instance();
                $project = $pm->getProject($group_id);
-               global $HTML;
                // ################# Homepage Link
 
                $result .= html_e('div', array('class' => 'public-area-box', 
'rel' => 'doap:homepage'),
diff --git a/src/common/widget/Widget_ProjectRss.class.php 
b/src/common/widget/Widget_ProjectRss.class.php
index 107ed5d..3b2d145 100644
--- a/src/common/widget/Widget_ProjectRss.class.php
+++ b/src/common/widget/Widget_ProjectRss.class.php
@@ -2,7 +2,7 @@
 /**
  * Copyright (c) Xerox, 2009. All Rights Reserved.
  * Originally written by Nicolas Terray, 2009. Xerox Codendi Team.
- * Copyright 2012, Franck Villaume - TrivialDev
+ * Copyright 2012,2021, Franck Villaume - TrivialDev
  * This file is a part of Fusionforge.
  *
  * Fusionforge is free software; you can redistribute it and/or modify
@@ -30,8 +30,7 @@ require_once 'Widget.class.php';
 */
 class Widget_ProjectRss extends Widget_Rss {
        function __construct() {
-               $request =& HTTPRequest::instance();
-               parent::__construct('projectrss', $request->get('group_id'), 
WidgetLayoutManager::OWNER_TYPE_GROUP);
+               parent::__construct('projectrss', 
getIntFromRequest('group_id'), WidgetLayoutManager::OWNER_TYPE_GROUP);
        }
        function canBeUsedByProject(&$project) {
                return true;
diff --git a/src/common/widget/Widget_ProjectScmStats.class.php 
b/src/common/widget/Widget_ProjectScmStats.class.php
index bfb4082..ee26611 100644
--- a/src/common/widget/Widget_ProjectScmStats.class.php
+++ b/src/common/widget/Widget_ProjectScmStats.class.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Copyright 2016, Franck Villaume - TrivialDev
+ * Copyright 2016,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of FusionForge.
@@ -31,9 +31,8 @@ class Widget_ProjectScmStats extends Widget {
 
        function __construct() {
                parent::__construct('projectscmstats');
-               $request =& HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                if ($project && $this->canBeUsedByProject($project) && 
forge_check_perm('scm', $project->getID(), 'read')) {
                        $this->content['title'] = _('Repository History');
                }
@@ -45,9 +44,8 @@ class Widget_ProjectScmStats extends Widget {
 
        function getContent() {
                $html_projectscmstats = '';
-               $request = HTTPRequest::instance();
                $pm = ProjectManager::instance();
-               $project = $pm->getProject($request->get('group_id'));
+               $project = $pm->getProject(getIntFromRequest('group_id'));
                $project_plugins = $project->getPlugins();
                foreach ($project_plugins as $value) {
                        $plugin_object = plugin_get_object($value);
diff --git a/src/common/widget/Widget_Rss.class.php 
b/src/common/widget/Widget_Rss.class.php
index a4a8ffe..72822c0 100644
--- a/src/common/widget/Widget_Rss.class.php
+++ b/src/common/widget/Widget_Rss.class.php
@@ -3,7 +3,7 @@
  * Generic RSS Widget Class
  *
  * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights 
reserved
- * Copyright 2012,2014,2019, Franck Villaume - TrivialDev
+ * Copyright 2012,2014,2019,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -32,14 +32,17 @@ require_once 'Widget.class.php';
 /* abstract */ class Widget_Rss extends Widget {
        var $rss_title;
        var $rss_url;
+       
        function __construct($id, $owner_id, $owner_type) {
                parent::__construct($id);
                $this->setOwner($owner_id, $owner_type);
        }
+
        function getTitle() {
                $hp = Codendi_HTMLPurifier::instance();
                return $this->rss_title ?  $hp->purify($this->rss_title, 
CODENDI_PURIFIER_CONVERT_HTML)  : _('RSS Reader');
        }
+
        function getContent() {
                global $HTML;
                $hp = Codendi_HTMLPurifier::instance();
@@ -89,12 +92,15 @@ require_once 'Widget.class.php';
                }
                return $content;
        }
+
        function isAjax() {
                return true;
        }
+
        function hasPreferences() {
                return true;
        }
+
        function getPreferences() {
                $hp = Codendi_HTMLPurifier::instance();
                $prefs = '<table>';
@@ -113,6 +119,7 @@ require_once 'Widget.class.php';
                $prefs .= '</table>';
                return $prefs;
        }
+
        function getInstallPreferences() {
                $prefs = '<table>';
                $prefs .= '<tr>';
@@ -132,6 +139,7 @@ require_once 'Widget.class.php';
                $prefs .= '</table>';
                return $prefs;
        }
+
        function cloneContent($id, $owner_id, $owner_type) {
                $sql = "INSERT INTO widget_rss (owner_id, owner_type, title, 
url)
                        SELECT $1, $2, title, url
@@ -140,6 +148,7 @@ require_once 'Widget.class.php';
                $res = 
db_query_params($sql,array($owner_id,$owner_type,$this->owner_id,$this->owner_type));
                return db_insertid($res,'widget_rss','id');
        }
+
        function loadContent($id) {
                $sql = "SELECT * FROM widget_rss WHERE owner_id = $1 AND 
owner_type = $2 AND id = $3";
                $res = 
db_query_params($sql,array($this->owner_id,$this->owner_type,$id));
@@ -150,69 +159,51 @@ require_once 'Widget.class.php';
                        $this->content_id = $id;
                }
        }
+
        function create() {
-               $content_id = false;
-               $vUrl = new Valid_String('url');
-               $vUrl->setErrorMessage(_("Cannot add empty RSS URL"));
-               $vUrl->required();
-               if($request->validInArray('rss', $vUrl)) {
-                       $rss = $request->get('rss');
-                       $vTitle = new Valid_String('title');
-                       $vTitle->required();
-                       if (!$request->validInArray('rss', $vTitle)) {
-                               if (!(include_once 'simplepie/simplepie.inc'))  
// vendor, debian
-                                       if (!(include_once 
'php-simplepie/autoloader.php'))  // fedora
-                                               exit_error(_('Could not load 
the SimplePie PHP library.'));
-                               if (!is_dir(forge_get_config('data_path') 
.'/rss')) {
-                                       mkdir(forge_get_config('data_path') 
.'/rss');
-                               }
-                               $rss_reader = new SimplePie($rss['url'], 
forge_get_config('data_path') .'/rss', null, forge_get_config('sys_proxy'));
-                               if ($rss_reader) {
-                                       $rss['title'] = 
$rss_reader->get_title();
-                               } else {
-                                       return false;
-                               }
-                       }
-                       $sql = 'INSERT INTO widget_rss (owner_id, owner_type, 
title, url) VALUES ($1,$2,$3,$4)';
-                       $res = 
db_query_params($sql,array($this->owner_id,$this->owner_type,$rss['title'],$rss['url']));
-                       $content_id = db_insertid($res, 'widget_rss', 'id');
+               $rss = getArrayFromRequest('rss');
+               if (!(include_once 'simplepie/simplepie.inc'))  // vendor, 
debian
+                       if (!(include_once 'php-simplepie/autoloader.php'))  // 
fedora
+                               exit_error(_('Could not load the SimplePie PHP 
library.'));
+               if (!is_dir(forge_get_config('data_path') .'/rss')) {
+                       mkdir(forge_get_config('data_path') .'/rss');
                }
+               $rss_reader = new SimplePie($rss['url'], 
forge_get_config('data_path') .'/rss', null, forge_get_config('sys_proxy'));
+               if ($rss_reader) {
+                       //TODO: why ??? We set the title in preference.
+                       $rss['title'] = $rss_reader->get_title();
+               } else {
+                       return false;
+               }
+               $sql = 'INSERT INTO widget_rss (owner_id, owner_type, title, 
url) VALUES ($1,$2,$3,$4)';
+               $res = 
db_query_params($sql,array($this->owner_id,$this->owner_type,$rss['title'],$rss['url']));
+               $content_id = db_insertid($res, 'widget_rss', 'id');
                return $content_id;
        }
+
        function updatePreferences() {
                $done = false;
-               $vContentId = new Valid_UInt('content_id');
-               $vContentId->required();
-               if (($rss = $request->get('rss')) && 
$request->valid($vContentId)) {
-                       $vUrl = new Valid_String('url');
-                       if($request->validInArray('rss', $vUrl)) {
-                               $url =  $rss['url'] ;
-                       } else {
-                               $url = '';
-                       }
-
-                       $vTitle = new Valid_String('title');
-                       if($request->validInArray('rss', $vTitle)) {
-                               $title =  $rss['title'] ;
-                       } else {
-                               $title = '';
-                       }
-
+               if ($rss = getArrayFromRequest('rss')) {
+                       $url =  $rss['url'] ;
+                       $title =  $rss['title'] ;
                        if ($url || $title) {
                                $sql = "UPDATE widget_rss SET title=$1 , url=$2 
 WHERE owner_id =$3 AND owner_type = $4 AND id = $5";
-                               
db_query_params($sql,array($title,$url,$this->owner_id,$this->owner_type,(int)$request->get('content_id')));
+                               db_query_params($sql, array($title, $url, 
$this->owner_id, $this->owner_type, (int)$request->get('content_id')));
                                $done = true;
                        }
                }
                return $done;
        }
+
        function destroy($id) {
                $sql = 'DELETE FROM widget_rss WHERE id = $1 AND owner_id = $2 
AND owner_type = $3';
                
db_query_params($sql,array($id,$this->owner_id,$this->owner_type));
        }
+
        function isUnique() {
                return false;
        }
+
        function _date_ago($from_time, $to_time) {
                $distance_in_minutes = round((abs($to_time - $from_time))/60);
 
diff --git a/src/common/widget/Widget_TrackerComment.class.php 
b/src/common/widget/Widget_TrackerComment.class.php
index b2ec058..d37ad20 100644
--- a/src/common/widget/Widget_TrackerComment.class.php
+++ b/src/common/widget/Widget_TrackerComment.class.php
@@ -2,7 +2,7 @@
 /**
  * Comment Tracker Content Widget Class
  *
- * Copyright 2016-2017, Franck Villaume - TrivialDev
+ * Copyright 2016-2017,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -28,8 +28,7 @@ class Widget_TrackerComment extends Widget {
        var $title;
 
        function __construct() {
-               $request =& HTTPRequest::instance();
-               $owner_id   = (int)substr($request->get('owner'), 1);
+               $owner_id   = (int)substr(getStringFromRequest('owner'), 1);
                parent::__construct('trackercomment', $owner_id, 
WidgetLayoutManager::OWNER_TYPE_TRACKER);
                $this->title = _('Follow-up tabs');
        }
diff --git a/src/common/widget/Widget_TrackerContent.class.php 
b/src/common/widget/Widget_TrackerContent.class.php
index eef5b79..9f76efe 100644
--- a/src/common/widget/Widget_TrackerContent.class.php
+++ b/src/common/widget/Widget_TrackerContent.class.php
@@ -339,8 +339,7 @@ EOS;
        }
 
        function getInstallPreferences() {
-               $request =& HTTPRequest::instance();
-               $owner_id = (int)substr($request->get('owner'), 1);
+               $owner_id = (int)substr(getStringFromRequest('owner'), 1);
                $content = $this->getPartialPreferencesFormTitle(_('Enter title 
of Tracker Content Box'));
                $content .= $this->buildRenderWidget();
                $content .= $this->getAvailableExtraFieldsForm($owner_id);
diff --git a/src/common/widget/Widget_TrackerDefaultActions.class.php 
b/src/common/widget/Widget_TrackerDefaultActions.class.php
index de88740..bc0052a 100644
--- a/src/common/widget/Widget_TrackerDefaultActions.class.php
+++ b/src/common/widget/Widget_TrackerDefaultActions.class.php
@@ -2,7 +2,7 @@
 /**
  * Default Action Tracker Content Widget Class
  *
- * Copyright 2016, Franck Villaume - TrivialDev
+ * Copyright 2016,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -29,10 +29,9 @@ class Widget_TrackerDefaultActions extends Widget {
 
        function __construct() {
                global $func;
-               $request =& HTTPRequest::instance();
-               $owner_id   = (int)substr($request->get('owner'), 1);
+               $owner_id   = (int)substr(getStringFromRequest('owner'), 1);
                if (!$owner_id) {
-                       $owner_id = $request->get('atid');
+                       $owner_id = getIntFromRequest('atid');
                }
                if ($func == 'detail' || forge_check_perm('tracker_admin', 
$owner_id)) {
                        parent::__construct('trackerdefaultactions', $owner_id, 
WidgetLayoutManager::OWNER_TYPE_TRACKER);
diff --git a/src/common/widget/Widget_TrackerGeneral.class.php 
b/src/common/widget/Widget_TrackerGeneral.class.php
index 38da69c..0c99ae2 100644
--- a/src/common/widget/Widget_TrackerGeneral.class.php
+++ b/src/common/widget/Widget_TrackerGeneral.class.php
@@ -2,7 +2,7 @@
 /**
  * General Tracker Content Widget Class
  *
- * Copyright 2016-2017, Franck Villaume - TrivialDev
+ * Copyright 2016-2017,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -28,10 +28,9 @@ class Widget_TrackerGeneral extends Widget {
        var $title;
 
        function __construct() {
-               $request =& HTTPRequest::instance();
-               $owner_id = (int)substr($request->get('owner'), 1);
+               $owner_id = (int)substr(getStringFromRequest('owner'), 1);
                if (!$owner_id) {
-                       $owner_id = (int)$request->get('atid');
+                       $owner_id = getIntFromRequest('atid');
                }
                parent::__construct('trackergeneral', $owner_id, 
WidgetLayoutManager::OWNER_TYPE_TRACKER);
                $this->title = _('General Information');
diff --git a/src/common/widget/Widget_TrackerMain.class.php 
b/src/common/widget/Widget_TrackerMain.class.php
index e7b88bc..349bc7e 100644
--- a/src/common/widget/Widget_TrackerMain.class.php
+++ b/src/common/widget/Widget_TrackerMain.class.php
@@ -29,8 +29,7 @@ class Widget_TrackerMain extends Widget {
        var $title;
 
        function __construct() {
-               $request =& HTTPRequest::instance();
-               $owner_id   = (int)substr($request->get('owner'), 1);
+               $owner_id   = (int)substr(getStringFromRequest('owner'), 1);
                parent::__construct('trackermain', $owner_id, 
WidgetLayoutManager::OWNER_TYPE_TRACKER);
                $this->title = _('Internal Fields');
        }
diff --git a/src/common/widget/Widget_TrackerSummary.class.php 
b/src/common/widget/Widget_TrackerSummary.class.php
index ccb38f6..bc65560 100644
--- a/src/common/widget/Widget_TrackerSummary.class.php
+++ b/src/common/widget/Widget_TrackerSummary.class.php
@@ -2,7 +2,7 @@
 /**
  * Summary Tracker Content Widget Class
  *
- * Copyright 2016, Franck Villaume - TrivialDev
+ * Copyright 2016,2021, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -29,8 +29,7 @@ class Widget_TrackerSummary extends Widget {
        var $title;
 
        function __construct() {
-               $request =& HTTPRequest::instance();
-               $owner_id   = (int)substr($request->get('owner'), 1);
+               $owner_id   = (int)substr(getStringFromRequest('owner'), 1);
                parent::__construct('trackersummary', $owner_id, 
WidgetLayoutManager::OWNER_TYPE_TRACKER);
                $this->title = _('Description');
        }

-----------------------------------------------------------------------

Summary of changes:
 src/common/include/escapingUtils.php               | 18 +++--
 src/common/widget/Widget_HomeHallOfFame.class.php  | 55 +++++++--------
 src/common/widget/Widget_MyAdmin.class.php         | 24 +++----
 src/common/widget/Widget_MyArtifacts.class.php     | 38 +++--------
 src/common/widget/Widget_MyBookmarks.class.php     |  8 +--
 src/common/widget/Widget_MyLatestCommits.class.php | 38 +++--------
 .../widget/Widget_MyMonitoredDocuments.class.php   | 19 +-----
 .../widget/Widget_MyMonitoredForums.class.php      | 24 ++-----
 src/common/widget/Widget_MyMonitoredFp.class.php   | 24 ++-----
 .../Widget_MyProjectsLastDocuments.class.php       | 24 ++-----
 src/common/widget/Widget_MySurveys.class.php       | 50 +++++---------
 src/common/widget/Widget_MyTasks.class.php         | 26 ++-----
 .../widget/Widget_ProjectDescription.class.php     |  4 +-
 .../Widget_ProjectDocumentsActivity.class.php      | 63 +++++++----------
 src/common/widget/Widget_ProjectInfo.class.php     |  4 +-
 .../widget/Widget_ProjectLatestArtifacts.class.php |  9 +--
 .../widget/Widget_ProjectLatestCommits.class.php   | 14 ++--
 .../widget/Widget_ProjectLatestDocuments.class.php | 12 ++--
 .../Widget_ProjectLatestFileReleases.class.php     |  9 +--
 .../widget/Widget_ProjectLatestNews.class.php      |  9 ++-
 src/common/widget/Widget_ProjectMembers.class.php  |  5 +-
 .../widget/Widget_ProjectPublicAreas.class.php     |  6 +-
 src/common/widget/Widget_ProjectRss.class.php      |  5 +-
 src/common/widget/Widget_ProjectScmStats.class.php |  8 +--
 src/common/widget/Widget_Rss.class.php             | 79 ++++++++++------------
 src/common/widget/Widget_TrackerComment.class.php  |  5 +-
 src/common/widget/Widget_TrackerContent.class.php  |  3 +-
 .../widget/Widget_TrackerDefaultActions.class.php  |  7 +-
 src/common/widget/Widget_TrackerGeneral.class.php  |  7 +-
 src/common/widget/Widget_TrackerMain.class.php     |  3 +-
 src/common/widget/Widget_TrackerSummary.class.php  |  5 +-
 31 files changed, 215 insertions(+), 390 deletions(-)


hooks/post-receive
-- 
FusionForge

_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits

Reply via email to