示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        mCurrentSiteID = SiteContext.CurrentSiteID;

        // Show info if activity logging is disabled (do not show anything if global objects or all sites is selected)
        ucDisabledModule.ParentPanel = pnlDis;
        pnlDis.Visible = !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(SiteContext.CurrentSiteName);

        // Initialize list and filter controls, display all activities
        listElem.SiteID             = UniSelector.US_ALL_RECORDS;
        listElem.OrderBy            = "ActivityCreated DESC";
        listElem.ShowSiteNameColumn = true;

        if (QueryHelper.GetInteger("saved", 0) == 1)
        {
            ShowChangesSaved();
        }

        // Set header actions (add button)
        var url = ResolveUrl("New.aspx?siteId=" + mCurrentSiteID);

        hdrActions.AddAction(new HeaderAction()
        {
            Text        = GetString("om.activity.newcustom"),
            RedirectUrl = url
        });
    }
示例#2
0
    /// <summary>
    /// Helper method, set authentication cookie and redirect to return URL or default page.
    /// </summary>
    /// <param name="ui">User info</param>
    /// <param name="user">Windows live user</param>
    private void SetAuthCookieAndRedirect(UserInfo ui)
    {
        // Create autentification cookie
        UserInfoProvider.SetAuthCookieWithUserData(ui.UserName, false, Session.Timeout, new string[] { "liveidlogin" });

        // Log activity
        if ((CMSContext.ViewMode == ViewModeEnum.LiveSite) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName))
        {
            int contactId = ModuleCommands.OnlineMarketingGetUserLoginContactID(ui);
            ActivityLogHelper.UpdateContactLastLogon(contactId);
            if (ActivitySettingsHelper.ActivitiesEnabledForThisUser(ui))
            {
                TreeNode currentDoc = CMSContext.CurrentDocument;
                ActivityLogProvider.LogLoginActivity(contactId, ui, URLHelper.CurrentRelativePath,
                                                     (currentDoc != null ? currentDoc.NodeID : 0), siteName, CMSContext.Campaign, (currentDoc != null ? currentDoc.DocumentCulture : null));
            }
        }

        // Redirect will be used on parent window
        if (WindowsLiveLogin.UseServerSideAuthorization)
        {
            // If there is some return url redirect there
            if (!String.IsNullOrEmpty(relativeURL))
            {
                URLHelper.Redirect(ResolveUrl(relativeURL));
            }
            else // Redirect to default page
            {
                URLHelper.Redirect(defaultPage);
            }
        }
    }
示例#3
0
    protected override void OnInit(EventArgs e)
    {
        string currSiteName = null;
        int    currSiteId   = 0;

        drpType.AdditionalDropDownCSSClass = "DropDownFieldFilter";

        // Get current site ID/name
        if (ContactHelper.IsSiteManager)
        {
            currSiteId   = SiteID;
            currSiteName = SiteInfoProvider.GetSiteName(currSiteId);
        }
        else
        {
            currSiteName = SiteContext.CurrentSiteName;
            currSiteId   = SiteContext.CurrentSiteID;
        }

        SiteID         = currSiteId;
        ShowSiteFilter = (currSiteId == UniSelector.US_ALL_RECORDS);
        ShowIPFilter   = ActivitySettingsHelper.IPLoggingEnabled(currSiteName);

        base.OnInit(e);
        btnReset.Text    = GetString("general.reset");
        btnReset.Click  += btnReset_Click;
        btnFilter.Click += btnSearch_Click;
    }
示例#4
0
    /// <summary>
    /// Logs "delete" activity
    /// </summary>
    /// <param name="documentName">Document name</param>
    /// <param name="nodeId">Document node ID</param>
    /// <param name="culture">Document culture</param>
    private void LogDeleteActivity(string documentName, int nodeId, string culture)
    {
        if (!this.LogActivity || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) && ActivitySettingsHelper.WikiContributionDeleteEnabled(siteName))
        {
            var data = new ActivityData()
            {
                ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                SiteID    = CMSContext.CurrentSiteID,
                Type      = PredefinedActivityType.USER_CONTRIB_DELETE,
                TitleData = documentName,
                NodeID    = nodeId,
                URL       = URLHelper.CurrentRelativePath,
                Culture   = culture,
                Campaign  = CMSContext.Campaign
            };
            ActivityLogProvider.LogActivity(data);
        }
    }
