예제 #1
0
 public ActionResult Register(RegisterModel model)
 {
     ((dynamic) base.ViewBag).Title = "注册";
     if (Maticsoft.BLL.SysManage.ConfigSystem.GetBoolValueByCache("System_Close_Register"))
     {
         return base.RedirectToAction("TurnOff", "Error");
     }
     if (base.ModelState.IsValid)
     {
         int num = new User { UserName = model.Email, NickName = model.NickName, Password = AccountsPrincipal.EncryptPassword(model.Password), Email = model.Email, Activity = true, UserType = "UU", Style = 1, User_dateCreate = DateTime.Now, User_cLang = "zh-CN" }.Create();
         if (num != -100)
         {
             UsersExp exp = new UsersExp {
                 UserID = num,
                 BirthdayVisible = 0,
                 BirthdayIndexVisible = false,
                 Gravatar = string.Format("/{0}/User/Gravatar/{1}", MvcApplication.UploadFolder, num),
                 ConstellationVisible = 0,
                 ConstellationIndexVisible = false,
                 NativePlaceVisible = 0,
                 NativePlaceIndexVisible = false,
                 RegionId = 0,
                 AddressVisible = 0,
                 AddressIndexVisible = false,
                 BodilyFormVisible = 0,
                 BodilyFormIndexVisible = false,
                 BloodTypeVisible = 0,
                 BloodTypeIndexVisible = false,
                 MarriagedVisible = 0,
                 MarriagedIndexVisible = false,
                 PersonalStatusVisible = 0,
                 PersonalStatusIndexVisible = false,
                 LastAccessIP = "",
                 LastAccessTime = new DateTime?(DateTime.Now),
                 LastLoginTime = DateTime.Now,
                 LastPostTime = new DateTime?(DateTime.Now)
             };
             if (!exp.AddUsersExp(exp))
             {
                 this.userManage.Delete(num);
                 this.userExpManage.DeleteUsersExp(num);
                 base.ModelState.AddModelError("Message", "注册失败!");
                 return base.View(model);
             }
             FormsAuthentication.SetAuthCookie(model.Email, false);
             new Maticsoft.BLL.Members.PointsDetail().AddPoints("Register", num, "注册成功", "");
             Maticsoft.Model.SNS.UserAlbums albums = new Maticsoft.Model.SNS.UserAlbums();
             Maticsoft.BLL.SNS.UserAlbums albums2 = new Maticsoft.BLL.SNS.UserAlbums();
             Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
             albums.AlbumName = "默认专辑";
             albums.CreatedDate = DateTime.Now;
             albums.CreatedNickName = model.NickName;
             albums.CreatedUserID = num;
             albums2.AddEx(albums, 1);
             string valueByCache = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("DefaultGravatar");
             valueByCache = string.IsNullOrEmpty(valueByCache) ? "/Upload/User/Gravatar/Default.jpg" : valueByCache;
             string str2 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("TargetGravatarFile");
             str2 = string.IsNullOrEmpty(str2) ? "/Upload/User/Gravatar/" : str2;
             string str3 = base.ControllerContext.HttpContext.Server.MapPath("/");
             if (File.Exists(str3 + valueByCache))
             {
                 File.Copy(str3 + valueByCache, string.Concat(new object[] { str3, str2, num, ".jpg" }), true);
             }
             ship.GiveUserFellow(num);
             return this.Redirect("/UserCenter/Personal");
         }
         base.ModelState.AddModelError("Message", ErrorCodeToString(MembershipCreateStatus.DuplicateUserName));
     }
     return base.View(model);
 }
예제 #2
0
 public ActionResult AjaxFellowUser(int UserId)
 {
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     if (UserId == base.currentUser.UserID)
     {
         return base.Content("Self");
     }
     if (ship.AddAttention(base.CurrentUser.UserID, UserId))
     {
         return base.Content("True");
     }
     return base.Content("False");
 }
예제 #3
0
 public ActionResult AjaxUnFellowUser(int UserId)
 {
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     if (ship.CancelAttention(base.CurrentUser.UserID, UserId))
     {
         return base.Content("True");
     }
     return base.Content("False");
 }
