/**
* Per Forum based Extension Group Permissions (Encode Number) -> Theoretically up to 158 Forums saveable. :)
* We are using a base of 64, but splitting it to one-char and two-char numbers. :)
*/
function auth_pack($auth_array)
{
    $one_char_encoding = '#';
    $two_char_encoding = '.';
    $one_char = $two_char = false;
    $auth_cache = '';
    for ($i = 0; $i < sizeof($auth_array); $i++) {
        $val = base64_pack(intval($auth_array[$i]));
        if (strlen($val) == 1 && !$one_char) {
            $auth_cache .= $one_char_encoding;
            $one_char = true;
        } elseif (strlen($val) == 2 && !$two_char) {
            $auth_cache .= $two_char_encoding;
            $two_char = true;
        }
        $auth_cache .= $val;
    }
    return $auth_cache;
}
function auth_pack($auth_array)
{
    $one_char_encoding = '#';
    $two_char_encoding = '.';
    $one_char = FALSE;
    $two_char = FALSE;
    $auth_cache = '';
    for ($i = 0; $i < count($auth_array); $i++) {
        $val = base64_pack(intval($auth_array[$i]));
        if (strlen($val) == 1 && $one_char == FALSE) {
            $auth_cache .= $one_char_encoding;
            $one_char = TRUE;
        } else {
            if (strlen($val) == 2 && $two_char == FALSE) {
                $auth_cache .= $two_char_encoding;
                $two_char = TRUE;
            }
        }
        $auth_cache .= $val;
    }
    return $auth_cache;
}