fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [16729] Stable: Merge 16719:16728 from trunk


From: sigurdne
Subject: [Fmsystem-commits] [16729] Stable: Merge 16719:16728 from trunk
Date: Thu, 11 May 2017 08:34:56 -0400 (EDT)

Revision: 16729
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16729
Author:   sigurdne
Date:     2017-05-11 08:34:56 -0400 (Thu, 11 May 2017)
Log Message:
-----------
Stable: Merge 16719:16728 from trunk

Modified Paths:
--------------
    branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php

Property Changed:
----------------
    branches/Version-2_0-branch/

Index: branches/Version-2_0-branch
===================================================================
--- branches/Version-2_0-branch 2017-05-11 12:33:43 UTC (rev 16728)
+++ branches/Version-2_0-branch 2017-05-11 12:34:56 UTC (rev 16729)

Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
 /branches/dev-syncromind:13653
 /branches/dev-syncromind-2:14933-16587
 /branches/stavangerkommune:12743-12875,12986
-/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322,16324,16326-16330,16332,16334,16336,16338-16339,16341-16342,16344,16346,16348,16350,16352-16353,16355-16358,16360,16362,16364-16369,16371,16373,16375-16378,16380,16382-16383,16385,16387,16389,16391,16393-16395,16397,16399-16402,16404,16406,16408,16410-16415,16417,16419-16420,16422-16425,16427,16429-16440,16442,16444,16446,16448-16449,16451,16453,16455-16463,16465-16472,16474-16475,16477-16484,16486,16488,16490-16497,16499,16501-16503,16505-16512,16514-16517,16519,16521,16523,16525,16527-16532,16534,16536-16541,16543,16545-16554,16556,16558-16565,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16600-16601,16603-16608,16610-16614,16616-16618,16620-16621,16623-16624,16626,16628,16630,16632-16638,16640,16642,16644,16646-16651,16653-16663,16665,16667,16669,16671,16673,16675,16677,16679-16680,16682,16684,16686,16688-16692,16694-16695,16697-16699,16701,16703,16705-16706,16708,16710,16712,16714,16716-16718
\ No newline at end of property
+/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322,16324,16326-16330,16332,16334,16336,16338-16339,16341-16342,16344,16346,16348,16350,16352-16353,16355-16358,16360,16362,16364-16369,16371,16373,16375-16378,16380,16382-16383,16385,16387,16389,16391,16393-16395,16397,16399-16402,16404,16406,16408,16410-16415,16417,16419-16420,16422-16425,16427,16429-16440,16442,16444,16446,16448-16449,16451,16453,16455-16463,16465-16472,16474-16475,16477-16484,16486,16488,16490-16497,16499,16501-16503,16505-16512,16514-16517,16519,16521,16523,16525,16527-16532,16534,16536-16541,16543,16545-16554,16556,16558-16565,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16600-16601,16603-16608,16610-16614,16616-16618,16620-16621,16623-16624,16626,16628,16630,16632-16638,16640,16642,16644,16646-16651,16653-16663,16665,16667,16669,16671,16673,16675,16677,16679-16680,16682,16684,16686,16688-16692,16694-16695,16697-16699,16701,16703,16705-16706,16708,16710,16712,16714,16716-16718,16720-16728
\ No newline at end of property
Modified: branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php
===================================================================
--- branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php      
2017-05-11 12:33:43 UTC (rev 16728)
+++ branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php      
2017-05-11 12:34:56 UTC (rev 16729)
@@ -164,6 +164,15 @@
 
                                $valid_users = array_unique($valid_users);
 
+                               $my_membership = $accounts->membership();
+
+                               foreach ($my_membership as $group_id => $info)
+                               {
+                                       $members = $accounts->member($group_id);
+                                       $valid_users = 
array_merge($valid_users, array_keys($members));
+                               }
+                               $valid_users = array_unique($valid_users);
+
                                $account_list = 
$GLOBALS['phpgw']->accounts->get_list('accounts', -1,$dir, $order,  $query);
                                foreach($account_list as  $user)
                                {
@@ -291,6 +300,10 @@
                                $valid_users = array();
                                foreach($available_apps as $_app => $dummy)
                                {
+                                       if($_app == 'admin')
+                                       {
+                                               continue;
+                                       }
                                        
if($GLOBALS['phpgw']->acl->check('admin', phpgwapi_acl::ADD, $_app))
                                        {
                                                $valid_users    = 
array_merge($valid_users, $GLOBALS['phpgw']->acl->get_ids_for_location('run', 
phpgwapi_acl::READ, $_app));
@@ -299,10 +312,12 @@
 
                                $valid_users = array_unique($valid_users);
 
+                               $admin_groups   = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ, 
'admin');
+
                                $allusers = 
$GLOBALS['phpgw']->accounts->get_list('groups', -1,$this->sort, $this->order, 
$this->query);
                                foreach($allusers as  $user)
                                {
-                                       if(!in_array($user->id, $valid_users))
+                                       if(!in_array($user->id, $valid_users) 
|| in_array($user->id, $admin_groups))
                                        {
                                                unset($allusers[$user->id]);
                                        }
@@ -982,6 +997,15 @@
                                return array('error' => 'error');
                        }
 
+                       /**
+                        * Go away
+                        */
+                       $test_admins = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ, 
'admin');
+                       if(in_array($group_id, $test_admins) && 
!$GLOBALS['phpgw']->acl->check('run', phpgwapi_acl::READ, 'admin'))
+                       {
+                                       return array('error' => 'error');
+                       }
+
                        $acl = createObject('phpgwapi.acl', $group_id);
                        $is_admin_group = $acl->check('run', 
phpgwapi_acl::READ, 'admin');
                        $current_user = 
$GLOBALS['phpgw_info']['user']['account_id'];
@@ -998,6 +1022,7 @@
                                        
$GLOBALS['phpgw']->accounts->delete_account4group($user_id, $group_id);
                                        //Delete cached menu for members of 
group
                                        phpgwapi_cache::user_clear('phpgwapi', 
'menu', $user_id);
+                                       
$GLOBALS['phpgw']->acl->clear_user_cache($user_id);
                                }
                                return array('message' => 'OK');
                        }
@@ -1032,6 +1057,7 @@
                                        
$GLOBALS['phpgw']->accounts->delete_account4group($entry['account_id'], 
$group_id);
                                        //Delete cached menu for members of 
group
                                        phpgwapi_cache::user_clear('phpgwapi', 
'menu', $entry['account_id']);
+                                       
$GLOBALS['phpgw']->acl->clear_user_cache($entry['account_id']);
                                }
                                return array('message' => 'OK');
                        }
@@ -1049,6 +1075,15 @@
                                return array('error' => 'error');
                        }
 
+                       /**
+                        * Do not get to elevate to admin rights
+                        */
+                       $test_admins = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ, 
'admin');
+                       if(in_array($group_id, $test_admins) && 
!$GLOBALS['phpgw']->acl->check('run', phpgwapi_acl::READ, 'admin'))
+                       {
+                                       return array('error' => 'error');
+                       }
+
                        if($group_id && isset($_POST['account_user']))
                        {
                                foreach ($account_user as $user_id)
@@ -1056,6 +1091,7 @@
                                        
$GLOBALS['phpgw']->accounts->add_user2group($user_id, $group_id);
                                        //Delete cached menu for members of 
group
                                        phpgwapi_cache::user_clear('phpgwapi', 
'menu', $user_id);
+                                       
$GLOBALS['phpgw']->acl->clear_user_cache($user_id);
                                }
                                return array('message' => 'OK');
                        }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]