示例#5
0
    /// <summary>
    /// Logs "subscription" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    private void LogSubscriptionActivity(ForumSubscriptionInfo fsi, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fsi == null) || (fi == null) || !fi.ForumLogActivity ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.ForumPostSubscriptionEnabled(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID    = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.SUBSCRIPTION_FORUM_POST,
            TitleData    = fi.ForumName,
            ItemID       = fi.ForumID,
            ItemDetailID = fsi.SubscriptionID,
            URL          = URLHelper.CurrentRelativePath,
            NodeID       = CMSContext.CurrentDocument.NodeID,
            Culture      = CMSContext.CurrentDocument.DocumentCulture,
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#6
0
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="pollId">Poll</param>
    /// <param name="answers">Answers</param>
    private void LogActivity(PollInfo pi, string answers)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !IsLiveSite || (pi == null) || !pi.PollLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.PollVotingEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.POLL_VOTING,
            TitleData = pi.PollQuestion,
            ItemID    = pi.PollID,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Value     = answers,
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#7
0
    /// <summary>
    /// Logs "post" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    /// <param name="fi">Forum info</param>
    private void LogPostActivity(ForumPostInfo fp, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fp == null) || (fi == null) || !fi.ForumLogActivity ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.ForumPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", fp.PostUserMail);
        contactData.Add("ContactLastName", fp.PostUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        var data = new ActivityData()
        {
            ContactID    = contactId,
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.FORUM_POST,
            TitleData    = fi.ForumName,
            ItemID       = fi.ForumID,
            ItemDetailID = fp.PostId,
            URL          = URLHelper.CurrentRelativePath,
            NodeID       = CMSContext.CurrentDocument.NodeID,
            Culture      = CMSContext.CurrentDocument.DocumentCulture,
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string currSiteName = null;

        // Get current site ID/name
        if (ContactHelper.IsSiteManager)
        {
            currSiteId   = SiteID;
            currSiteName = SiteInfoProvider.GetSiteName(currSiteId);
        }
        else
        {
            currSiteName = CMSContext.CurrentSiteName;
            currSiteId   = CMSContext.CurrentSiteID;
        }

        bool globalObjectsSelected = (currSiteId == UniSelector.US_GLOBAL_RECORD);
        bool allSitesSelected      = (currSiteId == UniSelector.US_ALL_RECORDS);

        // Show warning if activity logging is disabled (do not show anything if global objects or all sites is selected)
        if (!ActivitySettingsHelper.OnlineMarketingEnabled(currSiteName))
        {
            lblDis.ResourceString = "om.onlinemarketing.disabled";
        }
        pnlDis.Visible = !globalObjectsSelected && !allSitesSelected && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currSiteName);

        // Initialize list and filter controls
        fltElem.SiteID  = currSiteId;
        listElem.SiteID = currSiteId;

        // Show site name column if activities of all sites are displayed
        listElem.ShowSiteNameColumn = allSitesSelected;
        fltElem.ShowSiteFilter      = allSitesSelected;

        fltElem.ShowIPFilter         = ActivitySettingsHelper.IPLoggingEnabled(currSiteName);
        listElem.ShowIPAddressColumn = fltElem.ShowIPFilter;

        listElem.OrderBy        = "ActivityCreated DESC";
        listElem.WhereCondition = fltElem.WhereCondition;

        if (QueryHelper.GetInteger("saved", 0) == 1)
        {
            lblInfo.Visible = true;
            lblInfo.Text    = GetString("general.changessaved");
        }

        // Set header actions (add button)
        string url = ResolveUrl("New.aspx?siteId=" + currSiteId);

        if (IsSiteManager)
        {
            url = URLHelper.AddParameterToUrl(url, "isSiteManager", "1");
        }
        string[,] actions  = new string[1, 8];
        actions[0, 0]      = "HyperLink";
        actions[0, 1]      = GetString("om.activity.newcustom");
        actions[0, 3]      = url;
        actions[0, 5]      = GetImageUrl("Objects/OM_Activity/add.png");
        hdrActions.Actions = actions;
    }
