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  3af9c97c6eb2c994aab4974cf9c3ad6182cdabbb (commit)
       via  44f54d9cb0b86333a2e6dc7f39e66490f5839ab6 (commit)
       via  ed9f27b01d59bc3f12688dc6d3dcdeea2dd379d8 (commit)
       via  644b05f2583f9fcf5da05a1cd85d544d11884f81 (commit)
       via  235c88cbbd910db0bd3c8c160a7368e10f94ef53 (commit)
      from  101a5c2e7493240cbed2dca3085f6b9105fc0f6f (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=3af9c97c6eb2c994aab4974cf9c3ad6182cdabbb

commit 3af9c97c6eb2c994aab4974cf9c3ad6182cdabbb
Author: Franck Villaume <[email protected]>
Date:   Sun May 28 16:53:06 2017 +0200

    less code & space

diff --git a/src/common/tracker/EffortUnitSet.class.php 
b/src/common/tracker/EffortUnitSet.class.php
index 50c268f..9bc5d72 100644
--- a/src/common/tracker/EffortUnitSet.class.php
+++ b/src/common/tracker/EffortUnitSet.class.php
@@ -59,7 +59,7 @@ class EffortUnitSet extends FFError {
         *
         * @param       Object  $Object Null, group, tracker object to which 
this EffortUnitSet is associated
         */
-       function __construct(&$Object=null, $unit_set_id=false, $arr=false) {
+       function __construct(&$Object = null, $unit_set_id = false, $arr = 
false) {
                parent::__construct();
                $this->Object = $Object;
                if (!$Object) {
@@ -419,7 +419,7 @@ class EffortUnitSet extends FFError {
  *
  * @return     array   list of EffortUnitSets.
  */
-function getAvailableEffortUnitSets(&$Object=null) {
+function getAvailableEffortUnitSets(&$Object = null) {
        if (!$Object) {
                $class ='';
        } else {
@@ -486,9 +486,9 @@ function getAvailableEffortUnitSets(&$Object=null) {
  *
  * @return     integer EffortUnitSet ID.
  */
-function getEffortUnitSetForLevel(&$Object,$level) {
+function getEffortUnitSetForLevel(&$Object, $level) {
        if (!$Object) {
-               $class ='';
+               $class = '';
        } else {
                $class = get_class($Object);
        }
@@ -519,59 +519,44 @@ function getEffortUnitSetForLevel(&$Object,$level) {
                        }
                        $group_id = $Object->getID();
                        $group_name = $Object->getPublicName();
-                       if ($level<EFFORTUNITSET_PROJECT_LEVEL) {
+                       if ($level < EFFORTUNITSET_PROJECT_LEVEL) {
                                return false;
                        }
                        break;
                case '':
-                       if ($level<EFFORTUNITSET_FORGE_LEVEL) {
+                       if ($level < EFFORTUNITSET_FORGE_LEVEL) {
                                return false;
                        }
                        break;
        }
        switch($level) {
                case EFFORTUNITSET_TRACKER_LEVEL:
-                       $res = db_query_params ('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id=$1 AND group_artifact_id=$2 AND level=$3',
+                       $res = db_query_params('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id = $1 AND group_artifact_id = $2 AND level = $3',
                        array($group_id, $atid, EFFORTUNITSET_TRACKER_LEVEL));
                        if (!$res) {
                                $this->setError(sprintf(_('Error getting 
Tracker ā€œ%sā€ level Effort Unit Set'),$at_name), db_error());
                                return false;
                        }
-                       if (db_numrows($res)>0) {
-                               $row = db_fetch_array($res);
-                               return $row['unit_set_id'];
-                       } else {
-                               return false;
-                       }
                        break;
                case EFFORTUNITSET_PROJECT_LEVEL:
-                       $res = db_query_params ('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id=$1 AND group_artifact_id IS NULL AND level=$2',
+                       $res = db_query_params('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id = $1 AND group_artifact_id IS NULL AND level = 
$2',
                        array($group_id, EFFORTUNITSET_PROJECT_LEVEL));
                        if (!$res) {
                                $this->setError(sprintf(_('Error getting 
Project ā€œ%sā€ level Effort Unit Set'),$group_name), db_error());
                                return false;
                        }
-                       if (db_numrows($res)>0) {
-                               $row = db_fetch_array($res);
-                               return $row['unit_set_id'];
-                       } else {
-                               return false;
-                       }
                        break;
                case EFFORTUNITSET_FORGE_LEVEL:
-                       $res = db_query_params ('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id IS NULL AND group_artifact_id IS NULL AND 
level=$1',
+                       $res = db_query_params('SELECT unit_set_id FROM 
effort_unit_set WHERE group_id IS NULL AND group_artifact_id IS NULL AND level 
= $1',
                        array(EFFORTUNITSET_FORGE_LEVEL));
                        if (!$res) {
                                $this->setError(_('Error getting Forge level 
Effort Unit Set'), db_error());
                                return false;
                        }
-                       if (db_numrows($res)>0) {
-                               $row = db_fetch_array($res);
-                               return $row['unit_set_id'];
-                       } else {
-                               return false;
-                       }
                        break;
        }
+       if (db_numrows($res) > 0) {
+               return db_result($res, 0, 'unit_set_id');
+       }
        return false;
 }

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=44f54d9cb0b86333a2e6dc7f39e66490f5839ab6

commit 44f54d9cb0b86333a2e6dc7f39e66490f5839ab6
Author: Franck Villaume <[email protected]>
Date:   Sun May 28 16:52:17 2017 +0200

    space & quotes

diff --git a/src/common/include/database-pgsql.php 
b/src/common/include/database-pgsql.php
index ee906f3..24e1f16 100644
--- a/src/common/include/database-pgsql.php
+++ b/src/common/include/database-pgsql.php
@@ -457,7 +457,7 @@ function db_begin($dbserver = NULL) {
        // programmatical transaction
        $_sys_db_transaction_level++;
        if ($_sys_db_transaction_level == 1) {
-               return db_query_params("BEGIN WORK", array(), -1, 0, $dbserver);
+               return db_query_params('BEGIN WORK', array(), -1, 0, $dbserver);
        }
 
        return true;
@@ -484,7 +484,7 @@ function db_commit($dbserver = NULL) {
        // programmatical transaction ends
        $_sys_db_transaction_level--;
        if ($_sys_db_transaction_level == 0) {
-               return db_query_params("COMMIT", array(), -1, 0, $dbserver);
+               return db_query_params('COMMIT', array(), -1, 0, $dbserver);
        }
 
        return true;
@@ -511,7 +511,7 @@ function db_rollback($dbserver = NULL) {
        // programmatical transaction ends
        $_sys_db_transaction_level--;
        if ($_sys_db_transaction_level == 0) {
-               return db_query_params("ROLLBACK", array(), -1, 0, $dbserver);
+               return db_query_params('ROLLBACK', array(), -1, 0, $dbserver);
        }
 
        return true;
@@ -557,8 +557,8 @@ function db_result($qhandle, $row, $field) {
  * @param      int     $row            Row number.
  * @return     boolean True on success
  */
-function db_result_seek($qhandle,$row) {
-       return @pg_result_seek($qhandle,$row);
+function db_result_seek($qhandle, $row) {
+       return @pg_result_seek($qhandle, $row);
 }
 
 /**

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=ed9f27b01d59bc3f12688dc6d3dcdeea2dd379d8

commit ed9f27b01d59bc3f12688dc6d3dcdeea2dd379d8
Author: Franck Villaume <[email protected]>
Date:   Sun May 28 16:35:36 2017 +0200

    forge cli: groupImport, support partial roles, enable setup features

diff --git a/src/bin/forge b/src/bin/forge
index 327a14f..a07a335 100755
--- a/src/bin/forge
+++ b/src/bin/forge
@@ -509,9 +509,11 @@ class CliActions {
                                        foreach ($stream['setup']['membersArr'] 
as $member) {
                                                $muid = 
(int)$this->getMappingId($member['data_array']['user_id'], 'user');
                                                if (!$new_group->addUser($muid, 
$default_role_id)) {
-                                                       echo _('Unable to add 
user to group with TOBEDELETED role')."\n";
+                                                       echo sprintf(_('Unable 
to add user to group with %s role'), 'TOBEDELETED')."\n";
                                                        db_rollback();
                                                        return false;
+                                               } else {
+                                                       echo sprintf(_('User %d 
added to group with role'), $muid)._(': ').'TOBEDELETED'."\n";
                                                }
                                        }
                                }
@@ -519,34 +521,76 @@ class CliActions {
                                if (forge_get_config('use_tracker')) {
                                        if 
(isset($stream['setup']['data_array']['use_tracker'])) {
                                                
$new_group->setUseTracker($stream['setup']['data_array']['use_tracker']);
-                                       }
-                                       if (isset($stream['trackers']) && 
is_array($stream['trackers'])) {
-                                               foreach ($stream['trackers'] as 
$tracker) {
-                                                       $filename = 
'trackerDump-'.$tracker['setup']['group_artifact_id'].'.'.$format;
-                                                       
$this->createSubfile($filename, $tracker, $format);
-                                                       if 
(!$this->trackerImport($filename, $format)) {
-                                                               echo _('Unable 
to inject tracker')."\n";
-                                                               db_rollback();
-                                                               return false;
+                                               if ($new_group->usesTracker() 
&& isset($stream['trackers']) && is_array($stream['trackers'])) {
+                                                       foreach 
($stream['trackers'] as $tracker) {
+                                                               $filename = 
'trackerDump-'.$tracker['setup']['group_artifact_id'].'.'.$format;
+                                                               
$this->createSubfile($filename, $tracker, $format);
+                                                               if 
(!$this->trackerImport($filename, $format)) {
+                                                                       echo 
_('Unable to inject tracker')."\n";
+                                                                       
db_rollback();
+                                                                       return 
false;
+                                                               }
+                                                               
@unlink($filename);
                                                        }
-                                                       @unlink($filename);
                                                }
+                                       } else {
+                                               
$new_group->setUseTracker(false);
                                        }
                                }
                                //inject docman if any
                                if (forge_get_config('use_docman')) {
                                        if 
(isset($stream['setup']['data_array']['use_docman'])) {
                                                
$new_group->setUseDocman($stream['setup']['data_array']['use_docman']);
+                                               if ($new_group->usesDocman() && 
isset($stream['docman'])) {
+                                                       $filename = 
'docmanDump-'.$stream['setup']['data_array']['group_id'].'.'.$format;
+                                                       
$this->createSubfile($filename, $stream['docman'], $format);
+                                                       if 
(!$this->docmanImport($filename, $format)) {
+                                                               echo _('Unable 
to inject docman')."\n";
+                                                               db_rollback();
+                                                               return false;
+                                                       }
+                                                       @unlink($filename);
+                                               }
+                                       } else {
+                                               $new_group->setUseDocman(false);
                                        }
-                                       if (isset($stream['docman'])) {
-                                               $filename = 
'docmanDump-'.$stream['setup']['data_array']['group_id'].'.'.$format;
-                                               $this->createSubfile($filename, 
$stream['docman'], $format);
-                                               if 
(!$this->docmanImport($filename, $format)) {
-                                                       echo _('Unable to 
inject docman')."\n";
-                                                       db_rollback();
-                                                       return false;
+                               }
+                               // enable SCM if requested
+                               if (forge_get_config('use_scm')) {
+                                       if 
(isset($stream['setup']['data_array']['use_scm'])) {
+                                               
$new_group->setUseSCM($stream['setup']['data_array']['use_scm']);
+                                       } else {
+                                               $new_group->setUseSCM(false);
+                                       }
+                               }
+                               // enable activity if requested
+                               if (forge_get_config('use_activity')) {
+                                       if 
(isset($stream['setup']['data_array']['use_activity'])) {
+                                               
$new_group->setUseActivity($stream['setup']['data_array']['use_activity']);
+                                       } else {
+                                               
$new_group->setUseActivity(false);
+                                       }
+                               }
+                               //inject FRS if any
+                               if (forge_get_config('use_frs')) {
+                                       if 
(isset($stream['setup']['data_array']['use_frs'])) {
+                                               
$new_group->setUseFRS($stream['setup']['data_array']['use_frs']);
+                                               if ($new_group->usesFRS() && 
isset($stream['frs'])) {
+                                                       //TODO: do the 
injection :-)
                                                }
-                                               @unlink($filename);
+                                       } else {
+                                               $new_group->setUseFRS(false);
+                                       }
+                               }
+                               //inject forum if any
+                               if (forge_get_config('use_forum')) {
+                                       if 
(isset($stream['setup']['data_array']['use_frs'])) {
+                                               
$new_group->setUseForum($stream['setup']['data_array']['use_frs']);
+                                               if ($new_group->usesForum() && 
isset($stream['frs']) && is_array($stream['forums'])) {
+                                                       //TODO: do the 
injection :-)
+                                               }
+                                       } else {
+                                               $new_group->setUseForum(false);
                                        }
                                }
                                // recompute if any association with activated 
& injected features.
@@ -600,6 +644,46 @@ class CliActions {
                                        foreach($stream['setup']['roles'] as 
$role_def) {
                                                $role = new Role($new_group);
                                                $perms = array();
+                                               if 
(isset($role_def['perms_array'])) {
+                                                       foreach 
($role_def['perms_array'] as $key => $value) {
+                                                               switch ($key) {
+                                                                       case 
'project_admin':
+                                                                       case 
'project_read':
+                                                                       case 
'scm':
+                                                                       case 
'docman':
+                                                                       case 
'frs_admin':
+                                                                       case 
'new_frs':
+                                                                       case 
'tracker_admin':
+                                                                       case 
'new_tracker':
+                                                                       case 
'forum_admin':
+                                                                       case 
'new_forum':
+                                                                       case 
'pm_admin':
+                                                                       case 
'new_pm':
+                                                                               
$perms[$key][$this->getMappingId($stream['setup']['data_array']['group_id'], 
'group')] = current($value);
+                                                                               
break;
+//                                                                     case 
'frs':
+//                                                                             
foreach ($value as $frsp_key => $frsp_val) {
+//                                                                             
        $perms[$key][$this->getMappingId($frsp_key, 'package')] = $frsp_val;
+//                                                                             
}
+//                                                                             
break;
+//                                                                     case 
'forum':
+//                                                                             
foreach ($value as $fr_key => $fr_val) {
+//                                                                             
        $perms[$key][$this->getMappingId($fr_key, 'forum')] = $fr_val;
+//                                                                             
}
+//                                                                             
break;
+                                                                       case 
'tracker':
+                                                                               
foreach ($value as $at_key => $at_val) {
+                                                                               
        $perms[$key][$this->getMappingId($at_key, 'tracker')] = $at_val;
+                                                                               
}
+                                                                               
break;
+//                                                                     case 
'pm':
+//                                                                             
foreach ($value as $pm_key => $pm_val) {
+//                                                                             
        $perms[$key][$this->getMappingId($pm_key, 'subproject')] = $pm_val;
+//                                                                             
}
+//                                                                             
break;
+                                                               }
+                                                       }
+                                               }
                                                if 
(isset($role_def['data_array']['role_class']) && 
$role_def['data_array']['role_class'] == 1) {
                                                        if 
(!$role->create($role_def['data_array']['role_name'], $perms, true)) {
                                                                echo 
$role->getErrorMessage()."\n";

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=644b05f2583f9fcf5da05a1cd85d544d11884f81

commit 644b05f2583f9fcf5da05a1cd85d544d11884f81
Author: Franck Villaume <[email protected]>
Date:   Sat May 27 17:26:43 2017 +0200

    space

diff --git a/src/common/include/Role.class.php 
b/src/common/include/Role.class.php
index 433618d..e19f8b2 100644
--- a/src/common/include/Role.class.php
+++ b/src/common/include/Role.class.php
@@ -150,7 +150,7 @@ class Role extends RoleExplicit implements PFO_RoleExplicit 
{
         *      @param  bool    $new_project
         *      @return bool|int                The id on success or false on 
failure.
         */
-       function create($role_name, $data, $new_project=false) {
+       function create($role_name, $data, $new_project = false) {
                if ($this->Group == NULL) {
                        if (!forge_check_global_perm('forge_admin')) {
                                $this->setPermissionDeniedError();
@@ -177,7 +177,7 @@ class Role extends RoleExplicit implements PFO_RoleExplicit 
{
                                               array 
(htmlspecialchars($role_name)));
                        if (db_numrows($res)) {
                                $this->setError(_('Cannot create a role with 
this name (already used)'));
-                               db_rollback () ;
+                               db_rollback();
                                return false;
                        }
                } else {
@@ -185,36 +185,36 @@ class Role extends RoleExplicit implements 
PFO_RoleExplicit {
                                               array ($this->Group->getID(), 
htmlspecialchars($role_name)));
                        if (db_numrows($res)) {
                                $this->setError(_('Cannot create a role with 
this name (already used)'));
-                               db_rollback () ;
+                               db_rollback();
                                return false;
                        }
                }
 
                if ($this->Group == NULL) {
                        $res = db_query_params ('INSERT INTO pfo_role 
(role_name) VALUES ($1)',
-                                               array 
(htmlspecialchars($role_name))) ;
+                                               array 
(htmlspecialchars($role_name)));
                } else {
                        $res = db_query_params ('INSERT INTO pfo_role 
(home_group_id, role_name) VALUES ($1, $2)',
                                                array ($this->Group->getID(),
-                                                      
htmlspecialchars($role_name))) ;
+                                                      
htmlspecialchars($role_name)));
                }
                if (!$res) {
                        $this->setError('create::'.db_error());
                        db_rollback();
                        return false;
                }
-               $role_id=db_insertid($res,'pfo_role','role_id');
+               $role_id = db_insertid($res,'pfo_role','role_id');
                if (!$role_id) {
                        $this->setError('create::db_insertid::'.db_error());
                        db_rollback();
                        return false;
                }
-               $this->data_array['role_id'] = $role_id ;
-               $this->data_array['role_name'] = $role_name ;
+               $this->data_array['role_id'] = $role_id;
+               $this->data_array['role_name'] = $role_name;
 
-               $this->update ($role_name, $data) ;
+               $this->update($role_name, $data);
 
-               $this->normalizeData () ;
+               $this->normalizeData();
 
                if (!$this->fetchData($role_id)) {
                        db_rollback();
@@ -281,13 +281,13 @@ class Role extends RoleExplicit implements 
PFO_RoleExplicit {
                                        $this->setError('Error: 
FRS'.db_error());
                                        return false;
                                }
-                               for ($j=0; $j<db_numrows($res); $j++) {
-                                       $data['frs'][db_result($res, $j, 
'package_id')]= $v;
+                               for ($j = 0; $j < db_numrows($res); $j++) {
+                                       $data['frs'][db_result($res, $j, 
'package_id')] = $v;
                                }
                        }
                }
 
-               return $this->create($name,$data,false);
+               return $this->create($name, $data, false);
        }
 
        /**

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=235c88cbbd910db0bd3c8c160a7368e10f94ef53

commit 235c88cbbd910db0bd3c8c160a7368e10f94ef53
Author: Franck Villaume <[email protected]>
Date:   Sat May 27 17:13:37 2017 +0200

    fix PHP warning

diff --git a/src/common/include/Group.class.php 
b/src/common/include/Group.class.php
index 983cc62..7a3c3ff 100644
--- a/src/common/include/Group.class.php
+++ b/src/common/include/Group.class.php
@@ -2186,14 +2186,17 @@ class Group extends FFError {
                //
                $add_u = user_get_object($user_id);
                $found = false;
-               foreach ($this->membersArr as $u) {
-                       if ($u->getID() == $add_u->getID()) {
-                               $found = true;
-                               break;
+               if (is_array($this->membersArr)) {
+                       foreach ($this->membersArr as $u) {
+                               if ($u->getID() == $add_u->getID()) {
+                                       $found = true;
+                                       break;
+                               }
+                       }
+                       if (!$found) {
+                               $this->membersArr[] = $add_u;
                        }
                }
-               if (!$found)
-                       $this->membersArr[] = $add_u;
 
                return true;
        }

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

Summary of changes:
 src/bin/forge                              | 122 ++++++++++++++++++++++++-----
 src/common/include/Group.class.php         |  15 ++--
 src/common/include/Role.class.php          |  26 +++---
 src/common/include/database-pgsql.php      |  10 +--
 src/common/tracker/EffortUnitSet.class.php |  39 +++------
 5 files changed, 142 insertions(+), 70 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