예제 #4
0
 public ActionResult AjaxCheckIsFellow(int UserId)
 {
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     if (ship.Exists(base.currentUser.UserID, UserId))
     {
         return base.Content("True");
     }
     return base.Content("False");
 }
예제 #5
0
 public ActionResult User(int? page)
 {
     ((dynamic) base.ViewBag).Title = "用户搜索";
     string inputString = string.IsNullOrWhiteSpace(base.Request.Params["keyword"]) ? "" : base.Server.UrlDecode(base.Request.Params["keyword"]);
     inputString = InjectionFilter.Filter(inputString);
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     UsersExp exp = new UsersExp();
     page = new int?((page.HasValue && (page.Value > 1)) ? page.Value : 1);
     int pageSize = 10;
     int startIndex = (page.Value > 1) ? (((page.Value - 1) * pageSize) + 1) : 0;
     int endIndex = page.Value * pageSize;
     int userCountByKeyWord = exp.GetUserCountByKeyWord(inputString);
     PagedList<UsersExpModel> model = null;
     List<UsersExpModel> items = exp.GetUserListByKeyWord(inputString, "", startIndex, endIndex);
     if (base.currentUser != null)
     {
         Action<UsersExpModel> action = null;
         List<Maticsoft.Model.SNS.UserShip> shipList = ship.GetModelList("ActiveUserID = " + base.currentUser.UserID);
         if ((shipList != null) && (shipList.Count > 0))
         {
             if (action == null)
             {
                 action = delegate (UsersExpModel item) {
                     item.IsFellow = this.UserIsFellow(item.UserID, shipList);
                 };
             }
             items.ForEach(action);
         }
     }
     if ((items != null) && (items.Count > 0))
     {
         int? nullable = page;
         model = new PagedList<UsersExpModel>(items, nullable.HasValue ? nullable.GetValueOrDefault() : 1, pageSize, userCountByKeyWord);
     }
     if (base.Request.IsAjaxRequest())
     {
         return this.PartialView(base.CurrentThemeViewPath + "/Search/UserList.cshtml", model);
     }
     return base.View(base.CurrentThemeViewPath + "/Search/User.cshtml", model);
 }
예제 #6
0
 public PartialViewResult ProfileLeft(int? uid)
 {
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     UsersExp exp = new UsersExp();
     UsersExpModel usersExpModel = new UsersExpModel();
     Maticsoft.BLL.SNS.Groups groups = new Maticsoft.BLL.SNS.Groups();
     int userid = uid.HasValue ? uid.Value : ((base.currentUser != null) ? base.currentUser.UserID : 0);
     List<Maticsoft.Model.SNS.UserShip> list = ship.GetToListByFansPage(userid, "", 0, 9);
     List<Maticsoft.Model.SNS.Groups> userJoinGroup = groups.GetUserJoinGroup(userid, 9);
     List<Maticsoft.Model.SNS.Groups> modelList = groups.GetModelList("CreatedUserId=" + userid);
     usersExpModel = exp.GetUsersExpModel(userid);
     ((dynamic) base.ViewBag).FansCount = (usersExpModel != null) ? usersExpModel.FansCount : 0;
     ((dynamic) base.ViewBag).IsCurrentUser = !uid.HasValue && (base.currentUser != null);
     ((dynamic) base.ViewBag).UserId = userid;
     Maticsoft.ViewModel.SNS.ProfileLeft model = new Maticsoft.ViewModel.SNS.ProfileLeft {
         joingroupList = userJoinGroup,
         shipList = list,
         creategroupList = modelList
     };
     return this.PartialView("_ProfileLeft", model);
 }