示例#9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string currSiteName = null;
        int    currSiteId   = 0;

        // Get current site ID/name
        if (ContactHelper.IsSiteManager)
        {
            currSiteId   = this.SiteID;
            currSiteName = SiteInfoProvider.GetSiteName(currSiteId);
        }
        else
        {
            currSiteName = CMSContext.CurrentSiteName;
            currSiteId   = CMSContext.CurrentSiteID;
        }

        bool globalObjectsSelected = (currSiteId == UniSelector.US_GLOBAL_RECORD);
        bool allSitesSelected      = (currSiteId == UniSelector.US_ALL_RECORDS);

        // Show warning if activity logging is disabled (do not show anything if global objects or all sites is selected)
        if (!ActivitySettingsHelper.OnlineMarketingEnabled(currSiteName))
        {
            lblDis.ResourceString = "om.onlinemarketing.disabled";
        }
        pnlDis.Visible = !globalObjectsSelected && !allSitesSelected && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currSiteName);

        CurrentMaster.HeaderActions.Actions[0, 3] = AddSiteQuery(CurrentMaster.HeaderActions.Actions[0, 3], QueryHelper.GetInteger("siteid", 0));
    }
示例#10
0
    /// <summary>
    /// Log activity (subscribing).
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogSubscribingActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardDisplayName,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#11
0
    /// <summary>
    /// Log activity
    /// </summary>
    /// <param name="gmi">Member info</param>
    /// <param name="logActivity">Determines whether activity logging is enabled for current group</param>
    /// <param name="groupDisplayName">Display name of the group</param>
    private void LogLeaveActivity(GroupMemberInfo gmi, bool logActivity, string groupDisplayName)
    {
        string siteName = CMSContext.CurrentSiteName;

        if (!logActivity || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || (gmi == null) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.JoiningAGroupEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.LEAVE_GROUP,
            TitleData = groupDisplayName,
            ItemID    = gmi.MemberGroupID,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#12
0
    /// <summary>
    /// Log activity (subscribing)
    /// </summary>
    /// <param name="bsi"></param>
    private void LogActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        int      contactId  = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", bsi.SubscriptionEmail);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);
        var data = new ActivityData()
        {
            ContactID = contactId,
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardName,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#13
0
    /// <summary>
    /// Log activity posting
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogCommentActivity(BoardMessageInfo bmi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bmi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", bmi.MessageEmail);
        contactData.Add("ContactWebSite", bmi.MessageURL);
        contactData.Add("ContactLastName", bmi.MessageUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID    = contactId,
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.MESSAGE_BOARD_COMMENT,
            TitleData    = bi.BoardDisplayName,
            ItemID       = bmi.MessageBoardID,
            URL          = URLHelper.CurrentRelativePath,
            ItemDetailID = bmi.MessageID,
            NodeID       = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture      = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#14
0
    /// <summary>
    /// Logs activity for subscribing/unsubscribing
    /// </summary>
    /// <param name="ui">User</param>
    /// <param name="newsletterId">Newsletter ID</param>
    /// <param name="subscribe">Subscribing/unsubscribing flag</param>
    /// <param name="siteId">Site ID</param>
    private void LogActivity(UserInfo ui, int newsletterId, bool subscribe, int siteId)
    {
        if ((sb == null) || (ui == null) || (CMSContext.ViewMode != ViewModeEnum.LiveSite) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(ui))
        {
            return;
        }

        if (sb.SubscriberType == SiteObjectType.USER)
        {
            if (subscribe && ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId) ||
                !subscribe && ActivitySettingsHelper.NewsletterUnsubscribeEnabled(siteId))
            {
                Newsletter news = NewsletterProvider.GetNewsletter(newsletterId);
                if ((news != null) && news.NewsletterLogActivity)
                {
                    var data = new ActivityData()
                    {
                        ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                        SiteID    = sb.SubscriberSiteID,
                        Type      = PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING,
                        TitleData = news.NewsletterName,
                        ItemID    = newsletterId,
                        URL       = URLHelper.CurrentRelativePath,
                        Campaign  = CMSContext.Campaign
                    };
                    ActivityLogProvider.LogActivity(data);
                }
            }
        }
    }
示例#15
0
    /// <summary>
    /// Reloads control with new data.
    /// </summary>
    public override void ReloadData()
    {
        this.ClearForm();
        pollObj = pollObj ?? PollInfoProvider.GetPollInfo(this.ItemID);

        if (pollObj == null)
        {
            return;
        }

        txtCodeName.Text    = pollObj.PollCodeName;
        txtDisplayName.Text = pollObj.PollDisplayName;
        txtTitle.Text       = pollObj.PollTitle;
        txtQuestion.Text    = pollObj.PollQuestion;

        if (pollObj.PollOpenFrom != DataHelper.DATETIME_NOT_SELECTED)
        {
            dtPickerOpenFrom.SelectedDateTime = pollObj.PollOpenFrom;
        }

        if (pollObj.PollOpenTo != DataHelper.DATETIME_NOT_SELECTED)
        {
            dtPickerOpenTo.SelectedDateTime = pollObj.PollOpenTo;
        }

        txtResponseMessage.Text         = pollObj.PollResponseMessage;
        chkAllowMultipleAnswers.Checked = pollObj.PollAllowMultipleAnswers;

        if (ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(this.SiteID))
        {
            plcOnline.Visible      = true;
            chkLogActivity.Checked = pollObj.PollLogActivity;
        }
    }
示例#16
0
    /// <summary>
    /// Runs the search.
    /// </summary>
    private void Search()
    {
        if (!string.IsNullOrEmpty(txtWord.Text))
        {
            string url = SearchResultsPageUrl;

            if (url.StartsWith("~"))
            {
                url = ResolveUrl(url.Trim());
            }

            url = URLHelper.UpdateParameterInUrl(url, "searchtext", HttpUtility.UrlEncode(txtWord.Text));
            url = URLHelper.UpdateParameterInUrl(url, "searchmode", SearchHelper.GetSearchModeString(SearchMode));

            // Log "internal search" activity
            string siteName = CMSContext.CurrentSiteName;
            if ((CMSContext.ViewMode == ViewModeEnum.LiveSite) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) &&
                ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) &&
                ActivitySettingsHelper.SearchEnabled(siteName))
            {
                ActivityLogProvider.LogInternalSearchActivity(CMSContext.CurrentDocument, ModuleCommands.OnlineMarketingGetCurrentContactID(),
                                                              CMSContext.CurrentSiteID, URLHelper.CurrentRelativePath, txtWord.Text, CMSContext.Campaign);
            }

            URLHelper.Redirect(url.Trim());
        }
    }
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="skuId">Product ID</param>
    /// <param name="skuName">Product name</param>
    /// <param name="Quantity">Quantity</param>
    private void LogProductAddedToSCActivity(int skuId, string skuName, int Quantity)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (!ActivitySettingsHelper.AddingProductToSCEnabled(siteName) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART,
            TitleData = skuName,
            Value     = Quantity.ToString(),
            ItemID    = skuId,
            URL       = URLHelper.CurrentRelativePath,
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
示例#18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string currSiteName = null;
        int    currSiteId   = 0;

        // Get current site ID/name
        if (ContactHelper.IsSiteManager)
        {
            currSiteId   = SiteID;
            currSiteName = SiteInfoProvider.GetSiteName(currSiteId);
        }
        else
        {
            currSiteName = CMSContext.CurrentSiteName;
            currSiteId   = CMSContext.CurrentSiteID;
        }

        bool globalObjectsSelected = (currSiteId == UniSelector.US_GLOBAL_RECORD);
        bool allSitesSelected      = (currSiteId == UniSelector.US_ALL_RECORDS);

        // Show warning if activity logging is disabled (do not show anything if global objects or all sites is selected)
        ucDisabledModule.SettingsKeys = "CMSEnableOnlineMarketing";
        ucDisabledModule.InfoText     = GetString("om.onlinemarketing.disabled");
        ucDisabledModule.ParentPanel  = pnlDis;

        pnlDis.Visible = !globalObjectsSelected && !allSitesSelected && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currSiteName);

        if (CurrentMaster.HeaderActions.ActionsList.Count > 0)
        {
            CurrentMaster.HeaderActions.ActionsList[0].RedirectUrl += URLHelper.Url.Query;
        }
    }
示例#19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Visible)
        {
            EnableViewState = false;
        }

        // Hide code name edit for simple mode
        if (DisplayMode == ControlDisplayModeEnum.Simple)
        {
            plcCodeName.Visible = false;
            plcUseHtml.Visible  = false;
        }

        pnlGeneral.GroupingText  = GetString("general.general");
        pnlAdvanced.GroupingText = GetString("forums.advancedsettings");
        pnlSecurity.GroupingText = GetString("forums.securitysettings");
        pnlEditor.GroupingText   = GetString("forums.editorsettings");
        pnlOptIn.GroupingText    = GetString("general.OptIn");

        txtGroupDisplayName.IsLiveSite = IsLiveSite;
        txtGroupDescription.IsLiveSite = IsLiveSite;
        txtOptInURL.IsLiveSite         = IsLiveSite;

        // Control initializations
        rfvGroupDisplayName.ErrorMessage = GetString("general.requiresdisplayname");
        rfvGroupName.ErrorMessage        = GetString("general.requirescodename");

        lblGroupDisplayName.Text  = GetString("Group_General.GroupDisplayNameLabel");
        lblGroupName.Text         = GetString("Group_General.GroupNameLabel");
        lblForumBaseUrl.Text      = GetString("Group_General.ForumBaseUrlLabel");
        lblUnsubscriptionUrl.Text = GetString("Group_General.UnsubscriptionUrlLabel");

        // Show on-line marketing settings
        string siteName = CMSContext.CurrentSiteName;

        plcOnline.Visible = (ActivitySettingsHelper.ForumPostSubscriptionEnabled(siteName) || ActivitySettingsHelper.ForumPostsEnabled(siteName)) &&
                            ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName);

        chkEnableOptIn.NotSetChoice.Text = chkSendOptInConfirmation.NotSetChoice.Text = GetString("general.sitesettings") + " (##DEFAULT##)";
        chkEnableOptIn.SetDefaultValue(ForumGroupInfoProvider.EnableDoubleOptIn(siteName));
        chkSendOptInConfirmation.SetDefaultValue(ForumGroupInfoProvider.SendOptInConfirmation(siteName));

        // Fill editing form
        if (!IsLiveSite && !RequestHelper.IsPostBack())
        {
            ReloadData();
        }

        // Show/hide URL textboxes
        plcBaseAndUnsubUrl.Visible = (DisplayMode != ControlDisplayModeEnum.Simple);

        SetUrl();
    }
