public ThumbnailsDataWrapper(Guid userId)
 {
     Original = UserPhotoManager.GetPhotoAbsoluteWebPath(userId);
     Retina   = UserPhotoManager.GetRetinaPhotoURL(userId);
     Max      = UserPhotoManager.GetMaxPhotoURL(userId);
     Big      = UserPhotoManager.GetBigPhotoURL(userId);
     Medium   = UserPhotoManager.GetMediumPhotoURL(userId);
     Small    = UserPhotoManager.GetSmallPhotoURL(userId);
 }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            string imagepath = UserPhotoManager.GetMediumPhotoURL(new Guid());

            if (!String.IsNullOrEmpty(context.Request["id"]))
            {
                imagepath = UserPhotoManager.GetMediumPhotoURL(CoreContext.UserManager.GetUserByUserName(context.Request["id"].Split('@')[0]).ID);
            }

            var host = new Uri(CommonLinkUtility.ServerRootPath).Host;

            if (String.Equals(context.Request["id"], host, StringComparison.InvariantCultureIgnoreCase))
            {
                imagepath = WebImageSupplier.GetAbsoluteWebPath("teamlab.png", TalkAddon.AddonID);
            }

            context.Response.Redirect(imagepath, false);
            context.Response.StatusCode = 301;

            //try
            //{
            //  HttpWebRequest HWRequest = (HttpWebRequest)HttpWebRequest.Create(CommonLinkUtility.GetFullAbsolutePath(imagepath));
            //  HttpWebResponse HWResponse = (HttpWebResponse)HWRequest.GetResponse();
            //  HWResponse.GetResponseStream().StreamCopyTo(context.Response.OutputStream);
            //  context.Response.Cache.SetCacheability(HttpCacheability.Public);
            //  context.Response.ContentType = HWResponse.ContentType;
            //  context.Response.BufferOutput = false;
            //}
            //catch (Exception)
            //{
            //  context.Response.ContentType = "text/html";
            //  context.Response.BufferOutput = false;
            //  context.Response.StatusCode = 404;
            //  context.Response.End();
            //}
        }
