public void FaceSave()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Id);

            if (result.HasErrors)
            {
                errors.Join(result);
                run(Face);
                return;
            }

            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            userService.UpdateAvatar(user, result.Info.ToString());

            if (ctx.utils.isFrame())
            {
                echoToParent(lang("uploadThanks"));
            }
            else
            {
                echoRedirectPart(lang("uploadThanks"), to(Face), 0);
            }
        }
        public void FaceSave()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Url);

            if (result.IsValid)
            {
                userService.UpdateAvatar(user, result.Info.ToString());

                if (ctx.utils.isFrame())
                {
                    echoToParent(lang("uploadThanks"));
                }
                else
                {
                    echoRedirectPart(lang("uploadThanks"), to(Face), 0);
                }
            }
            else
            {
                errors.Join(result);
                run(Face);
            }
        }
Beispiel #3
0
        private void makeUserFace(Object objParam)
        {
            List <User> userList = getUsersById(objParam as ThumbParam);

            foreach (User user in userList)
            {
                lastId = user.Id;

                // 循环生成所有缩略图
                foreach (KeyValuePair <String, ThumbInfo> kv in ThumbConfig.GetAvatarConfig())
                {
                    String srcPath = getFaceSrcPath(user.Pic);
                    if (file.Exists(srcPath) == false)
                    {
                        log("pic original not exist=" + srcPath);
                        continue;
                    }

                    log("begin make " + kv.Key + "=>" + srcPath);
                    AvatarUploader.SaveThumbSingle(srcPath, kv.Key, kv.Value);
                }
            }

            log("操作结束, last user id=" + lastId);
        }
        public void SaveUserPic()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Id);

            if (result.HasErrors)
            {
                echoError(result);
                return;
            }

            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            userService.UpdateAvatar(user, result.Info.ToString());

            // 页面跳转
            String redirectUrl = ctx.Post("redirectUrl");
            String msg         = "感谢上传!";

            if (strUtil.HasText(redirectUrl))
            {
                echoRedirect(msg, redirectUrl);
            }
            else
            {
                echoRedirect(msg, sys.Url.SiteUrl);
            }
        }
Beispiel #5
0
        private void saveWaitingApprove()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Id);

            if (result.HasErrors)
            {
                echoError(result);
                return;
            }

            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            // 更新最后一个日志
            errorPicService.UpdateLastUpload(user, ctx.Ip);

            // 2) 仅仅保存图像、不会增加积分、不会发送邮件鼓励、不给管理员发通知
            userService.UpdateAvatarOnly(user, result.Info.ToString());

            String msg = "感谢上传!";

            echoRedirect(msg);
        }
Beispiel #6
0
        private void makeSmall(Object objParam)
        {
            List <User> userList = getByStartEndId(objParam as ThumbParam);

            foreach (User user in userList)
            {
                lastId = user.Id;

                if (picExist(user.Pic, ThumbnailType.Small))
                {
                    log("pic exist=id" + user.Id + ", pic=" + user.Pic + ", small");
                    continue;
                }

                int x = config.Instance.Site.AvatarThumbWidth;
                int y = config.Instance.Site.AvatarThumbHeight;

                String srcPath = getSrcPath(user.Pic);
                if (file.Exists(srcPath) == false)
                {
                    log("pic original not exist=" + srcPath);
                    continue;
                }

                log("begin make small=>" + srcPath);
                AvatarUploader.saveAvatarPrivate(x, y, srcPath, ThumbnailType.Small);
            }

            log("操作结束, last user id=" + lastId);
        }
Beispiel #7
0
        private void makeBig(Object objParam)
        {
            List <User> userList = getByStartEndId(objParam as ThumbParam);

            foreach (User user in userList)
            {
                lastId = user.Id;

                if (picExist(user.Pic, ThumbnailType.Big))
                {
                    log("pic exist=id" + user.Id + ", pic=" + user.Pic + ", big");
                    continue;
                }

                int    x       = config.Instance.Site.AvatarThumbHeightBig;
                int    y       = config.Instance.Site.AvatarThumbWidthBig;
                String srcPath = getSrcPath(user.Pic);
                if (file.Exists(srcPath) == false)
                {
                    log("pic original not exist=" + srcPath);
                    continue;
                }
                log("begin make big=>" + srcPath);

                Boolean formatValid = AvatarUploader.saveAvatarPrivate(x, y, srcPath, ThumbnailType.Big);
                if (formatValid == false)
                {
                    msgList.Add("■■■■■■ format error=" + srcPath);
                }
            }

            log("操作结束, last user id=" + lastId);
        }
Beispiel #8
0
        private void deleteUserPic(User user)
        {
            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            user.Pic = "";
            user.update();
        }