示例#20
0
    /// <summary>
    /// Logs activity.
    /// </summary>
    /// <param name="bci">Blog comment info</param>
    /// <param name="nodeId">Docuemnt node ID</param>
    /// <param name="culture">Docuemnt culture</param>
    private void LogCommentActivity(BlogCommentInfo bci, int nodeId, string culture)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bci == null) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.BlogPostCommentsEnabled(siteName))
        {
            return;
        }

        if (bci.CommentPostDocumentID > 0)
        {
            // Load blog post settings and check if logging is enabled for current post
            TreeProvider tree     = new TreeProvider();
            TreeNode     blogPost = DocumentHelper.GetDocument(bci.CommentPostDocumentID, tree);

            if ((blogPost != null) && ValidationHelper.GetBoolean(blogPost.GetValue("BlogLogActivity"), false))
            {
                TreeNode blogNode = BlogHelper.GetParentBlog(bci.CommentPostDocumentID, false);
                string   blogName = null;
                if (blogNode != null)
                {
                    blogName = blogNode.DocumentName;
                }

                int contactID = ModuleCommands.OnlineMarketingGetCurrentContactID();
                var data      = new ActivityData()
                {
                    ContactID    = contactID,
                    SiteID       = CMSContext.CurrentSiteID,
                    Type         = PredefinedActivityType.BLOG_COMMENT,
                    TitleData    = blogName,
                    ItemID       = bci.CommentID,
                    URL          = URLHelper.CurrentRelativePath,
                    ItemDetailID = (blogNode != null ? blogNode.NodeID : 0),
                    NodeID       = nodeId,
                    Culture      = culture,
                    Campaign     = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);

                Dictionary <string, object> contactData = new Dictionary <string, object>();
                contactData.Add("ContactEmail", bci.CommentEmail);
                contactData.Add("ContactLastName", bci.CommentUserName);
                contactData.Add("ContactWebSite", bci.CommentUrl);
                ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactID);
            }
        }
    }