예제 #3
0
        ///<summary>
        ///</summary>
        ///<param name="userInfo"></param>
        ///<exception cref="ArgumentException"></exception>
        public EmployeeWraperFull(UserInfo userInfo) : base(userInfo)
        {
            if (userInfo == Core.Users.Constants.LostUser)
            {
                throw new ArgumentException("user not found");
            }

            Id         = userInfo.ID;
            UserName   = userInfo.UserName;
            FirstName  = userInfo.FirstName;
            LastName   = userInfo.LastName;
            Birthday   = (ApiDateTime)userInfo.BirthDate;
            Sex        = userInfo.Sex.HasValue ? userInfo.Sex.Value ? "male" : "female" : "";
            Status     = userInfo.Status;
            Terminated = (ApiDateTime)userInfo.TerminatedDate;
            Title      = userInfo.Title;
            Department = userInfo.Department;
            WorkFrom   = (ApiDateTime)userInfo.WorkFromDate;
            Email      = userInfo.Email;
            Location   = userInfo.Location;
            Notes      = userInfo.Notes;
            Email      = userInfo.Email;
            FillConacts(userInfo);

            Groups = Core.CoreContext.UserManager.GetUserGroups(userInfo.ID).Select(x => new GroupWrapperSummary(x)).ToList();

            try
            {
                AvatarSmall  = UserPhotoManager.GetSmallPhotoURL(userInfo.ID);
                AvatarMedium = UserPhotoManager.GetMediumPhotoURL(userInfo.ID);
                Avatar       = UserPhotoManager.GetBigPhotoURL(userInfo.ID);
            }
            catch (Exception)
            {
            }
        }
 public static string GetMediumPhotoURL(this UserInfo userInfo)
 {
     return(UserPhotoManager.GetMediumPhotoURL(userInfo.ID));
 }
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            var result = new FileUploadResult();

            try
            {
                if (context.Request.Files.Count != 0)
                {
                    Guid userId;
                    try
                    {
                        userId = new Guid(context.Request["userId"]);
                    }
                    catch
                    {
                        userId = SecurityContext.CurrentAccount.ID;
                    }
                    SecurityContext.DemandPermissions(new UserSecurityProvider(userId), Constants.Action_EditUser);

                    var userPhoto = context.Request.Files[0];

                    if (userPhoto.InputStream.Length > SetupInfo.MaxImageUploadSize)
                    {
                        result.Success = false;
                        result.Message = FileSizeComment.FileImageSizeExceptionString;
                        return(result);
                    }

                    var data = new byte[userPhoto.InputStream.Length];

                    var br = new BinaryReader(userPhoto.InputStream);
                    br.Read(data, 0, (int)userPhoto.InputStream.Length);
                    br.Close();

                    CheckImgFormat(data);

                    if (context.Request["autosave"] == "true")
                    {
                        if (data.Length > SetupInfo.MaxImageUploadSize)
                        {
                            throw new ImageSizeLimitException();
                        }

                        var mainPhoto = UserPhotoManager.SaveOrUpdatePhoto(userId, data);

                        result.Data =
                            new
                        {
                            main   = mainPhoto,
                            retina = UserPhotoManager.GetRetinaPhotoURL(userId),
                            max    = UserPhotoManager.GetMaxPhotoURL(userId),
                            big    = UserPhotoManager.GetBigPhotoURL(userId),
                            medium = UserPhotoManager.GetMediumPhotoURL(userId),
                            small  = UserPhotoManager.GetSmallPhotoURL(userId),
                        };
                    }
                    else
                    {
                        result.Data = UserPhotoManager.SaveTempPhoto(data, SetupInfo.MaxImageUploadSize, UserPhotoManager.OriginalFotoSize.Width, UserPhotoManager.OriginalFotoSize.Height);
                    }

                    result.Success = true;
                }
                else
                {
                    result.Success = false;
                    result.Message = PeopleResource.ErrorEmptyUploadFileSelected;
                }
            }
            catch (UnknownImageFormatException)
            {
                result.Success = false;
                result.Message = PeopleResource.ErrorUnknownFileImageType;
            }
            catch (ImageWeightLimitException)
            {
                result.Success = false;
                result.Message = PeopleResource.ErrorImageWeightLimit;
            }
            catch (ImageSizeLimitException)
            {
                result.Success = false;
                result.Message = PeopleResource.ErrorImageSizetLimit;
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message.HtmlEncode();
            }

            return(result);
        }
