/// <summary> /// 处理邀请码 /// </summary> /// <param name="context"></param> public static void InviteCode(HttpContext context) { if (context.Request.IsAuthenticated) { UserStatusEntity entity = UserAccount.CurrentStatus; if (entity != null && entity.invited < entity.maxinvites) { IList<string> codes = UserAccount.GetInviteCode(entity.id);//获取可用的邀请码 if (codes != null && codes.Count > 0) { string ret = "["; foreach (string code in codes) { if (ret != "[") ret += ","; ret += string.Format("{{\"code\":\"{0}\"}}", code); } ret += "]"; context.Response.Write(JU.Build(true, ret)); context.Response.End(); } } } context.Response.Write(JU.Build(false, "没有可用的邀请码!")); context.Response.End(); }
/// <summary> /// 修改密码 /// </summary> /// <param name="context"></param> public static void ChangePassword(HttpContext context) { if (context.Request.IsAuthenticated) { string op = context.Request.Form["op"]; string np = context.Request.Form["np"]; if (string.IsNullOrEmpty(op) || string.IsNullOrEmpty(np)) { context.Response.Write(JU.Build(false, "输入不完整,请完整输入当前密码和新密码后再试")); return; } UserEntity user = UserAccount.Current; if (user != null && user.password == MU.MD5(op)) { string passwd = MU.MD5(np); if (UserData.ChangePassword(user.id, passwd) > 0) { user.password = passwd; //TODO:notify other server change context.Response.Write(JU.AJAX_SUCCESS); return; } } else { context.Response.Write(JU.Build(false, "当前密码错误,请重新输入当前使用的密码!")); return; } } context.Response.Write(JU.Build(false,"对不起,无法修改密码,请重新登录后再试!")); }
private void ProcessAvatar(HttpContext context) { HttpPostedFile fileUpload = context.Request.Files["Filedata"]; if (fileUpload != null && fileUpload.ContentLength > 0) { int id = CU.ToInt(context.Request.QueryString["i"]); string name = context.Request.QueryString["n"]; UserEntity user = UserAccount.Current; if (user != null && user.id == id) { if (name == null) { name = user.www; } string extension = Path.GetExtension(fileUpload.FileName).ToLower(); string fileName = name + extension; string originalPath = @"s\o\"; string datepath = DateTime.Now.ToString("yyyyMM"); string ofileName = rootPath + originalPath + datepath + "\\" + fileName; if (SaveFile(fileUpload, ofileName)) { string iconFileName = rootPath + originalPath + datepath + "\\" + name + ".png"; int width, height; if (IU.Resize(ofileName, iconFileName, 300, 300, out width, out height)) { if (ofileName != iconFileName) { File.Delete(ofileName); } } else /*TODO: log failed!*/ } { FileController.CreateAttachment(new AttachmentEntity() { uid = id, url = "/s/o/" + datepath + "/" + fileName, physicalpath = iconFileName, type = 1 }); context.Response.StatusCode = 200; string data = "{url:'" + "/s/o/" + datepath + "/" + name + ".png" + "',width:" + width + ",height:" + height + "}"; context.Response.Write(JU.BuildJSON(true, data)); return; } } } //内部服务器错误 context.Response.StatusCode = 500; context.Response.Write(JU.Build(false, "图片上传失败")); }
/// <summary> /// 处理用户登录请求 /// </summary> /// <param name="context"></param> public static void Login(HttpContext context) { string name = context.Request.Form["n"]; string pwd = context.Request.Form["p"]; if (UserAccount.Login(name, pwd)) { string from = QA.GetCookie(SC.CK_LOGIN_FROM); if (from == null || from.Contains("login")) from = "/home"; context.Response.Write(JU.Build(true, from)); } else context.Response.Write(JU.Build(false, "")); }
public static void BeFriend(HttpContext context) { if (context.Request.IsAuthenticated) { int uid = CU.ToInt(context.Request.Form["uid"]); int mid = CU.ToInt(context.Request.Form["mid"]); int eid = CU.ToInt(context.Request.Form["eid"]); UserAccount.ConfirmFriend(uid, mid); EventData.Close(eid); context.Response.Write(JU.Build(true, "")); return; } context.Response.Write(JU.Build(false, "没有登录或登录已失效,请登录后再试")); }
private static void Handle(HttpContext context) { string cmd = context.Request.Params["m"]; if (!string.IsNullOrEmpty(cmd)) { AjaxMethod method = AjaxFactory.Create(cmd, context); if (method != null) { method(context); } else { context.Response.Write(JU.Build(false, 404, "Ajax调用出错")); } } }
/// <summary> /// 裁减并保存用户上传的图像 /// </summary> /// <param name="context"></param> public static void SaveAvatar(HttpContext context) { int x = CU.ToInt(context.Request.QueryString["x"]); int y = CU.ToInt(context.Request.QueryString["y"]); int w = CU.ToInt(context.Request.QueryString["w"]); int h = CU.ToInt(context.Request.QueryString["h"]); if (w == 0 || h == 0) { context.Response.Write(JU.AJAX_FAIL); return; } UserEntity user = UserAccount.Current; if (user != null) { //get the originalfile & crop it. string filePath = FileController.GetFilePhysicalPath(1, user.id); if (File.Exists(filePath)) { string avatarPath = context.Server.MapPath("~/") + @"\s\u\avatar\"; if (!Directory.Exists(avatarPath)) { Directory.CreateDirectory(avatarPath); } if (IU.Crop(filePath, avatarPath + user.www + ".png", new Rectangle(x, y, w, h), 50, 50)) { string tURL = "/s/u/avatar/" + user.www + ".png"; if (UserAccount.SetAvatar(tURL, user.id) > 0) { context.Response.Write(JU.Build(true, tURL)); return; } } } } context.Response.Write(JU.AJAX_FAIL); }
/// <summary> /// 响应账户注册请求 /// 成功:1 失败:0 邀请码错误:-1 /// </summary> /// <param name="context"></param> public static void Signup(HttpContext context) { string name = context.Request.Form["n"]; string pwd = context.Request.Form["p"]; string email = context.Request.Form["e"]; string code = context.Request.Form["c"]; string id = context.Request.Form["i"]; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(email)) { context.Response.Write(JU.Build(false, "数据输入不完整或者格式不正确!")); context.Response.End(); } if (UserAccount.Signup(name, pwd, email, code, id)) { context.Response.Write(JU.Build(true, "")); context.Response.End(); } context.Response.Write(JU.Build(false, "注册失败,请联系管理员")); }
public void SaveThread(HttpContext context) { if (context.Request.IsAuthenticated) { UserEntity u = UserAccount.Current; int bid = CU.ToInt(context.Request.Form["bid"]); int tid = CU.ToInt(context.Request.Form["tid"]); string name = context.Request.Form["name"]; string story = context.Request.Form["story"]; string ip = QA.ClientIP; if (tid > 0) { int ret = Forum.SavePost(bid, tid, u.id, u.name, name, ip, story); if (ret > 0) { //更新统计数据 Forum.IncThreadReplies(tid); string url = string.Concat("/bbs/thread/", bid, "_", tid, ".html#", ret); context.Response.Write(JU.Build(true, url)); } } else { int ret = Forum.SaveThread(bid, u.id, u.name, name, ip, story); if (ret > 0) { string url = string.Concat("/bbs/thread/", bid, "_", ret, ".html"); context.Response.Write(JU.Build(true, url)); } } } else { context.Response.Write(JU.Build(false, "没有权限发帖")); } }
public static void SaveRole(HttpContext context) { int id = CU.ToInt(context.Request.Form["id"]); string name = context.Request.Form["name"]; string displayname = context.Request.Form["dn"]; string description = context.Request.Form["desc"]; string action = context.Request.Form["action"]; RoleEntity entity = new RoleEntity() { id = id, name = name, displayname = displayname, description = description }; int ret = 0; if (action == "edit") ret = RoleData.Update(entity); else if (action == "create") ret = RoleData.Create(entity); if (ret > 0) context.Response.Write(JU.Build(true, "")); else context.Response.Write(JU.Build(false, "")); }