/**
  * Association of members
  *
  * @param   int  $memberid  The Member item id
  *
  * @since 1.7.5
  *
  * @return mixed
  */
 public static function association($memberid)
 {
     // Get the associations
     $associations = ChurchDirectoryHelper::getAssociations($memberid);
     foreach ($associations as $tag => $associated) {
         $associations[$tag] = (int) $associated->id;
     }
     // Get the associated contact items
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $query->select('c.*');
     $query->from('#__contact_details as c');
     $query->select('cat.title as category_title');
     $query->leftJoin('#__categories as cat ON cat.id=c.catid');
     $query->where('c.id IN (' . implode(',', array_values($associations)) . ')');
     $query->leftJoin('#__languages as l ON c.language=l.lang_code');
     $query->select('l.image');
     $query->select('l.title as language_title');
     $db->setQuery($query);
     $items = $db->loadObjectList('id');
     // Check for a database error.
     if ($error = $db->getErrorMsg()) {
         JError::raiseWarning(500, $error);
         return false;
     }
     // Construct html
     $text = [];
     foreach ($associations as $tag => $associated) {
         if ($associated != $memberid) {
             $text[] = JText::sprintf('COM_CHURCHDIRECTORY_TIP_ASSOCIATED_LANGUAGE', JHtml::_('image', 'mod_languages/' . $items[$associated]->image . '.gif', $items[$associated]->language_title, ['title' => $items[$associated]->language_title], true), $items[$associated]->name, $items[$associated]->category_title);
         }
     }
     return JHtml::_('tooltip', implode('<br />', $text), JText::_('COM_CHURCHDIRECTORY_TIP_ASSOCIATION'), 'admin/icon-16-links.png');
 }