예제 #6
0
        public EmployeeWraperFull(UserInfo userInfo, ApiContext context)
            : base(userInfo)
        {
            UserName  = userInfo.UserName;
            IsVisitor = userInfo.IsVisitor();
            FirstName = userInfo.FirstName;
            LastName  = userInfo.LastName;
            Birthday  = (ApiDateTime)userInfo.BirthDate;

            if (userInfo.Sex.HasValue)
            {
                Sex = userInfo.Sex.Value ? "male" : "female";
            }

            Status           = userInfo.Status;
            ActivationStatus = userInfo.ActivationStatus;
            Terminated       = (ApiDateTime)userInfo.TerminatedDate;

            if (!string.IsNullOrEmpty(userInfo.Department))
            {
                Department = userInfo.Department;
            }

            WorkFrom = (ApiDateTime)userInfo.WorkFromDate;
            Email    = userInfo.Email;

            if (!string.IsNullOrEmpty(userInfo.Location))
            {
                Location = userInfo.Location;
            }

            if (!string.IsNullOrEmpty(userInfo.Notes))
            {
                Notes = userInfo.Notes;
            }

            if (!string.IsNullOrEmpty(userInfo.MobilePhone))
            {
                MobilePhone = userInfo.MobilePhone;
            }

            MobilePhoneActivationStatus = userInfo.MobilePhoneActivationStatus;

            if (!string.IsNullOrEmpty(userInfo.CultureName))
            {
                CultureName = userInfo.CultureName;
            }

            FillConacts(userInfo);

            var groups = Core.CoreContext.UserManager.GetUserGroups(userInfo.ID).Select(x => new GroupWrapperSummary(x)).ToList();

            if (groups.Any())
            {
                Groups = groups;
            }

            try
            {
                if (CheckContext(context, "avatarSmall"))
                {
                    AvatarSmall = UserPhotoManager.GetSmallPhotoURL(userInfo.ID);
                }

                if (CheckContext(context, "avatarMedium"))
                {
                    AvatarMedium = UserPhotoManager.GetMediumPhotoURL(userInfo.ID);
                }

                if (CheckContext(context, "avatar"))
                {
                    Avatar = UserPhotoManager.GetBigPhotoURL(userInfo.ID);
                }
            }
            catch (Exception)
            {
            }

            try
            {
                IsOnline = false;
                IsAdmin  = userInfo.IsAdmin();

                if (CheckContext(context, "listAdminModules"))
                {
                    var listAdminModules = userInfo.GetListAdminModules();

                    if (listAdminModules.Any())
                    {
                        ListAdminModules = listAdminModules;
                    }
                }

                IsOwner = userInfo.IsOwner();
            }
            catch (Exception)
            {
            }
        }
예제 #7
0
 public static string GetMediumPhotoURL(this UserInfo userInfo, int tenantId)
 {
     return(UserPhotoManager.GetMediumPhotoURL(tenantId, userInfo.ID));
 }
예제 #8
0
        public EmployeeWraperFull GetFull(UserInfo userInfo)
        {
            var result = new EmployeeWraperFull
            {
                UserName         = userInfo.UserName,
                FirstName        = userInfo.FirstName,
                LastName         = userInfo.LastName,
                Birthday         = ApiDateTime.FromDate(TenantManager, TimeZoneConverter, userInfo.BirthDate),
                Status           = userInfo.Status,
                ActivationStatus = userInfo.ActivationStatus & ~EmployeeActivationStatus.AutoGenerated,
                Terminated       = ApiDateTime.FromDate(TenantManager, TimeZoneConverter, userInfo.TerminatedDate),
                WorkFrom         = ApiDateTime.FromDate(TenantManager, TimeZoneConverter, userInfo.WorkFromDate),
                Email            = userInfo.Email,
                IsVisitor        = userInfo.IsVisitor(UserManager),
                IsAdmin          = userInfo.IsAdmin(UserManager),
                IsOwner          = userInfo.IsOwner(Context.Tenant),
                IsLDAP           = userInfo.IsLDAP(),
                IsSSO            = userInfo.IsSSO()
            };

            Init(result, userInfo);

            if (userInfo.Sex.HasValue)
            {
                result.Sex = userInfo.Sex.Value ? "male" : "female";
            }

            if (!string.IsNullOrEmpty(userInfo.Location))
            {
                result.Location = userInfo.Location;
            }

            if (!string.IsNullOrEmpty(userInfo.Notes))
            {
                result.Notes = userInfo.Notes;
            }

            if (!string.IsNullOrEmpty(userInfo.MobilePhone))
            {
                result.MobilePhone = userInfo.MobilePhone;
            }

            result.MobilePhoneActivationStatus = userInfo.MobilePhoneActivationStatus;

            if (!string.IsNullOrEmpty(userInfo.CultureName))
            {
                result.CultureName = userInfo.CultureName;
            }

            FillConacts(result, userInfo);

            if (Context.Check("groups") || Context.Check("department"))
            {
                var groups = UserManager.GetUserGroups(userInfo.ID)
                             .Select(x => new GroupWrapperSummary(x, UserManager))
                             .ToList();

                if (groups.Count > 0)
                {
                    result.Groups     = groups;
                    result.Department = string.Join(", ", result.Groups.Select(d => d.Name.HtmlEncode()));
                }
                else
                {
                    result.Department = "";
                }
            }

            var userInfoLM = userInfo.LastModified.GetHashCode();

            if (Context.Check("avatarMax"))
            {
                result.AvatarMax = UserPhotoManager.GetMaxPhotoURL(userInfo.ID, out var isdef) + (isdef ? "" : $"?_={userInfoLM}");
            }

            if (Context.Check("avatarMedium"))
            {
                result.AvatarMedium = UserPhotoManager.GetMediumPhotoURL(userInfo.ID, out var isdef) + (isdef ? "" : $"?_={userInfoLM}");
            }

            if (Context.Check("avatar"))
            {
                result.Avatar = UserPhotoManager.GetBigPhotoURL(userInfo.ID, out var isdef) + (isdef ? "" : $"?_={userInfoLM}");
            }

            if (Context.Check("listAdminModules"))
            {
                var listAdminModules = userInfo.GetListAdminModules(WebItemSecurity);

                if (listAdminModules.Any())
                {
                    result.ListAdminModules = listAdminModules;
                }
            }

            return(result);
        }