示例#21
0
    /// <summary>
    /// Logs activity.
    /// </summary>
    /// <param name="bpsi">Blog subscription info</param>
    /// <param name="nodeId">Docuemnt node ID</param>
    /// <param name="culture">Document culture</param>
    private void LogActivity(BlogPostSubscriptionInfo bpsi, int nodeId, string culture)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bpsi == null) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.BlogPostSubscriptionEnabled(siteName))
        {
            return;
        }

        if (bpsi.SubscriptionPostDocumentID > 0)
        {
            TreeProvider tree     = new TreeProvider();
            TreeNode     blogPost = DocumentHelper.GetDocument(bpsi.SubscriptionPostDocumentID, tree);

            if ((blogPost != null) && ValidationHelper.GetBoolean(blogPost.GetValue("BlogLogActivity"), false))
            {
                string   blogName = null;
                TreeNode blogNode = BlogHelper.GetParentBlog(bpsi.SubscriptionPostDocumentID, false);
                if (blogNode != null)
                {
                    blogName = blogNode.DocumentName;
                }

                // Update contact info according to subscribtion
                int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
                Dictionary <string, object> contactData = new Dictionary <string, object>();
                contactData.Add("ContactEmail", bpsi.SubscriptionEmail);
                ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

                var data = new ActivityData()
                {
                    ContactID    = contactId,
                    SiteID       = CMSContext.CurrentSiteID,
                    Type         = PredefinedActivityType.SUBSCRIPTION_BLOG_POST,
                    ItemDetailID = (blogNode != null ? blogNode.NodeID : 0),
                    TitleData    = bpsi.SubscriptionEmail,
                    URL          = URLHelper.CurrentRelativePath,
                    NodeID       = nodeId,
                    Value        = TextHelper.LimitLength(blogName, 250),
                    Culture      = culture,
                    Campaign     = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);
            }
        }
    }
