Exemple #1
0
      /// <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();
      }
Exemple #2
0
      /// <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,"对不起,无法修改密码,请重新登录后再试!"));
      }
Exemple #3
0
        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, "图片上传失败"));
    }
Exemple #4
0
 /// <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, "没有登录或登录已失效,请登录后再试"));
        }
Exemple #6
0
        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调用出错"));
                }
            }
        }
Exemple #7
0
        /// <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);
        }
Exemple #8
0
      /// <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, "注册失败,请联系管理员"));
      }
Exemple #9
0
        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, "没有权限发帖"));
            }
        }
Exemple #10
0
      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, ""));
      }