From 5c8aca75faca0e6e7a165d3909e54b9f04b536a0 Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Thu, 27 Nov 2014 02:43:22 +0100
Subject: [PATCH] V2.0.0: Update to CB2.0.2

---
 Makefile                                      |   4 +--
 cb.usergroupsfield.php                        |  23 +++++++++++-------
 cb.usergroupsfield.xml                        |  10 ++++----
 ...g_opentools_cb2_usergroupsfield_v2.0.0.zip | Bin 0 -> 4891 bytes
 4 files changed, 21 insertions(+), 16 deletions(-)
 create mode 100644 releases/plug_opentools_cb2_usergroupsfield_v2.0.0.zip

diff --git a/Makefile b/Makefile
index e55d1e8..3b969d8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 BASE=usergroupsfield
 PLUGINTYPE=plug
-ZIPBASE=opentools_cb
-VERSION=1.0
+ZIPBASE=opentools_cb2
+VERSION=2.0.0
 
 PLUGINFILES=cb.$(BASE).php cb.$(BASE).xml
 
diff --git a/cb.usergroupsfield.php b/cb.usergroupsfield.php
index f7921cc..a7cf1b3 100644
--- a/cb.usergroupsfield.php
+++ b/cb.usergroupsfield.php
@@ -1,6 +1,6 @@
 <?php
 /**
-* Joomla Community Builder User groups Field Type Plugin: plug_cbusergroupsfield
+* Joomla Community Builder 2.x User groups Field Type Plugin: plug_cbusergroupsfield
 * Lets the administrator change the user's joomla groups in the CB profile in the FE.
 * Based on the CBfield_userparams class of the cb.core.php plugin, copyright (C) Beat, JoomlaJoe, www.joomlapolis.com and various
 * @version $Id$
@@ -12,9 +12,12 @@
 * @final 1.2
 */
 
+
 /** ensure this file is being included by a parent file */
 if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
 
+use CBLib\Application\Application;
+
 global $_PLUGINS;
 $_PLUGINS->loadPluginGroup( 'user', array( (int) 1 ) );
 $_PLUGINS->registerUserFieldTypes( array( 'usergroupsfield' => 'CBfield_usergroups' ) );
@@ -151,11 +154,12 @@ class CBfield_usergroups extends cbFieldHandler {
 				if ($reason=='search')
 					return null;
 
-				$i_am_super_admin				=	$_CB_framework->acl->amIaSuperAdmin();
-				$canModifyUser					=	CBuser::getMyInstance()->authoriseAction( 'core.edit', 'com_users' )
-													|| CBuser::getMyInstance()->authoriseAction( 'core.edit.state', 'com_users' );
+				$i_am_super_admin				=	Application::MyUser()->isSuperAdmin();
+				// Use only the selected groups, do NOT require the group to have edit rights in the Backend!
+				$canModifyUser					=	true/*CBuser::getMyInstance()->authoriseAction( 'core.edit', 'com_users' )
+													|| CBuser::getMyInstance()->authoriseAction( 'core.edit.state', 'com_users' )*/;
 
-				$my_groups						= $_CB_framework->acl->getGroupIds($_CB_framework->myId());
+				$my_groups						= Application::MyUser()->getAuthorisedGroups(false);
 				$i_am_authorized				= count(array_intersect($my_groups, $authorized_groups))>0;
 
 				if ( $i_am_super_admin || ($canModifyUser && $i_am_authorized)) {
@@ -203,11 +207,12 @@ class CBfield_usergroups extends cbFieldHandler {
 
 		global $_CB_framework;
 
-		$i_am_super_admin		=	$_CB_framework->acl->amIaSuperAdmin();
-		$canModifyUser			=	CBuser::getMyInstance()->authoriseAction( 'core.edit', 'com_users' )
-									|| CBuser::getMyInstance()->authoriseAction( 'core.edit.state', 'com_users' );
+		$i_am_super_admin		=	Application::MyUser()->isSuperAdmin();
+		// Use only the selected groups, do NOT require the group to have edit rights in the Backend!
+		$canModifyUser					=	true/*CBuser::getMyInstance()->authoriseAction( 'core.edit', 'com_users' )
+											|| CBuser::getMyInstance()->authoriseAction( 'core.edit.state', 'com_users' )*/;
 
-		$my_groups				=	$_CB_framework->acl->getGroupIds($_CB_framework->myId());
+		$my_groups				=	Application::MyUser()->getAuthorisedGroups(false);
 		$authorized_groups		=	$this->_explodeCBvalues($field->params->get('moderator_usergroups', ''));
 		$i_am_authorized		=	count(array_intersect($my_groups, $authorized_groups))>0;
 
diff --git a/cb.usergroupsfield.xml b/cb.usergroupsfield.xml
index 61b6fd8..a12c448 100644
--- a/cb.usergroupsfield.xml
+++ b/cb.usergroupsfield.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<cbinstall version="1.0.0" type="plugin" group="user">
+<cbinstall version="1.0" type="plugin" group="user">
 	<name>CB Usergroups Field</name>
-	<author>Reiunhold Kainhofer</author>
+	<author>Reinhold Kainhofer</author>
 	<creationDate>2014-01-09</creationDate>
 	<copyright>(C) 2014 Open Tools, Reinhold Kainhofer</copyright>
 	<license>http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2 or later</license>
 	<authorEmail>office@open-tools.net</authorEmail>
 	<authorUrl>www.open-tools.net</authorUrl>
-	<version>1.2</version>
+	<version>2.0.0</version>
 	<description>
 		A Community Builder field plugin that displays the Joomla groups in the profile and lets administrator modify the groups in the profile.
 	</description>
@@ -31,7 +31,7 @@
 				<param name="restrict_display_selected" type="list" default="1" label="Groups display" description="Select whether the profile entry will display all group memberships or only those of the selected groups above. In any case, only the selected groups can be modified by the moderator.">
 					<option value="0">Show all groups in profile</option>
 					<option value="1">Restrict profile display to selected groups</option>
-					</param>
+				</param>
 			</params>
 		</field>
 	</fieldtypes>
@@ -45,4 +45,4 @@
 	</uninstall>
 	<database>
 	</database>
-</cbinstall>
\ No newline at end of file
+</cbinstall>
diff --git a/releases/plug_opentools_cb2_usergroupsfield_v2.0.0.zip b/releases/plug_opentools_cb2_usergroupsfield_v2.0.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..0765eb2151e99b7dca1f09f76fd70e2e16159a61
GIT binary patch
literal 4891
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

literal 0
HcmV?d00001

-- 
GitLab