예제 #7
0
 public ActionResult AjaxUserInfo(int? UserID, string NickName)
 {
     Maticsoft.BLL.Members.Users users = new Maticsoft.BLL.Members.Users();
     UsersExp exp = new UsersExp();
     UsersExpModel usersModel = new UsersExpModel();
     if (!string.IsNullOrEmpty(NickName))
     {
         int userIdByNickName = users.GetUserIdByNickName(NickName);
         if (userIdByNickName <= 0)
         {
             return base.View("_AjaxUserInfo", usersModel);
         }
         UserID = new int?(userIdByNickName);
     }
     if (UserID.HasValue)
     {
         usersModel = exp.GetUsersModel(UserID.Value);
         string regionNameByRID = new Maticsoft.BLL.Ms.Regions().GetRegionNameByRID(Globals.SafeInt(usersModel.Address, 0));
         if (regionNameByRID.Contains("北京北京"))
         {
             regionNameByRID = regionNameByRID.Replace("北京北京", "北京");
         }
         else if (regionNameByRID.Contains("上海上海"))
         {
             regionNameByRID = regionNameByRID.Replace("上海上海", "上海");
         }
         else if (regionNameByRID.Contains("重庆重庆"))
         {
             regionNameByRID = regionNameByRID.Replace("重庆重庆", "重庆");
         }
         else if (regionNameByRID.Contains("天津天津"))
         {
             regionNameByRID = regionNameByRID.Replace("天津天津", "天津");
         }
         usersModel.Address = string.IsNullOrEmpty(usersModel.Address) ? "暂未设置" : regionNameByRID;
     }
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     if (base.currentUser != null)
     {
         if (base.currentUser.UserID == UserID.Value)
         {
             ((dynamic) base.ViewBag).IsSelf = true;
         }
         else if (ship.Exists(base.currentUser.UserID, UserID.Value))
         {
             ((dynamic) base.ViewBag).IsFellow = true;
         }
     }
     return base.View("_AjaxUserInfo", usersModel);
 }