示例#22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string currSiteName = null;

        // Get current site ID/name
        if (ContactHelper.IsSiteManager)
        {
            currSiteId   = SiteID;
            currSiteName = SiteInfoProvider.GetSiteName(currSiteId);
        }
        else
        {
            currSiteName = SiteContext.CurrentSiteName;
            currSiteId   = SiteContext.CurrentSiteID;
        }

        bool globalObjectsSelected = (currSiteId == UniSelector.US_GLOBAL_RECORD);
        bool allSitesSelected      = (currSiteId == UniSelector.US_ALL_RECORDS);

        // Show warning if activity logging is disabled (do not show anything if global objects or all sites is selected)
        ucDisabledModule.SettingsKeys = "CMSEnableOnlineMarketing";
        ucDisabledModule.InfoText     = GetString("om.onlinemarketing.disabled");
        ucDisabledModule.ParentPanel  = pnlDis;

        pnlDis.Visible = !globalObjectsSelected && !allSitesSelected && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currSiteName);

        // Initialize list and filter controls
        listElem.SiteID = currSiteId;

        // Show site name column if activities of all sites are displayed
        listElem.ShowSiteNameColumn  = allSitesSelected || globalObjectsSelected;
        listElem.ShowIPAddressColumn = ActivitySettingsHelper.IPLoggingEnabled(currSiteName);
        listElem.OrderBy             = "ActivityCreated DESC";

        if (QueryHelper.GetInteger("saved", 0) == 1)
        {
            ShowChangesSaved();
        }

        // Set header actions (add button)
        string url = ResolveUrl("New.aspx?siteId=" + currSiteId);

        if (IsSiteManager)
        {
            url = URLHelper.AddParameterToUrl(url, "isSiteManager", "1");
        }
        hdrActions.AddAction(new HeaderAction()
        {
            Text        = GetString("om.activity.newcustom"),
            RedirectUrl = url
        });
    }
    protected void srchDialog_DoSearch()
    {
        // Log "internal search" activity
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode == ViewModeEnum.LiveSite) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) &&
            ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) &&
            ActivitySettingsHelper.SearchEnabled(siteName))
        {
            ActivityLogProvider.LogInternalSearchActivity(CMSContext.CurrentDocument, ModuleCommands.OnlineMarketingGetCurrentContactID(),
                                                          CMSContext.CurrentSiteID, URLHelper.CurrentRelativePath, this.srchDialog.SearchForTextBox.Text, CMSContext.Campaign);
        }
    }
示例#24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (EditedObject != null)
        {
            ContactInfo ci = (ContactInfo)EditedObject;

            ucDisabledModule.TestSettingKeys = "CMSEnableOnlineMarketing;CMSCMActivitiesEnabled";
            ucDisabledModule.ParentPanel     = pnlDis;

            pnlDis.Visible = !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(SiteContext.CurrentSiteID);

            listElem.ShowSiteNameColumn = true;
            listElem.SiteID             = UniSelector.US_ALL_RECORDS;
            listElem.ContactID          = ci.ContactID;
            listElem.OrderBy            = "ActivityCreated DESC";

            // Init header action for new custom activities only if contact is not global, a custom activity type exists and user is authorized to manage activities
            if (ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(SiteContext.CurrentSiteName) && MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.ACTIVITIES, "ManageActivities"))
            {
                // Disable manual creation of activity if no custom activity type is available
                var activityType = ActivityTypeInfoProvider.GetActivityTypes()
                                   .WhereEquals("ActivityTypeIsCustom", 1)
                                   .WhereEquals("ActivityTypeEnabled", 1)
                                   .WhereEquals("ActivityTypeManualCreationAllowed", 1)
                                   .TopN(1)
                                   .Column("ActivityTypeID")
                                   .FirstOrDefault();

                if (activityType != null)
                {
                    // Prepare target URL
                    string url = ResolveUrl(string.Format("~/CMSModules/Activities/Pages/Tools/Activities/Activity/New.aspx?contactId={0}", ci.ContactID));

                    // Init header action
                    HeaderAction action = new HeaderAction()
                    {
                        Text        = GetString("om.activity.newcustom"),
                        RedirectUrl = url
                    };
                    CurrentMaster.HeaderActions.ActionsList.Add(action);
                }
            }

            if (!RequestHelper.IsPostBack() && QueryHelper.GetBoolean("saved", false))
            {
                // Display 'Save' message after new custom activity was created
                ShowChangesSaved();
            }
        }
    }
