I re-hacked and everything worked fine with a couple of slight modifications. LD, the typo you mentioned isn't a typo, I left it there when I re-hacked and all is working peachy..
Brett, here's a couple of bug fixes for you:
In ubb_lib_secgroups.cgi:
return 1 if $self->{PRIMARY_GROUP} =~ m/^(administrators|megamoderators)$/);
SHOULD BE: return 1 if $self->{PRIMARY_GROUP} =~ m/^(administrators|megamoderators)$/;
In cp_common.pl:
document.writeln("<option value=$vars_config{CGIURL}/cp.cgi?ubb=vars_megamod&r=$ran> - MegaModerator Settings</option>");'
SHOULD BE:
document.writeln("<option value=$vars_config{CGIURL}/cp.cgi?ubb=vars_megamod&r=$ran> - MegaModerator Settings</option>");
In ubb_lib.cgi
You are asked to find this
unless (($profile[8] eq 'Administrator')) {
WHICH SHOULD BE:
unless ($profile[8] eq 'Administrator') {