User More Membergroups 1.0 BETA First, I have to say one thing: Do NOT confuse this with the Add More Membergroups mod, because the two mods does two different things! Use: Install Mod, upload modified files. Have fun :) Limitations: If you want to promote someone to Admin/GMod, you HAVE to use the first slot, because that's the only one checked for this privilege!!! The other slots will be shownand in your profile... So, Have Fun! Thanks to: BHRA, for giving me the hint about chomp =) Krikkert None ATM Sources/Profile.pl fopen(FILE, "$memberdir/$INFO{'username'}.dat"); @memsettings=; fclose(FILE); fopen(FILE, "$memberdir/$INFO{'username'}.kri"); @krimodsettings=; fclose(FILE); $txt{'87'}: $txt{'87'}: $txt{'87'}: $txt{'87'}: $txt{'87'}: $txt{'87'}: else { $tt = $memsettings[7]; } $t1 = $krimodsettings[0]; $t2 = $krimodsettings[1]; $t3 = $krimodsettings[2]; $t4 = $krimodsettings[3]; $t5 = $krimodsettings[4]; fopen( FILE, ">$memberdir/$member{'username'}.dat", 1); fopen( FILE, ">$memberdir/$member{'username'}.kri", 1); print FILE "$FORM{'title1'}\n"; print FILE "$FORM{'title2'}\n"; print FILE "$FORM{'title3'}\n"; print FILE "$FORM{'title4'}\n"; print FILE "$FORM{'title5'}\n"; fclose(FILE); unlink("$memberdir/$member{'username'}.dat"); unlink("$memberdir/$member{'username'}.kri"); unlink("$memberdir/$member{'username'}.dat"); unlink("$memberdir/$member{'username'}.kri"); if($memsettings[7] eq "Administrator") { $memberinfo = "$membergroups[0]"; } fopen(FILE, "$memberdir/$INFO{'username'}.kri"); @infokrimodset = ; fclose(FILE); $txt{'87'}: $memberinfo $txt{'87a'}: $infokrimodset[0] $txt{'87b'}: $infokrimodset[1] $txt{'87c'}: $infokrimodset[2] $txt{'87d'}: $infokrimodset[3] $txt{'87e'}: $infokrimodset[4] english.lng $txt{'87'} = "Position"; $txt{'87a'} = "Secondary Position"; $txt{'87b'} = "Third Position"; $txt{'87c'} = "Fourth Position"; $txt{'87d'} = "Fifth Position"; $txt{'87e'} = "Sixth Position"; Sources/Load.pl if($userprofile{$user}->[7] ne 'Administrator') { $memberinfo{$user} = "$modinfo{$user}$groupinfo{$user}$memberinfo{$user}"; } fopen(USERFILE, "$memberdir/$user.kri"); @krimodsettings = ; fclose(FILE); chomp @krimodsettings; foreach $setting (@krimodsettings) { if($setting ne '') { if( $krititleinfo{$user} eq '') { $krititleinfo{$user} = $setting; } else { $krititleinfo{$user} = "$krititleinfo{$user}\n$setting"; } } Sources/BoardIndex.pl @membergroups = split( /,/, $cataccess{$curcat} ); $openmemgr{$curcat} = 0; foreach $tmpa (@membergroups) { if($tmpa eq $settings[7]) { $openmemgr{$curcat} = 1; last; } } @membergroups = split( /,/, $cataccess{$curcat} ); $openmemgr{$curcat} = 0; fopen(accset, "$memberdir/$username.kri"); @youraccess = ; fclose(accset); foreach $value (@youraccess) { chomp $value; } foreach $tmpa (@membergroups) { if($tmpa eq $settings[7] || $tmpa eq $youraccess[0] || $tmpa eq $youraccess[1] || $tmpa eq $youraccess[2] || $tmpa eq $youraccess[3] || $tmpa eq $youraccess[4]) { $openmemgr{$curcat} = 1; last; } } Sources/Subs.pl sub BoardAccessGet { my $curboard = $_[0]; &BoardCatGet($curboard); if( !$yyAccessCat{$yyCatBoard{$curboard}} && fopen(CATFILE, "$boardsdir/$yyCatBoard{$curboard}.cat") ) { my $curcatname = ; my $curcataccess = ; fclose(CATFILE); chomp $curcatname; chomp $curcataccess; $yyAccessCat{$yyCatBoard{$curboard}} = $settings[7] eq 'Administrator' || $settings[7] eq 'Global Moderator' || $moderators{$username} || ! $curcataccess; unless( $yyAccessCat{$curcat} ) { foreach ( split(/\,/, $curcataccess) ) { if( $_ && $_ eq $settings[7]) { $yyAccessCat{$yyCatBoard{$curboard}} = 1; last; } } } } return $yyAccessCat{$yyCatBoard{$curboard}}; } unless( $yyAccessCat{$curcat} ) { foreach ( split(/\,/, $curcataccess) ) { fopen(FILE, "$memberdir/$username.kri"); @acc = ; fclose(FILE); chomp @acc; if( $_ && $_ eq $settings[7] || $_ eq $acc[0] || $_ eq $acc[1] || $_ eq $acc[2] || $_ eq $acc[3] || $_ eq $acc[4]) { $yyAccessCat{$yyCatBoard{$curboard}} = 1; last; } } } } return $yyAccessCat{$yyCatBoard{$curboard}}; } Sources/Display.pl $memberinfo = $memberinfo{$musername}; $krititleinfo = $krititleinfo{$musername}; $userprofile[12] $krititleinfo Sources/Recent.pl if($curcataccess) { if($settings[7] ne 'Administrator' && !exists $membergroups{$settings[7]}) { next; } } fopen(FILE, "$memberdir/$username.kri"); @acc = ; fclose(FILE); chomp @acc; if($curcataccess) { if($settings[7] ne 'Administrator' && !exists $membergroups{$settings[7]} && !exists $membergroups{$acc[0]} && !exists $membergroups{$acc[1]} && !exists $membergroups{$acc[2]} && !exists $membergroups{$acc[3]} && !exists $membergroups{$acc[4]}) { next; } } Sources/Search.pl foreach $curcat (@categories) { chomp $curcat; fopen(FILE, "$boardsdir/$curcat.cat"); $catname{$curcat} = ; chomp $catname{$curcat}; $cataccess{$curcat} = ; chomp $cataccess{$curcat}; @{$catboards{$curcat}} = ; fclose(FILE); $openmemgr{$curcat} = 0; @membergroups = split( /,/, $cataccess{$curcat} ); foreach $tmpa (@membergroups) { if( $tmpa eq $settings[7]) { $openmemgr{$curcat} = 1; last; } } if( ! $cataccess{$curcat} || $settings[7] eq 'Administrator' ) { $openmemgr{$curcat} = 1; } foreach $curcat (@categories) { chomp $curcat; fopen(FILE, "$boardsdir/$curcat.cat"); $catname{$curcat} = ; chomp $catname{$curcat}; $cataccess{$curcat} = ; chomp $cataccess{$curcat}; @{$catboards{$curcat}} = ; fclose(FILE); $openmemgr{$curcat} = 0; @membergroups = split( /,/, $cataccess{$curcat} ); foreach $tmpa (@membergroups) { if($tmpa eq $settings[7] || $tmpa eq $youraccess[0] || $tmpa eq $youraccess[1] || $tmpa eq $youraccess[2] || $tmpa eq $youraccess[3] || $tmpa eq $youraccess[4]) { $openmemgr{$curcat} = 1; last; } } } if( ! $cataccess{$curcat} || $settings[7] eq 'Administrator' ) { $openmemgr{$curcat} = 1; }