예제 #9
0
        public EmployeeWraperFull(UserInfo userInfo, ApiContext context)
            : base(userInfo, context)
        {
            UserName  = userInfo.UserName;
            IsVisitor = userInfo.IsVisitor();
            FirstName = userInfo.FirstName;
            LastName  = userInfo.LastName;
            Birthday  = (ApiDateTime)userInfo.BirthDate;

            if (userInfo.Sex.HasValue)
            {
                Sex = userInfo.Sex.Value ? "male" : "female";
            }

            Status           = userInfo.Status;
            ActivationStatus = userInfo.ActivationStatus & ~EmployeeActivationStatus.AutoGenerated;
            Terminated       = (ApiDateTime)userInfo.TerminatedDate;

            WorkFrom = (ApiDateTime)userInfo.WorkFromDate;
            Email    = userInfo.Email;

            if (!string.IsNullOrEmpty(userInfo.Location))
            {
                Location = userInfo.Location;
            }

            if (!string.IsNullOrEmpty(userInfo.Notes))
            {
                Notes = userInfo.Notes;
            }

            if (!string.IsNullOrEmpty(userInfo.MobilePhone))
            {
                MobilePhone = userInfo.MobilePhone;
            }

            MobilePhoneActivationStatus = userInfo.MobilePhoneActivationStatus;

            if (!string.IsNullOrEmpty(userInfo.CultureName))
            {
                CultureName = userInfo.CultureName;
            }

            FillConacts(userInfo);

            if (CheckContext(context, "groups") || CheckContext(context, "department"))
            {
                var groups = CoreContext.UserManager.GetUserGroups(userInfo.ID).Select(x => new GroupWrapperSummary(x)).ToList();

                if (groups.Any())
                {
                    Groups     = groups;
                    Department = string.Join(", ", Groups.Select(d => d.Name.HtmlEncode()));
                }
                else
                {
                    Department = "";
                }
            }

            if (CheckContext(context, "avatarMedium"))
            {
                AvatarMedium = UserPhotoManager.GetMediumPhotoURL(userInfo.ID) + "?_=" + userInfo.LastModified.GetHashCode();
            }

            if (CheckContext(context, "avatar"))
            {
                Avatar = UserPhotoManager.GetBigPhotoURL(userInfo.ID) + "?_=" + userInfo.LastModified.GetHashCode();
            }

            IsAdmin = userInfo.IsAdmin();

            if (CheckContext(context, "listAdminModules"))
            {
                var listAdminModules = userInfo.GetListAdminModules();

                if (listAdminModules.Any())
                {
                    ListAdminModules = listAdminModules;
                }
            }

            IsOwner = userInfo.IsOwner();

            IsLDAP = userInfo.IsLDAP();
            IsSSO  = userInfo.IsSSO();
        }