Beispiel #9
0
        private void importUserSingle(ImportUser u, List <string> picList)
        {
            OpenService os = new OpenService();

            //
            String pwd   = getRandomPwd();
            String email = pwd + "@xxx.com";
            String apps  = " home,blog,photo,microblog,friend,visitor,forumpost,about";

            // 注册
            Result result;

            if (strUtil.HasText(u.FriendlyUrl))
            {
                result = os.UserRegister(u.Name, pwd, email, u.FriendlyUrl, apps);
            }
            else
            {
                String uFriendlyUrl = getFriendlyUrl();
                result = os.UserRegister(u.Name, pwd, email, uFriendlyUrl, apps);
            }

            if (result.HasErrors)
            {
                return;
            }
            User user = result.Info as User;

            if (picList.Count > 0)
            {
                String randomPic = picList[0];

                // 上传头像
                Result saved = AvatarUploader.Save(randomPic, user.Id);

                // 更新头像信息
                user.Pic = saved.Info.ToString();
                user.update();

                picList.RemoveAt(0);
            }
        }
Beispiel #10
0
        private void saveFirstUpload()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Id);

            if (result.HasErrors)
            {
                echoError(result);
                return;
            }

            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            userService.UpdateAvatar(user, result.Info.ToString());
            String msg = "感谢上传!";

            echoRedirect(msg, sys.Url.SiteUrl);
        }
Beispiel #11
0
        private void saveWaitingUpload()
        {
            User user = ctx.owner.obj as User;

            Result result = AvatarUploader.Save(ctx.GetFileSingle(), user.Id);

            if (result.HasErrors)
            {
                echoError(result);
                return;
            }

            if (user.Pic != UserFactory.Guest.Pic)
            {
                AvatarUploader.Delete(user.Pic);
            }

            // 增加日志
            UserErrorPic lastLog = errorPicService.GetLastLog(user);

            if (lastLog.IsNextAutoPass == 1)
            {
                errorPicService.AddLogAndPass(user, ctx.Ip);
            }
            else
            {
                errorPicService.AddLog(user, ctx.Ip);
            }

            // 2) 保存图像、不会增加积分、不会发送邮件鼓励;给管理员发通知
            userService.UpdateAvatarWhenError(user, result.Info.ToString());

            String msg = "感谢上传!";

            echoRedirect(msg);
        }
Beispiel #12
0
        public ActionResult Install(User usr, HttpPostedFileBase ava)
        {
            bool imVald = usr.IsAdmin = true;

            if (ava != null)
            {
                imVald = ava.ContentLength < 204800;
                if (!imVald)
                {
                    ModelState.AddModelError("", "Слишком большой размер изображения.");
                }
            }
            if (imVald && ModelState.IsValid)
            {
                usr.ConfirmPassWord = usr.PassWord = Hash.CreateHash(usr.PassWord);
                AvatarUploader upl = new AvatarUploader();
                Thread         t   = new Thread(upl.LoadAvatar);
                t.Start(new object[] { ava, usr.Login });
                con.Users.Add(usr);
                con.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View("Install", usr));
        }
Beispiel #13
0
        public virtual void SaveFirstLogin()
        {
            if (ctx.viewer.IsLogin)
            {
                echoError("对不起,您已经登录");
                return;
            }

            Object connectType = ctx.web.SessionGet("__connectType");

            if (connectType == null)
            {
                echoError("无效的 connect type");
                return;
            }

            AuthConnect connect = AuthConnectFactory.GetConnect(connectType.ToString());

            if (connect == null)
            {
                echoError("此连接类型不存在:" + connectType);
                return;
            }

            AccessToken accessToken = getAccessToken();

            OAuthUserProfile userProfile = connect.GetUserProfile(accessToken);

            if (userProfile == null)
            {
                echoError("无法获取正常 user profile");
                return;
            }

            accessToken.Name = userProfile.Name;

            // 注册用户
            User user = new User();

            user.Name = ctx.Post("userName");
            user.Url  = ctx.Post("userUrl");

            Result result = userService.RegisterNoPwd(user);

            if (result.HasErrors)
            {
                echoError(result);
                return;
            }

            result = AvatarUploader.SaveRemote(userProfile.PicUrlBig, user.Id);
            if (result.IsValid)
            {
                user.Pic = result.Info.ToString();
                user.update();
            }
            else
            {
                echoError(result);
                return;
            }

            // 是否开启空间
            RegHelper.CheckUserSpace(user, ctx);

            // 绑定用户
            Result saveResult = connectService.Create(user, connect.GetType().FullName, accessToken);

            if (saveResult.IsValid)
            {
                UserConnect userConnect = saveResult.Info as UserConnect;
                loginService.Login(user, userConnect.Id, LoginTime.OneWeek, ctx.Ip, ctx);   // 登录
                echoRedirect("登录成功", "/");
            }
            else
            {
                echoError(saveResult);
            }
        }