/**
 * Provide a unique, sanitized version of a group slug.
 *
 * @param string $slug Group slug to check.
 *
 * @return string $slug A unique and sanitized slug.
 */
function groups_check_slug($slug)
{
    $bp = buddypress();
    if ('wp' == substr($slug, 0, 2)) {
        $slug = substr($slug, 2, strlen($slug) - 2);
    }
    if (in_array($slug, (array) $bp->groups->forbidden_names)) {
        $slug = $slug . '-' . rand();
    }
    if (BP_Groups_Group::check_slug($slug)) {
        do {
            $slug = $slug . '-' . rand();
        } while (BP_Groups_Group::check_slug($slug));
    }
    return $slug;
}
 function check_slug($id, $slug)
 {
     global $bp;
     /* Allow save if no change */
     if ($slug == $bp->groups->current_group->slug) {
         return true;
     }
     /* Group slugs cannot start with wp */
     if ('wp' == substr($slug, 0, 2)) {
         $slug = substr($slug, 2, strlen($slug) - 2);
     }
     /* Don't allow forbidden names */
     if (in_array($slug, (array) $bp->groups->forbidden_names)) {
         return false;
     }
     /* Run it through the BP core slug checker */
     if (BP_Groups_Group::check_slug($slug)) {
         if ($slug != BP_Groups_Group::get_slug($id)) {
             return false;
         }
     }
     /* Slug is good, return true */
     return true;
 }