示例#25
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Visible)
        {
            this.EnableViewState = false;
        }

        // Hide code name edit for simple mode
        if (DisplayMode == ControlDisplayModeEnum.Simple)
        {
            this.plcCodeName.Visible = false;
            this.plcUseHtml.Visible  = false;
        }

        txtGroupDisplayName.IsLiveSite = this.IsLiveSite;
        txtGroupDescription.IsLiveSite = this.IsLiveSite;

        // Control initializations
        this.rfvGroupDisplayName.ErrorMessage = GetString("general.requiresdisplayname");
        this.rfvGroupName.ErrorMessage        = GetString("general.requirescodename");

        this.lblGroupDisplayName.Text  = GetString("Group_General.GroupDisplayNameLabel");
        this.lblGroupName.Text         = GetString("Group_General.GroupNameLabel");
        this.lblForumBaseUrl.Text      = GetString("Group_General.ForumBaseUrlLabel");
        this.lblUnsubscriptionUrl.Text = GetString("Group_General.UnsubscriptionUrlLabel");

        this.btnOk.Text = GetString("General.OK");

        // Show on-line marketing settings
        string siteName = CMSContext.CurrentSiteName;

        plcOnline.Visible = (ActivitySettingsHelper.ForumPostSubscriptionEnabled(siteName) || ActivitySettingsHelper.ForumPostsEnabled(siteName)) &&
                            ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName);

        // Fill editing form
        if (!this.IsLiveSite && !RequestHelper.IsPostBack())
        {
            ReloadData();
        }

        // Show/hide URL textboxes
        plcBaseAndUnsubUrl.Visible = (DisplayMode != ControlDisplayModeEnum.Simple);

        if (plcBaseAndUnsubUrl.Visible)
        {
            SetUrl();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int currSiteId = SiteContext.CurrentSiteID;

        bool globalObjectsSelected = (currSiteId == UniSelector.US_GLOBAL_RECORD);
        bool allSitesSelected      = (currSiteId == UniSelector.US_ALL_RECORDS);

        // Show info if activity logging is disabled (do not show anything if global objects or all sites is selected)
        ucDisabledModule.ParentPanel = pnlDis;
        pnlDis.Visible = !globalObjectsSelected && !allSitesSelected && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(SiteContext.CurrentSiteName);

        if (CurrentMaster.HeaderActions.ActionsList.Count > 0)
        {
            CurrentMaster.HeaderActions.ActionsList[0].RedirectUrl += RequestContext.CurrentQueryString;
        }
    }
    /// <summary>
    /// On btnEmpty click event.
    /// </summary>
    protected void btnEmpty_Click1(object sender, EventArgs e)
    {
        if (this.ShoppingCartInfoObj != null)
        {
            // Log activity "product removed" for all items in shopping cart
            string siteName = CMSContext.CurrentSiteName;
            if (!this.ShoppingCartControl.IsInternalOrder && (CMSContext.ViewMode == ViewModeEnum.LiveSite) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) &&
                ActivitySettingsHelper.RemovingProductFromSCEnabled(siteName))
            {
                this.ShoppingCartControl.TrackActivityAllProductsRemovedFromShoppingCart(this.ShoppingCartInfoObj, siteName, this.ContactID);
            }

            ShoppingCartInfoProvider.EmptyShoppingCart(this.ShoppingCartInfoObj);
            ReloadData();
        }
    }
