2016-04-04 4 views

答えて

1

このコードをチェックすると、あなたに役立ちます。

$AllGroups = $user->get('groups'); 
// getting all the groups 

foreach($AllGroups as $groupId) { 
    $user = JFactory::getUser(); // getting user data 
    $db  = JFactory::getDBO(); 
    $userid = $user->get('id'); // logged in user id 
    $groups = JAccess::getGroupsByUser($userid); 
    $groupid_list  = '(' . implode(',', $groups) . ')'; 
    $query = $db->getQuery(true); 
    $query->select('id, title'); 
    $query->from('#__usergroups'); 
    $query->where('id IN ' .$groupid_list); 
    $db->setQuery($query); 
    $rows = $db->loadRowList(); 
    $grouplist = ''; 
    foreach($rows as $group) 
    { 
     if ($groupId == $group[0]) { // checking the logged in user group 
      $grouplist = $group[1]; 
     } 
    } 
var_dump($grouplist); // it will give you the usergroup name 
} 
+0

感謝。あなたのコードを少し編集して作業しました。 – user3646958

0
 $user = JUser::getInstance($result->id); 

     $AllGroups = $user->get('groups'); 

     $groupNames = array(); 
     $userid = $user->get('id'); // logged in user id 
     $groups = JAccess::getGroupsByUser($userid); 
     $groupid_list = '(' . implode(',', $groups) . ')'; 

     foreach ($AllGroups as $groupId) { 
      $query = $db->getQuery(true); 
      $query->select('id, title'); 
      $query->from('#__usergroups'); 
      $query->where('id IN ' . $groupid_list); 
      $db->setQuery($query); 
      $rows = $db->loadRowList(); 
      $grouplist = ''; 
      foreach ($rows as $group) { 
       if ($groupId == $group[0]) { // checking the logged in user group 
        $grouplist = $group[1]; 
       } 
      } 
      array_push($groupNames, $grouplist); 
     } 

     $query = $db->getQuery(true) 
      ->select('*') 
      ->from('#__myTable'); 

     if (in_array("Friends", $groupNames)) { 
      // User is in group "Friends" 

     } 
+0

リファクタリングする必要があります。 – user3646958

関連する問題