整合DIscuz1
接下来发布一些我整合时参照的部分代码:
/**//// <summary>
/// 注册dnt用户
/// </summary>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="email"></param>
/// <param name="nickname"></param>
/// <returns></returns>
public static bool Register(string username, string password, string email, string nickname)
{
GeneralConfigInfo config = GeneralConfigs.GetConfig();
OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);
UserGroupInfo usergroupinfo = UserGroups.GetUserGroupInfo(oluserinfo.Groupid);
UserInfo userinfo = new UserInfo();
userinfo.Username = username;
userinfo.Nickname = nickname;
userinfo.Password = Utils.MD5(password);
userinfo.Email = email;
userinfo.Secques = "";
userinfo.Gender = 0;
userinfo.Adminid = 0;
userinfo.Groupexpiry = 0;
userinfo.Extgroupids = "";
userinfo.Regip = DNTRequest.GetIP();
userinfo.Joindate = Utils.GetDateTime();
userinfo.Lastip = DNTRequest.GetIP();
userinfo.Lastvisit = Utils.GetDateTime();
userinfo.Lastactivity = Utils.GetDateTime();
userinfo.Lastpost = Utils.GetDateTime();
userinfo.Lastpostid = 0;
userinfo.Lastposttitle = "";
userinfo.Posts = 0;
userinfo.Digestposts = 0;
userinfo.Oltime = 0;
userinfo.Pageviews = 0;
userinfo.Credits = 0;
userinfo.Extcredits1 = Scoresets.GetScoreSet(1).Init;
userinfo.Extcredits2 = Scoresets.GetScoreSet(2).Init;
userinfo.Extcredits3 = Scoresets.GetScoreSet(3).Init;
userinfo.Extcredits4 = Scoresets.GetScoreSet(4).Init;
userinfo.Extcredits5 = Scoresets.GetScoreSet(5).Init;
userinfo.Extcredits6 = Scoresets.GetScoreSet(6).Init;
userinfo.Extcredits7 = Scoresets.GetScoreSet(7).Init;
userinfo.Extcredits8 = Scoresets.GetScoreSet(8).Init;
userinfo.Avatarshowid = 0;
userinfo.Bday = "";
userinfo.Sigstatus = 1;
userinfo.Tpp = 0;
userinfo.Ppp = 0;
userinfo.Templateid = 0;
userinfo.Pmsound = 1;
userinfo.Showemail = 0;
userinfo.Newsletter = ReceivePMSettingType.ReceiveAllPMWithHint;
userinfo.Invisible = 0;
userinfo.Newpm = 0;
userinfo.Medals = "";
if (config.Welcomemsg == 1)
{
userinfo.Newpm = 1;
}
userinfo.Accessmasks = 0;
userinfo.Website = "";
userinfo.Icq = "";
userinfo.Qq = "";
userinfo.Yahoo = "";
userinfo.Msn = "";
userinfo.Skype = "";
userinfo.Location = "";
userinfo.Customstatus = "";
userinfo.Avatar = @"avatars\common\0.gif";
userinfo.Avatarwidth = 0;
userinfo.Avatarheight = 0;
userinfo.Bio = "";
userinfo.Signature = "";
PostpramsInfo postpramsinfo = new PostpramsInfo();
postpramsinfo.Usergroupid = oluserinfo.Groupid;//7
postpramsinfo.Attachimgpost = config.Attachimgpost;//1
postpramsinfo.Showattachmentpath = config.Showattachmentpath;//0
postpramsinfo.Hide = 0;
postpramsinfo.Price = 0;
postpramsinfo.Sdetail = userinfo.Signature;
postpramsinfo.Smileyoff = 1;
postpramsinfo.Bbcodeoff = 1 - usergroupinfo.Allowsigbbcode;//1
postpramsinfo.Parseurloff = 1;
postpramsinfo.Showimages = usergroupinfo.Allowsigimgcode;//0
postpramsinfo.Allowhtml = 0;
postpramsinfo.Smiliesinfo = Smilies.GetSmiliesListWithInfo();
postpramsinfo.Customeditorbuttoninfo = Editors.GetCustomEditButtonListWithInfo();
postpramsinfo.Smiliesmax = config.Smiliesmax;//5
userinfo.Sightml = "";
//
userinfo.Authtime = Utils.GetDateTime();
userinfo.Authstr = "";
userinfo.Authflag = 0;
userinfo.Groupid = UserCredits.GetCreditsUserGroupID(0).Groupid;//10
userinfo.Realname = "";
userinfo.Idcard = "";
userinfo.Mobile = "";
userinfo.Phone = "";
int uid = Users.CreateUser(userinfo);
//根据积分公式刷新用户总积分
UserCredits.UpdateUserCredits(uid);
//写入用户登录后的cookie
ForumUtils.WriteUserCookie(uid, -1, config.Passwordkey);
//更新用户最后动作,如不需要可不执行
OnlineUsers.UpdateAction(oluserinfo.Olid, UserAction.Register.ActionID, 0, config.Onlinetimeout);
Statistics.ReSetStatisticsCache();
return true;
}
/**//// <summary>
/// 登陆论坛
/// </summary>
/// <param name="username"></param>
public static void Login(string username)
{
GeneralConfigInfo config = GeneralConfigs.GetConfig();
OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);
int uid = Users.GetUserID(username);
//删除之前的错误登录信息
LoginLogs.DeleteLoginLog(DNTRequest.GetIP());
//根据积分公式刷新用户总积分
UserCredits.UpdateUserCredits(uid);
//写入用户登录后的cookie
ForumUtils.WriteUserCookie(uid, -1, config.Passwordkey);
//更新用户最后动作,如不需要可不执行
OnlineUsers.UpdateAction(oluserinfo.Olid, UserAction.Login.ActionID, 0, config.Onlinetimeout);
//更新该用户最后访问时间
Users.UpdateUserLastvisit(uid, DNTRequest.GetIP());
}
/**//// <summary>
/// 论坛退出
/// </summary>
public static void Logout()
{
GeneralConfigInfo config = GeneralConfigs.GetConfig();
OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);
if (oluserinfo.Userid > 0)
{
Users.UpdateOnlineTime(oluserinfo.Userid);
OnlineUsers.DeleteRows(oluserinfo.Olid);
ForumUtils.ClearUserCookie();
}
}
浙公网安备 33010602011771号