protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(this.GetType());
            Page.ClientScript.RegisterClientScriptInclude(typeof(string), "skinsettingscontent_script", WebPath.GetPath("usercontrols/management/skinsettings/js/skinsettingscontent.js"));
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "skinsettings_style", "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + WebSkin.GetUserSkin().GetAbsoluteWebPath("usercontrols/management/skinsettings/css/<theme_folder>/skinsettings.css") + "\">", false);

            //Skin Settings
            var type = Request["type"] ?? "";

            if (type != "customization")
            {
                var settings = SettingsManager.Instance.LoadSettings<WebSkinSettings>(TenantProvider.CurrentTenantID);
                _currentSkin = settings.WebSkin;
            }
            else
            {
                _currentSkin = WebSkin.GetUserSkin();
            }

            var items = new List<object>();
            foreach (var s in WebSkin.Skins)
            {
                items.Add(new
                {
                    Id = s.ID,
                    Name = s.DisplayName,
                    Checked = string.Equals(s.ID, _currentSkin.ID, StringComparison.InvariantCultureIgnoreCase),
                    Folder = s.FolderName,
                    Path = WebImageSupplier.GetAbsoluteWebPath("skins/" + s.ID + ".png")
                });
            }

            skinRepeater.DataSource = items;
            skinRepeater.DataBind();
        }
Пример #2
0
        private static WebSkin MakeSkinFromDirectory(string dir)
        {
            if (File.Exists(dir + "\\skin.xml"))
            {
                var skin = new WebSkin();
                skin.FolderName = new DirectoryInfo(dir).Name;

                var doc = new XmlDocument();
                doc.Load(dir + "\\skin.xml");

                var list = doc.GetElementsByTagName("ID");
                if (list != null && list.Count > 0)
                {
                    skin.ID = list[0].InnerText;
                }

                list = doc.GetElementsByTagName("SortOrder");
                if (list != null && list.Count > 0)
                {
                    skin.SortOrder = Convert.ToInt32(list[0].InnerText);
                }

                list = doc.GetElementsByTagName("Name");
                if (list != null && list.Count > 0)
                {
                    skin.Name = list[0].InnerText;
                }

                list = doc.GetElementsByTagName("ASPTheme");
                if (list != null && list.Count > 0)
                {
                    skin.ASPTheme = list[0].InnerText;
                }

                list = doc.GetElementsByTagName("BaseCSSFileName");
                if (list != null && list.Count > 0)
                {
                    skin.BaseCSSFileName = list[0].InnerText;
                    skin.CSSFileNames.Add(skin.BaseCSSFileName);
                }

                list = doc.GetElementsByTagName("CSSFileName");
                if (list != null && list.Count > 0)
                {
                    foreach (XmlNode node in list)
                    {
                        skin.CSSFileNames.Add(node.InnerText);
                    }
                }
                return(skin);
            }
            return(null);
        }
Пример #3
0
        protected void Page_PreInit(object sender, EventArgs e)
        {
            //check if cookie from this portal
            if (SecurityContext.CurrentAccount is IUserAccount &&
                ((IUserAccount) SecurityContext.CurrentAccount).Tenant != CoreContext.TenantManager.GetCurrentTenant().TenantId)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            var currentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
            if (currentUser == Constants.LostUser || currentUser.Status != EmployeeStatus.Active)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            ProcessSecureFilter();

            if (!SecurityContext.IsAuthenticated
                && DocumentUtils.ParseShareLink(Request[UrlConstant.DocUrlKey]) == null)
            {
                //for demo
                if (SetupInfo.WorkMode == WorkMode.Promo)
                {
                    if (AutoAuthByPromo())
                    {
                        UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);

                        Response.Redirect("~/");
                        return;
                    }
                }

                var refererURL = Request.GetUrlRewriter().AbsoluteUri;
                if (!ValidateRefererUrl(refererURL))
                    refererURL = (string) Session["refererURL"];

                if (!AutoAuthByCookies() && !CoreContext.TenantManager.GetCurrentTenant().Public)
                {
                    Session["refererURL"] = refererURL;
                    Response.Redirect("~/auth.aspx");
                    return;
                }
            }

            if (SecurityContext.IsAuthenticated)
            {
                UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);

                //try
                //{
                //    StatisticManager.SaveUserVisit(TenantProvider.CurrentTenantID, SecurityContext.CurrentAccount.ID,
                //                                                     (currentProduct == null ? Guid.Empty : currentProduct.ProductID));
                //}
                //catch (Exception exc)
                //{
                //    Log.Error("failed save user visit", exc);
                //}

            }

            CurrentSkin = WebSkin.GetUserSkin();
            Theme = CurrentSkin.ASPTheme;

        }
