예제 #1
0
        public IHttpHandler GetDnnHttpHandler(RequestContext requestContext, int portal, int tab, string[] passThrough)
        {
            PortalController      pcontroller  = new PortalController();
            PortalInfo            pinfo        = pcontroller.GetPortal(portal);
            PortalAliasController pacontroller = new PortalAliasController();
            PortalAliasCollection pacollection = pacontroller.GetPortalAliasByPortalID(portal);
            //pacollection.
            //PortalSettings psettings = new PortalSettings(pinfo);
            PortalSettings psettings = new PortalSettings(tab, portal);               // 64 is the stats tab. TODO: get by page name and not hardcoded id

            foreach (string key in pacollection.Keys)
            {
                psettings.PortalAlias = pacollection[key];
            }
            TabController tcontroller = new TabController();

            // psettings.ActiveTab = tcontroller.GetTab(57, 0, true);                  // 57 is the profile tab.
            requestContext.HttpContext.Items["PortalSettings"] = psettings;

            requestContext.HttpContext.Items["UrlRewrite:OriginalUrl"] = requestContext.HttpContext.Request.RawUrl;
            //UserInfo uinfo = requestContext.HttpContext.User == null ? new UserInfo() : UserController.GetUserByName(psettings.PortalId, requestContext.HttpContext.User.Identity.Name);
            UserInfo uinfo = requestContext.HttpContext.User == null ? new UserInfo() : UserController.GetCachedUser(psettings.PortalId, requestContext.HttpContext.User.Identity.Name);

            requestContext.HttpContext.Items["UserInfo"] = uinfo;
            foreach (string s in passThrough)
            {
                requestContext.HttpContext.Items[s] = requestContext.RouteData.Values[s];
            }
            IHttpHandler page = BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(DotNetNuke.Framework.PageBase)) as IHttpHandler;

            return(page);
        }
        public override void DoWork()
        {
            try
            {
                // perform some task
                List <DNNSnapshotInfo> items;
                DNNSnapshotController  controller = new DNNSnapshotController();

                //string vText = HttpContext.Current.Request.Url.Host.ToString();
                items = controller.GetDNNSnapshotModules();


                // items[0].ToString();
                string myList    = "";
                string myMessage = "";

                string vPortalAlias = "";


                for (int i = 0; i <= items.Count - 1; i++)
                {
                    PortalAliasController paController    = new PortalAliasController();
                    PortalAliasCollection aliasCollection = paController.GetPortalAliasByPortalID(items[i].PortalID);
                    IDictionaryEnumerator hs = aliasCollection.GetEnumerator();
                    hs.MoveNext();
                    PortalAliasInfo paInfo = (PortalAliasInfo)hs.Entry.Value;

                    vPortalAlias = paInfo.HTTPAlias;


                    if (CheckPage("http://" + vPortalAlias + "/Default.aspx?TabID=" + items[i].TabID.ToString() + "&ScheduledTask=true", out myMessage) == true)
                    {
                        myList += "Status " + myMessage + " - Tab " + items[i].TabID.ToString() + " Loaded!<br>";
                    }
                    else
                    {
                        myList += myMessage + " - ERROR!!!<br>";
                    }
                }


                // report success to the scheduler framework
                ScheduleHistoryItem.Succeeded = true;
                this.ScheduleHistoryItem.AddLogNote("Processing completed at " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "<br>" + myList.ToString());
            }
            catch (Exception exc)
            {
                ScheduleHistoryItem.Succeeded = false;
                ScheduleHistoryItem.AddLogNote("EXCEPTION: " + exc.ToString());
                Errored(ref exc);
                Exceptions.LogException(exc);
            }
        }
        public ActionResult AddSiteAlias(UpdateSiteAliasRequest request)
        {
            ActionResult actionResult = new ActionResult();

            try
            {
                int pid = request.PortalId ?? PortalSettings.Current.PortalId;
                if (!UserInfo.IsSuperUser && pid != PortalSettings.Current.PortalId)
                {
                    actionResult.AddError(HttpStatusCode.Unauthorized.ToString(), Components.Constants.AuthFailureMessage);
                }

                string strAlias = request.HTTPAlias;
                if (!string.IsNullOrEmpty(strAlias))
                {
                    strAlias = strAlias.Trim();
                }

                if (IsHttpAliasValid(strAlias))
                {
                    PortalAliasCollection aliases = PortalAliasController.Instance.GetPortalAliases();
                    if (aliases.Contains(strAlias))
                    {
                        actionResult.AddError(HttpStatusCode.BadRequest.ToString(), string.Format(Localization.GetString("DuplicateAlias", Dnn.PersonaBar.SiteSettings.Components.Constants.Constants.LocalResourcesFile)));
                    }

                    if (actionResult.IsSuccess)
                    {
                        Enum.TryParse(request.BrowserType, out BrowserTypes browser);
                        PortalAliasInfo portalAlias = new PortalAliasInfo()
                        {
                            PortalID    = pid,
                            HTTPAlias   = strAlias,
                            Skin        = request.Skin,
                            CultureCode = request.CultureCode,
                            BrowserType = browser,
                            IsPrimary   = request.IsPrimary
                        };
                        PortalAliasController.Instance.AddPortalAlias(portalAlias);
                        actionResult.Data = new { SiteAliases = Managers.DomainManager.GetSiteAliases(PortalSettings.Current.PortalId, UserInfo).Data };
                    }
                }
                else
                {
                    actionResult.AddError(HttpStatusCode.BadRequest.ToString(), string.Format(Localization.GetString("InvalidAlias", Dnn.PersonaBar.SiteSettings.Components.Constants.Constants.LocalResourcesFile)));
                }
            }
            catch (Exception exc)
            {
                actionResult.AddError(HttpStatusCode.InternalServerError.ToString(), exc.Message);
            }
            return(actionResult);
        }
        private string GetPortalAlias(int PortalId)
        {
            PortalAliasController paController = new PortalAliasController();
            PortalAliasCollection paCollection = paController.GetPortalAliasByPortalID(PortalId);



            foreach (DictionaryEntry pa in paCollection)
            {
                PortalAliasInfo paI = (PortalAliasInfo)pa.Value;

                return(paI.HTTPAlias);
            }

            return("PortalAlias not found");
        }
예제 #5
0
        /// <summary>
        /// returns the portalId or -1 if something goes wrong
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static int getPortalId(HttpContext context)
        {
            int    retVal = -1;
            string url    = getUriWithoutProtocol(context.Request.Url);
            PortalAliasController controller      = new PortalAliasController();
            PortalAliasCollection aliasCollection = controller.GetPortalAliases();

            foreach (string key in aliasCollection.Keys)
            {
                PortalAliasInfo info = aliasCollection[key] as PortalAliasInfo;
                if (url.StartsWith(info.HTTPAlias))
                {
                    retVal = info.PortalID;
                }
            }
            return(retVal);
        }
예제 #6
0
        /// <summary>
        /// returns the portalId or -1 if something goes wrong
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public void setPortalIdAndPageName(HttpContext context)
        {
            portalId = -1;
            asmxName = null;

            string url = getUriWithoutProtocol(context.Request.Url);
            PortalAliasController controller      = new PortalAliasController();
            PortalAliasCollection aliasCollection = controller.GetPortalAliases();

            foreach (string key in aliasCollection.Keys)
            {
                PortalAliasInfo info = aliasCollection[key] as PortalAliasInfo;
                if (url.StartsWith(info.HTTPAlias))
                {
                    portalId = info.PortalID;
                    asmxName = url.Substring(info.HTTPAlias.Length + 1);
                }
            }
        }