diff --git a/src/sbbs3/chk_ar.cpp b/src/sbbs3/chk_ar.cpp index 1f124796fea10734c6b86912f26b682bb64166e0..1519cbd82da324682dd723b37a99c9fcf47695e5 100644 --- a/src/sbbs3/chk_ar.cpp +++ b/src/sbbs3/chk_ar.cpp @@ -581,6 +581,39 @@ void sbbs_t::getusrdirs() while(curdir[curlib]>=usrdirs[curlib] && curdir[curlib]) curdir[curlib]--; } +uint sbbs_t::getusrgrp(uint subnum) +{ + uint ugrp; + + if(subnum==INVALID_SUB) + return(0); + + if(usrgrps<=0) + return(0); + + for(ugrp=0;ugrp<usrgrps;ugrp++) + if(usrgrp[ugrp]==cfg.sub[subnum]->grp) + break; + + return(ugrp+1); +} + +uint sbbs_t::getusrsub(uint subnum) +{ + uint usub; + uint ugrp; + + ugrp = getusrgrp(subnum); + if(ugrp<=0) + return(0); + + for(usub=0;usub<usrsubs[ugrp];usub++) + if(usrsub[ugrp][usub]==subnum) + break; + + return(usub+1); +} + int sbbs_t::dir_op(uint dirnum) { return(SYSOP || (cfg.dir[dirnum]->op_ar[0] && chk_ar(cfg.dir[dirnum]->op_ar,&useron))); diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 57d9d42ab345016ef278bb97d0d0644ed21269cb..f07215c0f0ef17dd135a31dbb4c7308cb60e1de2 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -383,6 +383,9 @@ public: void putmsgptrs(void); void getusrsubs(void); void getusrdirs(void); + uint getusrsub(uint subnum); + uint getusrgrp(uint subnum); + uint userdatdupe(uint usernumber, uint offset, uint datlen, char *dat ,bool del); void gettimeleft(void);