Пример #4
0
        private static WebSkin MakeSkinFromDirectory(string dir)
        {
            if (File.Exists(dir + "\\skin.xml"))
            {
                var skin = new WebSkin();
                skin.FolderName = new DirectoryInfo(dir).Name;

                var doc = new XmlDocument();
                doc.Load(dir + "\\skin.xml");

                var list = doc.GetElementsByTagName("ID");
                if (list != null && list.Count > 0)
                    skin.ID = list[0].InnerText;

                list = doc.GetElementsByTagName("SortOrder");
                if (list != null && list.Count > 0)
                    skin.SortOrder = Convert.ToInt32(list[0].InnerText);

                list = doc.GetElementsByTagName("Name");
                if (list != null && list.Count > 0)
                    skin.Name = list[0].InnerText;

                list = doc.GetElementsByTagName("ASPTheme");
                if (list != null && list.Count > 0)
                    skin.ASPTheme = list[0].InnerText;

                list = doc.GetElementsByTagName("BaseCSSFileName");
                if (list != null && list.Count > 0)
                {
                    skin.BaseCSSFileName = list[0].InnerText;
                    skin.CSSFileNames.Add(skin.BaseCSSFileName);
                }

                list = doc.GetElementsByTagName("CSSFileName");
                if (list != null && list.Count > 0)
                {
                    foreach (XmlNode node in list)
                        skin.CSSFileNames.Add(node.InnerText);
                }
                return skin;
            }
            return null;
        }
Пример #5
0
        protected void Page_PreInit(object sender, EventArgs e)
        {
            if (MobileDetector.IsRequestMatchesMobile(Context))
            {
                Response.Redirect(CommonLinkUtility.GetFileWebViewerUrl(Request[UrlConstant.FileId]) +
                                  (string.IsNullOrEmpty(Request[UrlConstant.DocUrlKey]) ? "" : "&" + UrlConstant.DocUrlKey + "=" + Request[UrlConstant.DocUrlKey]));
            }

            if (!FileUtility.EnableHtml5)
            {
                Server.Transfer("editor.aspx", true);
            }

            //check if cookie from this portal
            if (SecurityContext.CurrentAccount is IUserAccount &&
                ((IUserAccount) SecurityContext.CurrentAccount).Tenant != CoreContext.TenantManager.GetCurrentTenant().TenantId)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            var currentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
            if (currentUser == Constants.LostUser || currentUser.Status != EmployeeStatus.Active)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            ProcessSecureFilter();

            if (!SecurityContext.IsAuthenticated
                && DocumentUtils.ParseShareLink(Request[UrlConstant.DocUrlKey]) == null)
            {
                //for demo
                if (SetupInfo.WorkMode == WorkMode.Promo)
                {
                    if (AutoAuthByPromo())
                    {
                        UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);

                        Response.Redirect("~/");
                        return;
                    }
                }

                var refererURL = Request.GetUrlRewriter().AbsoluteUri;
                if (!ValidateRefererUrl(refererURL))
                    refererURL = (string) Session["refererURL"];

                if (!AutoAuthByCookies() && !CoreContext.TenantManager.GetCurrentTenant().Public)
                {
                    Session["refererURL"] = refererURL;
                    Response.Redirect("~/auth.aspx");
                    return;
                }
            }

            if (SecurityContext.IsAuthenticated)
            {
                UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);
            }

            CurrentSkin = WebSkin.GetUserSkin();
            Theme = CurrentSkin.ASPTheme;
        }