예제 #8
0
 private ActionResult CallbackUserInfo(MediaType mediaType, AccessGrant accessGrant, string userIdOAuth, string nickNameOAuth, string emailOAuth)
 {
     if (base.CurrentUser != null)
     {
         Maticsoft.BLL.Members.UserBind bind = new Maticsoft.BLL.Members.UserBind();
         Maticsoft.Model.Members.UserBind bind2 = new Maticsoft.Model.Members.UserBind {
             MediaID = (int) mediaType,
             MediaNickName = nickNameOAuth,
             MediaUserID = userIdOAuth.ToString(),
             TokenAccess = accessGrant.AccessToken,
             UserId = (base.CurrentUser.UserType == "AA") ? -1 : base.CurrentUser.UserID,
             TokenAccess = accessGrant.AccessToken,
             TokenExpireTime = accessGrant.ExpireTime,
             Comment = true,
             iHome = true,
             GroupTopic = true
         };
         if (!bind.AddEx(bind2))
         {
             return this.Redirect("/");
         }
         if (base.currentUser.UserType == "AA")
         {
             return this.Redirect("/Admin/Accounts/UserBind.aspx");
         }
         return this.RedirectToUserBind();
     }
     string userName = string.Format("{0}_{1}", mediaType.ToString(), userIdOAuth);
     string password = userName + this.SinaSercet;
     Maticsoft.BLL.Members.Users users = new Maticsoft.BLL.Members.Users();
     User user = new User();
     if (user.HasUserByUserName(userName))
     {
         User user2 = new User(userName);
         FormsAuthentication.SetAuthCookie(userName, false);
         base.Session[Globals.SESSIONKEY_USER] = user2;
         base.Session["Style"] = user2.Style;
         new Maticsoft.BLL.Members.PointsDetail().AddPoints("Login", user2.UserID, "登录操作", "");
         if (base.Session["returnPage"] != null)
         {
             string url = base.Session["returnPage"].ToString();
             base.Session["returnPage"] = null;
             return this.Redirect(url);
         }
         return this.RedirectToHome();
     }
     User user3 = new User();
     string nickName = nickNameOAuth;
     while (user3.HasUserByNickName(nickName))
     {
         nickName = nickNameOAuth + "_" + Globals.GenRandomCodeFor6();
     }
     user.UserName = userName;
     user.Email = emailOAuth;
     user.Password = AccountsPrincipal.EncryptPassword(password);
     user.Activity = true;
     user.UserType = "UU";
     user.NickName = nickName;
     user.Style = 1;
     user.User_dateCreate = DateTime.Now;
     user.User_cLang = "zh-CN";
     int num = user.Create();
     if (num <= 0)
     {
         return this.Redirect("/");
     }
     UsersExp model = new UsersExp {
         UserID = num,
         Email = emailOAuth,
         Gravatar = string.Format("/{0}/User/Gravatar/{1}", Maticsoft.Components.MvcApplication.UploadFolder, num),
         BirthdayVisible = 0,
         BirthdayIndexVisible = false,
         ConstellationVisible = 0,
         ConstellationIndexVisible = false,
         NativePlaceVisible = 0,
         NativePlaceIndexVisible = false,
         RegionId = 0,
         AddressVisible = 0,
         AddressIndexVisible = false,
         BodilyFormVisible = 0,
         BodilyFormIndexVisible = false,
         BloodTypeVisible = 0,
         BloodTypeIndexVisible = false,
         MarriagedVisible = 0,
         MarriagedIndexVisible = false,
         PersonalStatusVisible = 0,
         PersonalStatusIndexVisible = false,
         LastAccessIP = "",
         LastAccessTime = new DateTime?(DateTime.Now),
         LastLoginTime = DateTime.Now,
         LastPostTime = new DateTime?(DateTime.Now)
     };
     if (!model.AddUsersExp(model))
     {
         users.Delete(num);
         new UsersExp().DeleteUsersExp(num);
         return this.Redirect("/");
     }
     User user4 = new User(userName);
     FormsAuthentication.SetAuthCookie(userName, false);
     base.Session[Globals.SESSIONKEY_USER] = user4;
     base.Session["Style"] = user4.Style;
     if (Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_Register_IsBind") == "1")
     {
         Maticsoft.BLL.Members.UserBind bind3 = new Maticsoft.BLL.Members.UserBind();
         Maticsoft.Model.Members.UserBind bind4 = new Maticsoft.Model.Members.UserBind {
             MediaID = (int) mediaType,
             MediaNickName = nickNameOAuth,
             MediaUserID = userIdOAuth,
             TokenAccess = accessGrant.AccessToken,
             TokenExpireTime = accessGrant.ExpireTime,
             UserId = num,
             TokenAccess = accessGrant.AccessToken,
             TokenExpireTime = accessGrant.ExpireTime,
             Comment = true,
             iHome = true,
             GroupTopic = true
         };
         if (!bind3.AddEx(bind4))
         {
             return this.Redirect("/");
         }
     }
     string valueByCache = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("DefaultGravatar");
     valueByCache = string.IsNullOrEmpty(valueByCache) ? "/Upload/User/Gravatar/Default.jpg" : valueByCache;
     string str7 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("TargetGravatarFile");
     str7 = string.IsNullOrEmpty(str7) ? "/Upload/User/Gravatar/" : str7;
     string str8 = base.ControllerContext.HttpContext.Server.MapPath("/");
     if (File.Exists(str8 + valueByCache))
     {
         File.Copy(str8 + valueByCache, string.Concat(new object[] { str8, str7, user4.UserID, ".jpg" }), true);
     }
     new Maticsoft.BLL.Members.PointsDetail().AddPoints("Register", num, "注册成功", "");
     Maticsoft.Model.SNS.UserAlbums albums = new Maticsoft.Model.SNS.UserAlbums();
     Maticsoft.BLL.SNS.UserAlbums albums2 = new Maticsoft.BLL.SNS.UserAlbums();
     Maticsoft.BLL.SNS.UserShip ship = new Maticsoft.BLL.SNS.UserShip();
     albums.AlbumName = "默认专辑";
     albums.CreatedDate = DateTime.Now;
     albums.CreatedNickName = user4.NickName;
     albums.CreatedUserID = user4.UserID;
     albums2.AddEx(albums, 1);
     ship.GiveUserFellow(user4.UserID);
     return this.RedirectToHome();
 }