Пример #1
0
        public static string GetContentAsUser(ISession session, int user_id, string relativeuri)
        {
            ContentPageParameters p = new ContentPageParameters();

            p.UserAgent  = ManagedConfiguration.GetValue(session, "SnCore.Web.UserAgent", "SnCore/1.0");
            p.AuthCookie = GetUserAuthCookie(session, user_id);
            p.BaseUri    = GetBaseUri(session);
            p.HasOnline  = false;
            Uri pageuri = new Uri(p.BaseUri, relativeuri);

            return(ContentPage.GetContent(pageuri, p));
        }
Пример #2
0
        public static string GetContentAsAdmin(ISession session, string relativeuri)
        {
            Uri baseuri             = GetBaseUri(session);
            Uri pageuri             = new Uri(baseuri, relativeuri);
            ContentPageParameters p = new ContentPageParameters();

            p.UserAgent  = ManagedConfiguration.GetValue(session, "SnCore.Web.UserAgent", "SnCore/1.0");
            p.AuthCookie = GetAdminAuthCookie(session);
            p.BaseUri    = baseuri;
            p.HasOnline  = false;
            return(ContentPage.GetContent(pageuri, p));
        }
Пример #3
0
    public string GetContent()
    {
        Uri    uri     = new Uri(Request.Url, Url);
        string baseuri = SessionManager.WebsiteUrl;

        if (!baseuri.EndsWith("/"))
        {
            baseuri = baseuri + "/";
        }
        ContentPageParameters p = new ContentPageParameters();

        p.BaseUri   = new Uri(baseuri);
        p.HasOnline = true;
        p.Note      = inputNote.Text;
        p.UserAgent = SessionManager.GetCachedConfiguration("SnCore.Web.UserAgent", "SnCore/1.0");
        return(ContentPage.GetContent(uri, p));
    }
Пример #4
0
 public void linkFetch_Click(object sender, EventArgs e)
 {
     try
     {
         ContentPageParameters p = new ContentPageParameters();
         p.UserAgent = SessionManager.GetCachedConfiguration("SnCore.Web.UserAgent", "SnCore/1.0");
         Uri          pageuri = new Uri(inputUrl.Text);
         string       content = ContentPage.GetHttpContent(pageuri, p);
         HtmlPageInfo info    = HtmlPageInfoExtractor.Extract(content);
         if (string.IsNullOrEmpty(info.Title))
         {
             TransitPlace place = SessionManager.GetInstance <TransitPlace, int>(
                 PlaceId, SessionManager.PlaceService.GetPlaceById);
             info.Title = place.Name;
         }
         inputName.Text = info.Title.Trim();
     }
     catch (Exception ex)
     {
         throw new Exception(string.Format("Error retreiving {0}\n{1}",
                                           inputUrl.Text, ex.Message));
     }
 }
Пример #5
0
        public void RunMarketingCampaign(ISession session, ManagedSecurityContext sec)
        {
            IList campaigns = session.CreateCriteria(typeof(Campaign))
                              .Add(Expression.Eq("Active", true))
                              .List();

            foreach (Campaign campaign in campaigns)
            {
                if (IsStopping)
                {
                    break;
                }

                IList recepients = session.CreateCriteria(typeof(CampaignAccountRecepient))
                                   .Add(Expression.Eq("Sent", false))
                                   .Add(Expression.Eq("Campaign.Id", campaign.Id))
                                   .List();

                if (recepients.Count == 0)
                {
                    campaign.Active = false;
                    session.Save(campaign);
                    continue;
                }

                string baseuri = ManagedConfiguration.GetValue(session, "SnCore.WebSite.Url", "http://localhost/SnCore");
                if (!baseuri.EndsWith("/"))
                {
                    baseuri = baseuri + "/";
                }
                ContentPageParameters parameters = new ContentPageParameters();
                parameters.UserAgent = ManagedConfiguration.GetValue(session, "SnCore.Web.UserAgent", "SnCore/1.0");
                parameters.BaseUri   = new Uri(baseuri);
                string content = ContentPage.GetContent(new Uri(campaign.Url), parameters);

                foreach (CampaignAccountRecepient recepient in recepients)
                {
                    if (IsStopping)
                    {
                        break;
                    }

                    try
                    {
                        ManagedAccount m_recepient = new ManagedAccount(session, recepient.Account);

                        string mailto;
                        if (!m_recepient.TryGetVerifiedEmailAddress(out mailto, sec))
                        {
                            throw new Exception("No verified e-mail address.");
                        }

                        m_recepient.SendAccountEmailMessage(
                            campaign.SenderEmailAddress, mailto,
                            campaign.Name, content, true);

                        recepient.LastError = string.Empty;
                    }
                    catch (ThreadAbortException)
                    {
                        throw;
                    }
                    catch (Exception ex)
                    {
                        recepient.LastError = ex.Message;
                    }
                    finally
                    {
                        recepient.Modified = DateTime.UtcNow;
                        recepient.Sent     = true;
                        session.Save(recepient);
                        session.Flush();
                    }

                    Thread.Sleep(100);
                }

                Thread.Sleep(1000 * InterruptInterval);
            }
        }