Пример #6
0
        protected void Page_PreInit(object sender, EventArgs e)
        {
            //check if cookie from this portal
            if (SecurityContext.CurrentAccount is IUserAccount &&
                ((IUserAccount)SecurityContext.CurrentAccount).Tenant != CoreContext.TenantManager.GetCurrentTenant().TenantId)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            var currentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
            if (currentUser == Constants.LostUser || currentUser.Status != EmployeeStatus.Active)
            {
                SecurityContext.Logout();
                Response.Redirect("~/");
            }

            ProcessSecureFilter();

            var wizardSettings = SettingsManager.Instance.LoadSettings<WizardSettings>(TenantProvider.CurrentTenantID);
            if (Request["first"] == "1" && !string.IsNullOrEmpty(Request["id"]) && wizardSettings.Completed)
            {
                // wizardSettings.Completed - open source, Request["first"] - cloud
                wizardSettings.Completed = false;
                SettingsManager.Instance.SaveSettings(wizardSettings, TenantProvider.CurrentTenantID);
            }

            var smsAuthSettings = SettingsManager.Instance.LoadSettings<StudioSmsNotificationSettings>(TenantProvider.CurrentTenantID);

            if (!wizardSettings.Completed && !(this is confirm))
            {
                var successAuth = SecurityContext.IsAuthenticated;
                if (!successAuth)
                {
                    var cookie = Request["id"] ?? CookiesManager.GetCookies(CookiesType.AuthKey);
                    if (!string.IsNullOrEmpty(cookie))
                    {
                        successAuth = AuthByCookies(cookie);
                    }
                    if (!successAuth)
                    {
                        try
                        {
                            cookie = SecurityContext.AuthenticateMe(UserManagerWrapper.AdminID.ToString(), "admin");
                            successAuth = true;
                        }
                        catch (System.Security.SecurityException)
                        {
                        }
                    }
                    if (successAuth)
                    {
                        CookiesManager.SetCookies(CookiesType.AuthKey, cookie);
                        WebItemManager.Instance.ItemGlobalHandlers.Login(SecurityContext.CurrentAccount.ID);
                    }
                }
                if (!successAuth && !(this is Auth))
                {
                    Response.Redirect("~/auth.aspx");
                }
                if (successAuth && !(this is Wizard))
                {
                    Response.Redirect("~/wizard.aspx");
                }
            }
            else if (smsAuthSettings.Enable && Session["UserTransferData"] != null && !(this is confirm))
            {
                Response.Redirect(String.Format("~/Confirm.aspx?type={0}", ((UserTransferData)Session["UserTransferData"]).MobilePhoneActivationStatus == MobilePhoneActivationStatus.NotActivated ? ConfirmType.PhoneActivation : ConfirmType.PhoneAuth));
            }

            else if (!SecurityContext.IsAuthenticated && wizardSettings.Completed && !(this is confirm))
            {
                //for demo
                if (SetupInfo.WorkMode == WorkMode.Promo)
                {
                    if (AutoAuthByPromo())
                    {
                        UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);

                        Response.Redirect("~/");
                        return;
                    }
                }

                if (this is Auth && Session["refererURL"] == null && !string.IsNullOrEmpty(HttpContext.Current.Request.Params["id"]))
                {
                    var authCookie = HttpContext.Current.Request.Params["id"];
                    if (AuthByCookies(authCookie))
                    {
                        CookiesManager.SetCookies(CookiesType.AuthKey, authCookie);
                        var first = Request["first"] == "1";
                        if (first)
                        {
                            try
                            {
                                var tenant = CoreContext.TenantManager.GetCurrentTenant(false);
                                tenant.Name = Resources.Resource.StudioWelcomeHeader;
                                CoreContext.TenantManager.SaveTenant(tenant);
                            }
                            catch
                            {
                            }
                        }
                        Response.Redirect(VirtualPathUtility.ToAbsolute("~/") + (first ? "?first=1" : ""));
                        return;
                    }
                }

                if (!(this is Auth))
                {
                    var refererURL = Request.Url.AbsoluteUri;
                    if (!ValidateRefererUrl(refererURL))
                        refererURL = (string)Session["refererURL"];

                    if (!AutoAuthByCookies() && !CoreContext.TenantManager.GetCurrentTenant().Public)
                    {
                        Session["refererURL"] = refererURL;
                        Response.Redirect("~/auth.aspx");
                        return;
                    }
                }
            }

            else if (SecurityContext.IsAuthenticated && this is Auth && !this.IsLogout)
            {
                Response.Redirect("~/");
                return;
            }

            else if (this is Wizard && wizardSettings.Completed)
            {
                Response.Redirect("~/");
                return;
            }

            //check disable and public 
            var webitem = CommonLinkUtility.GetWebItemByUrl(Request.Url.ToString());
            if (webitem != null && webitem.IsDisabled())
            {
                Response.Redirect("~/");
                return;
            }


            if (SecurityContext.IsAuthenticated)
            {
                UserOnlineManager.Instance.RegistryOnlineUser(SecurityContext.CurrentAccount.ID);

                try
                {
                    StatisticManager.SaveUserVisit(TenantProvider.CurrentTenantID, SecurityContext.CurrentAccount.ID, CommonLinkUtility.GetProductID());
                }
                catch (Exception exc)
                {
                    Log.Error("failed save user visit", exc);
                }

            }

            CurrentSkin = WebSkin.GetUserSkin();
            Theme = CurrentSkin.ASPTheme;


            #region Init common javascript resources

            var commonJavascriptResources = "CommonJavascriptResources";
            if (!Page.ClientScript.IsClientScriptBlockRegistered(commonJavascriptResources))
            {
                var script = string.Format(@"
var CommonJavascriptResources = {{
	CancelConfirmMessage : '{0}'
}};", Resources.Resource.CancelConfirmMessage.ReplaceSingleQuote());
                Page.ClientScript.RegisterClientScriptBlock(typeof(string), commonJavascriptResources, script, true);
            }

            #endregion

            PersonalHelper.TransferRequest(this);


        }
Пример #7
0
 public static string GetImageFolderAbsoluteWebPath(Guid moduleID)
 {
     return(WebSkin.GetUserSkin().GetImageFolderAbsoluteWebPath(moduleID));
 }
Пример #8
0
        public static string GetAbsoluteWebPath(string imgFileName, Guid moduleID)
        {
            var skin = WebSkin.GetUserSkin();

            return(skin != null?skin.GetImageAbsoluteWebPath(imgFileName, moduleID) : null);
        }