示例#28
0
    /// <summary>
    /// Logs rating activity
    /// </summary>
    /// <param name="value">Rating value</param>
    private void LogActivity(double value)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.ContentRatingEnabled(siteName))
        {
            return;
        }

        bool     logActivity = false;
        TreeNode currentDoc  = CMSContext.CurrentDocument;

        if (currentDoc != null)
        {
            if (CMSContext.CurrentDocument.DocumentLogVisitActivity == null)
            {
                logActivity = ValidationHelper.GetBoolean(currentDoc.GetInheritedValue("DocumentLogVisitActivity", SiteInfoProvider.CombineWithDefaultCulture(siteName)), false);
            }
            else
            {
                logActivity = currentDoc.DocumentLogVisitActivity == true;
            }

            if (logActivity)
            {
                var data = new ActivityData()
                {
                    ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                    SiteID    = CMSContext.CurrentSiteID,
                    Type      = PredefinedActivityType.RATING,
                    TitleData = String.Format("{0} ({1})", value.ToString(), currentDoc.DocumentName),
                    URL       = URLHelper.CurrentRelativePath,
                    NodeID    = currentDoc.NodeID,
                    Value     = value.ToString(),
                    Culture   = currentDoc.DocumentCulture,
                    Campaign  = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);
            }
        }
    }
示例#29
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (CMSPage.EditedObject != null)
        {
            ContactInfo ci = (ContactInfo)CMSPage.EditedObject;

            // Check permission
            this.CheckReadPermission(ci.ContactSiteID);

            bool isGlobal = (ci.ContactSiteID == 0);
            bool isMerged = (ci.ContactMergedWithContactID > 0);

            // Show warning if activity logging is disabled
            string siteName = SiteInfoProvider.GetSiteName(ci.ContactSiteID);
            if (!ActivitySettingsHelper.OnlineMarketingEnabled(siteName))
            {
                lblDis.ResourceString = "om.onlinemarketing.disabled";
            }
            pnlDis.Visible = !isGlobal && !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName);

            // Show IP addresses if enabled
            fltElem.ShowIPFilter         = ActivitySettingsHelper.IPLoggingEnabled(siteName);
            fltElem.ShowSiteFilter       = this.IsSiteManager && isGlobal;
            listElem.ShowIPAddressColumn = fltElem.ShowIPFilter;


            // Restrict WHERE condition for activities of current site (if not in site manager)
            if (!this.IsSiteManager)
            {
                fltElem.SiteID = CMSContext.CurrentSiteID;
            }

            listElem.ContactID       = ci.ContactID;
            listElem.IsMergedContact = isMerged;
            listElem.IsGlobalContact = isGlobal;

            fltElem.ShowContactSelector    = isGlobal;
            listElem.ShowContactNameColumn = isGlobal;
            listElem.ShowSiteNameColumn    = this.IsSiteManager && isGlobal;
            listElem.ShowRemoveButton      = !isMerged && !isGlobal;
            listElem.OrderBy        = "ActivityCreated DESC";
            listElem.WhereCondition = fltElem.WhereCondition;
        }
    }
    private bool CreateOrder(ShoppingCartInfo shoppingCart)
    {
        try
        {
            // Set order culture
            shoppingCart.ShoppingCartCulture = LocalizationContext.PreferredCultureCode;
            // Update customer preferences
            CustomerInfoProvider.SetCustomerPreferredSettings(shoppingCart);
            // Create order
            ShoppingCartInfoProvider.SetOrder(shoppingCart);
        }
        catch (Exception ex)
        {
            // Log exception
            loggedExceptions.Add(ex);
            return(false);
        }

        if (shoppingCart.OrderId > 0)
        {
            // Track order conversion
            var name = ECommerceSettings.OrderConversionName(shoppingCart.SiteName);
            ECommerceHelper.TrackOrderConversion(shoppingCart, name);
            ECommerceHelper.TrackOrderItemsConversions(shoppingCart);
            // Log purchase activity
            if (ActivitySettingsHelper.ActivitiesEnabledForThisUser(MembershipContext.AuthenticatedUser))
            {
                var totalPriceInMainCurrency = shoppingCart.TotalPriceInMainCurrency;
                var formattedPrice           = CurrencyInfoProvider.GetFormattedPrice(totalPriceInMainCurrency, CurrencyInfoProvider.GetMainCurrency(shoppingCart.ShoppingCartSiteID));

                TrackActivityPurchasedProducts(shoppingCart, ContactID);
                TrackActivityPurchase(shoppingCart.OrderId,
                                      ContactID,
                                      totalPriceInMainCurrency,
                                      formattedPrice);
            }

            return(true);
        }

        LogError("Save order action failed", EVENT_CODE_SAVING);
        return(false);
    }