diff --git a/mystic/mpl_common.pas b/mystic/mpl_common.pas index 1fef622..d470b33 100644 --- a/mystic/mpl_common.pas +++ b/mystic/mpl_common.pas @@ -327,6 +327,10 @@ Begin AddVar ({$IFDEF MPLPARSER} 'usercalls', {$ENDIF} iLongInt); AddStr ({$IFDEF MPLPARSER} 'userpassword', {$ENDIF} iString, 15); AddVar ({$IFDEF MPLPARSER} 'userflags', {$ENDIF} iLongInt); + AddVar ({$IFDEF MPLPARSER} 'userfbase', {$ENDIF} iLongInt); + AddVar ({$IFDEF MPLPARSER} 'userfgroup', {$ENDIF} iLongInt); + AddVar ({$IFDEF MPLPARSER} 'usermbase', {$ENDIF} iLongInt); + AddVar ({$IFDEF MPLPARSER} 'usermgroup', {$ENDIF} iLongInt); End; 2 : Begin AddPointer ({$IFDEF MPLPARSER} 'cfgsyspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.SystemPath {$ELSE} NIL {$ENDIF}); diff --git a/mystic/mpl_execute.pas b/mystic/mpl_execute.pas index e7e57c4..68d26f6 100644 --- a/mystic/mpl_execute.pas +++ b/mystic/mpl_execute.pas @@ -155,34 +155,42 @@ End; Procedure TInterpEngine.GetUserVars (Var U: RecUser); Begin - Move (U.PermIdx, VarData[IdxVarUser ]^.Data^, SizeOf(U.PermIdx)); - Move (U.RealName, VarData[IdxVarUser + 1 ]^.Data^, SizeOf(U.RealName)); - Move (U.Handle, VarData[IdxVarUser + 2 ]^.Data^, SizeOf(U.Handle)); - Move (U.Address, VarData[IdxVarUser + 3 ]^.Data^, SizeOf(U.Address)); - Move (U.Security, VarData[IdxVarUser + 4 ]^.Data^, SizeOf(U.Security)); - Move (U.Gender, VarData[IdxVarUser + 5 ]^.Data^, SizeOf(U.Gender)); - Move (U.FirstOn, VarData[IdxVarUser + 6 ]^.Data^, SizeOf(U.FirstOn)); - Move (U.LastOn, VarData[IdxVarUser + 7 ]^.Data^, SizeOf(U.LastOn)); - Move (U.DateType, VarData[IdxVarUser + 8 ]^.Data^, SizeOf(U.DateType)); - Move (U.Calls, VarData[IdxVarUser + 9 ]^.Data^, SizeOf(U.Calls)); - Move (U.Password, VarData[IdxVarUser + 10]^.Data^, SizeOf(U.Password)); - Move (U.Flags, VarData[IdxVarUser + 11]^.Data^, SizeOf(U.Flags)); + Move (U.PermIdx, VarData[IdxVarUser ]^.Data^, SizeOf(U.PermIdx)); + Move (U.RealName, VarData[IdxVarUser + 1 ]^.Data^, SizeOf(U.RealName)); + Move (U.Handle, VarData[IdxVarUser + 2 ]^.Data^, SizeOf(U.Handle)); + Move (U.Address, VarData[IdxVarUser + 3 ]^.Data^, SizeOf(U.Address)); + Move (U.Security, VarData[IdxVarUser + 4 ]^.Data^, SizeOf(U.Security)); + Move (U.Gender, VarData[IdxVarUser + 5 ]^.Data^, SizeOf(U.Gender)); + Move (U.FirstOn, VarData[IdxVarUser + 6 ]^.Data^, SizeOf(U.FirstOn)); + Move (U.LastOn, VarData[IdxVarUser + 7 ]^.Data^, SizeOf(U.LastOn)); + Move (U.DateType, VarData[IdxVarUser + 8 ]^.Data^, SizeOf(U.DateType)); + Move (U.Calls, VarData[IdxVarUser + 9 ]^.Data^, SizeOf(U.Calls)); + Move (U.Password, VarData[IdxVarUser + 10]^.Data^, SizeOf(U.Password)); + Move (U.Flags, VarData[IdxVarUser + 11]^.Data^, SizeOf(U.Flags)); + Move (U.LastFBase, VarData[IdxVarUser + 12]^.Data^, SizeOf(U.LastFBase)); + Move (U.LastFGroup, VarData[IdxVarUser + 13]^.Data^, SizeOf(U.LastFGroup)); + Move (U.LastMBase, VarData[IdxVarUser + 14]^.Data^, SizeOf(U.LastMBase)); + Move (U.LastMGroup, VarData[IdxVarUser + 15]^.Data^, SizeOf(U.LastMGroup)); End; Procedure TInterpEngine.PutUserVars (Var U: RecUser); Begin - Move (VarData[IdxVarUser ]^.Data^, U.PermIdx, SizeOf(U.PermIdx)); - Move (VarData[IdxVarUser + 1 ]^.Data^, U.RealName, SizeOf(U.RealName)); - Move (VarData[IdxVarUser + 2 ]^.Data^, U.Handle, SizeOf(U.Handle)); - Move (VarData[IdxVarUser + 3 ]^.Data^, U.Address, SizeOf(U.Address)); - Move (VarData[IdxVarUser + 4 ]^.Data^, U.Security, SizeOf(U.Security)); - Move (VarData[IdxVarUser + 5 ]^.Data^, U.Gender, SizeOf(U.Gender)); - Move (VarData[IdxVarUser + 6 ]^.Data^, U.FirstOn, SizeOf(U.FirstOn)); - Move (VarData[IdxVarUser + 7 ]^.Data^, U.LastOn, SizeOf(U.LastOn)); - Move (VarData[IdxVarUser + 8 ]^.Data^, U.DateType, SizeOf(U.DateType)); - Move (VarData[IdxVarUser + 9 ]^.Data^, U.Calls, SizeOf(U.Calls)); - Move (VarData[IdxVarUser + 10]^.Data^, U.Password, SizeOf(U.Password)); - Move (VarData[IdxVarUser + 11]^.Data^, U.Flags, SizeOf(U.Flags)); + Move (VarData[IdxVarUser ]^.Data^, U.PermIdx, SizeOf(U.PermIdx)); + Move (VarData[IdxVarUser + 1 ]^.Data^, U.RealName, SizeOf(U.RealName)); + Move (VarData[IdxVarUser + 2 ]^.Data^, U.Handle, SizeOf(U.Handle)); + Move (VarData[IdxVarUser + 3 ]^.Data^, U.Address, SizeOf(U.Address)); + Move (VarData[IdxVarUser + 4 ]^.Data^, U.Security, SizeOf(U.Security)); + Move (VarData[IdxVarUser + 5 ]^.Data^, U.Gender, SizeOf(U.Gender)); + Move (VarData[IdxVarUser + 6 ]^.Data^, U.FirstOn, SizeOf(U.FirstOn)); + Move (VarData[IdxVarUser + 7 ]^.Data^, U.LastOn, SizeOf(U.LastOn)); + Move (VarData[IdxVarUser + 8 ]^.Data^, U.DateType, SizeOf(U.DateType)); + Move (VarData[IdxVarUser + 9 ]^.Data^, U.Calls, SizeOf(U.Calls)); + Move (VarData[IdxVarUser + 10]^.Data^, U.Password, SizeOf(U.Password)); + Move (VarData[IdxVarUser + 11]^.Data^, U.Flags, SizeOf(U.Flags)); + Move (VarData[IdxVarUser + 12]^.Data^, U.LastFBase, SizeOf(U.LastFBase)); + Move (VarData[IdxVarUser + 13]^.Data^, U.LastFGroup, SizeOf(U.LastFGroup)); + Move (VarData[IdxVarUser + 14]^.Data^, U.LastMBase, SizeOf(U.LastMBase)); + Move (VarData[IdxVarUser + 15]^.Data^, U.LastMGroup, SizeOf(U.LastMGroup)); End; Function TInterpEngine.GetUserRecord (Num: LongInt) : Boolean;