/**
  * Removes a user from a group
  *
  * @version 1.0
  * @since   1.0.0
  * @author  Dan Aldridge
  *
  * @param   int $uid     User's ID
  * @param   int $gid     Group ID
  *
  * @return  bool
  */
 function leaveGroup($uid, $gid)
 {
     if (!is_number($uid)) {
         trigger_error('$uid is not valid');
         return false;
     }
     if (!is_number($gid)) {
         trigger_error('$gid is not valid');
         return false;
     }
     $objSQL = Core_Classes_coreObj::getDBO();
     // remove the user from the group
     $delete = $objSQL->queryBuilder()->deleteFrom('#__group_subs')->where(sprintf('uid = "%s" AND gid = "%s"', $uid, $gid))->build();
     if ($delete) {
         $objUser = Core_Classes_coreObj::getUsers();
         $log = 'User Groups: Removed ' . $objUser->profile($uid, RAW) . ' from ' . $gid;
     }
     if (!$delete) {
         trigger_error('Failed to remove user from group: ' . $objSQL->getError());
         return false;
     }
     $this->objPlugins->hook('CMSGroups_leave', func_get_args());
     return true;
 }