コード例 #1
0
    private void InitBreadCrumbs()
    {
        ucBreadcrumbs.Items.Clear();

        ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem
        {
            Text          = GetString("Group_General.Boards.Boards.BackToSubscriptions"),
            OnClientClick = ControlsHelper.GetPostBackEventReference(lnkBackHidden) + "; return false;"
        });

        ucBreadcrumbs.AddBreadcrumb(new BreadcrumbItem());

        // Initialize subscription breadcrumbs
        if (SubscriptionID > 0)
        {
            BoardSubscriptionInfo subscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(SubscriptionID);
            if (subscription != null)
            {
                ucBreadcrumbs.Items[1].Text = subscription.SubscriptionEmail;
            }
        }
        else
        {
            ucBreadcrumbs.Items[1].Text = GetString("Group_General.Boards.Boards.NewSubscription");
        }
    }
コード例 #2
0
    /// <summary>
    /// On action event handling.
    /// </summary>
    /// <param name="actionName">Name of the action.</param>
    /// <param name="actionArgument">Parameter for the action.</param>
    protected void boardSubscriptions_OnAction(string actionName, object actionArgument)
    {
        int boardSubscriptionId = ValidationHelper.GetInteger(actionArgument, 0);

        switch (actionName.ToLowerCSafe())
        {
        case "delete":
            if (RaiseOnCheckPermissions(PERMISSION_MANAGE, this))
            {
                if (StopProcessing)
                {
                    return;
                }
            }

            try
            {
                BoardSubscriptionInfoProvider.DeleteBoardSubscriptionInfo(boardSubscriptionId);
            }
            catch (Exception ex)
            {
                ShowError(ex.Message);
            }

            break;

        case "approve":
            if (RaiseOnCheckPermissions(PERMISSION_MANAGE, this))
            {
                if (StopProcessing)
                {
                    return;
                }
            }

            // Approve BoardSubscriptionInfo object
            BoardSubscriptionInfo bsi = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(boardSubscriptionId);
            if ((bsi != null) && !bsi.SubscriptionApproved)
            {
                bsi.SubscriptionApproved = true;
                BoardSubscriptionInfoProvider.SetBoardSubscriptionInfo(bsi);

                // Send confirmation mail
                BoardInfo bi = BoardInfoProvider.GetBoardInfo(bsi.SubscriptionBoardID);
                if ((bi != null) && bi.BoardSendOptInConfirmation)
                {
                    BoardSubscriptionInfoProvider.SendConfirmationEmail(bsi, true);
                }

                // Log activity
                if (MembershipContext.AuthenticatedUser.UserID == UserID)
                {
                    Service <ICurrentContactMergeService> .Entry().UpdateCurrentContactEmail(bsi.SubscriptionEmail, MembershipContext.AuthenticatedUser);

                    BoardSubscriptionInfoProvider.LogSubscriptionActivity(bsi, bi, PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD, false);
                }
            }
            break;
        }
    }
コード例 #3
0
    /// <summary>
    /// Initializes the controls on the page.
    /// </summary>
    private void SetupControl()
    {
        // Get current subscription ID
        mSubscriptionId      = QueryHelper.GetInteger("subscriptionid", 0);
        mCurrentSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(mSubscriptionId);

        // Get current board and group ID
        boardId = QueryHelper.GetInteger("boardid", 0);
        groupId = QueryHelper.GetInteger("groupid", 0);

        BoardInfo boardObj = BoardInfoProvider.GetBoardInfo(boardId);

        if (boardObj != null)
        {
            // Check whether edited board belongs to group
            if ((boardObj.BoardGroupID == 0) || (groupId != boardObj.BoardGroupID))
            {
                EditedObject = null;
            }
        }

        boardSubscription.IsLiveSite          = false;
        boardSubscription.BoardID             = boardId;
        boardSubscription.GroupID             = groupId;
        boardSubscription.SubscriptionID      = mSubscriptionId;
        boardSubscription.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(boardSubscription_OnCheckPermissions);
        boardSubscription.OnSaved            += new EventHandler(boardSubscription_OnSaved);

        InitializeBreadcrumbs();
    }
コード例 #4
0
    /// <summary>
    /// Deletes message board subscription. Called when the "Delete subscription" button is pressed.
    /// Expects the CreateMessageBoardSubscription method to be run first.
    /// </summary>
    private bool DeleteMessageBoardSubscription()
    {
        // Get the tree structure
        TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

        // Get root document
        TreeNode root = tree.SelectSingleNode(SiteContext.CurrentSiteName, "/", null, true);

        if (root != null)
        {
            // Get the message board
            BoardInfo board = BoardInfoProvider.GetBoardInfo("MyNewBoard", root.DocumentID);
            if (board != null)
            {
                // Get the message board subscription
                BoardSubscriptionInfo deleteSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(board.BoardID, MembershipContext.AuthenticatedUser.UserID);

                // Delete the message board subscription
                BoardSubscriptionInfoProvider.DeleteBoardSubscriptionInfo(deleteSubscription);

                return(deleteSubscription != null);
            }
        }

        return(false);
    }
コード例 #5
0
    /// <summary>
    /// Gets and updates message board subscription. Called when the "Get and update subscription" button is pressed.
    /// Expects the CreateMessageBoardSubscription method to be run first.
    /// </summary>
    private bool GetAndUpdateMessageBoardSubscription()
    {
        // Get the tree structure
        TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

        // Get root document
        TreeNode root = tree.SelectSingleNode(SiteContext.CurrentSiteName, "/", null, true);

        if (root != null)
        {
            // Get the message board
            BoardInfo board = BoardInfoProvider.GetBoardInfo("MyNewBoard", root.DocumentID);
            if (board != null)
            {
                // Get the message board subscription
                BoardSubscriptionInfo updateSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(board.BoardID, MembershipContext.AuthenticatedUser.UserID);
                if (updateSubscription != null)
                {
                    // Update the properties
                    updateSubscription.SubscriptionEmail = updateSubscription.SubscriptionEmail.ToLowerCSafe();

                    // Update the subscription
                    BoardSubscriptionInfoProvider.SetBoardSubscriptionInfo(updateSubscription);

                    return(true);
                }
            }
        }

        return(false);
    }
    protected void boardSubscriptions_OnAction(string actionName, object actionArgument)
    {
        BoardSubscriptionInfo bsi = null;

        // Get currently processed subscription ID
        int subscriptionId = ValidationHelper.GetInteger(actionArgument, 0);

        if (subscriptionId > 0)
        {
            switch (actionName.ToLowerCSafe())
            {
            case "delete":
                if (!CheckPermissions("cms.messageboards", PERMISSION_MODIFY))
                {
                    return;
                }

                // Get subscription according current ID
                bsi = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(subscriptionId);
                if (bsi != null)
                {
                    if (chkSendConfirmationEmail.Checked && bsi.SubscriptionApproved)
                    {
                        BoardSubscriptionInfoProvider.SendConfirmationEmail(bsi, false);
                    }
                    BoardSubscriptionInfoProvider.DeleteBoardSubscriptionInfo(bsi);
                }
                break;

            case "approve":
                if (!CheckPermissions("cms.messageboards", PERMISSION_MODIFY))
                {
                    return;
                }

                // Approve ForumSubscriptionInfo object
                bsi = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(subscriptionId);
                if ((bsi != null) && !bsi.SubscriptionApproved)
                {
                    bsi.SubscriptionApproved = true;
                    BoardSubscriptionInfoProvider.SetBoardSubscriptionInfo(bsi);

                    if (chkSendConfirmationEmail.Checked)
                    {
                        BoardSubscriptionInfoProvider.SendConfirmationEmail(bsi, true);
                    }
                }
                break;

            default:
                break;
            }

            RaiseOnAction(actionName, actionArgument);
        }
    }
コード例 #7
0
    public override void ReloadData()
    {
        ClearForm();

        this.lblInfo.Visible  = false;
        this.lblError.Visible = false;

        // Get current subscription ID
        if (this.SubscriptionID > 0)
        {
            // Get current subscription info
            this.CurrentSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(this.SubscriptionID);
            EditedObject             = this.CurrentSubscription;

            // Load existing subscription data
            if (this.CurrentSubscription != null)
            {
                // If the subscription is related to the registered user
                if (this.CurrentSubscription.SubscriptionUserID > 0)
                {
                    // Load data
                    this.userSelector.Value      = this.CurrentSubscription.SubscriptionUserID;
                    this.txtEmailRegistered.Text = this.CurrentSubscription.SubscriptionEmail;

                    this.radRegisteredSubscription.Checked = true;
                    this.radAnonymousSubscription.Checked  = false;

                    ProcessDisabling(false);
                }
                else
                {
                    // Load data
                    this.txtEmailAnonymous.Text = this.CurrentSubscription.SubscriptionEmail;

                    this.radAnonymousSubscription.Checked  = true;
                    this.radRegisteredSubscription.Checked = false;

                    ProcessDisabling(true);
                }
            }
        }
        else
        {
            this.radAnonymousSubscription.Checked  = true;
            this.radRegisteredSubscription.Checked = false;

            ProcessDisabling(true);
        }

        if (QueryHelper.GetBoolean("saved", false))
        {
            // Display info on success if subscription is edited
            this.lblInfo.Text    = GetString("general.changessaved");
            this.lblInfo.Visible = true;
        }
    }
コード例 #8
0
    public override void ReloadData()
    {
        ClearForm();

        // Get current subscription ID
        if (SubscriptionID > 0)
        {
            // Get current subscription info
            CurrentSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(SubscriptionID);
            EditedObject        = CurrentSubscription;

            // Load existing subscription data
            if (CurrentSubscription != null)
            {
                // If the subscription is related to the registered user
                if (CurrentSubscription.SubscriptionUserID > 0)
                {
                    // Load data
                    userSelector.Value      = CurrentSubscription.SubscriptionUserID;
                    txtEmailRegistered.Text = CurrentSubscription.SubscriptionEmail;

                    radRegisteredSubscription.Checked = true;
                    radAnonymousSubscription.Checked  = false;

                    ProcessDisabling(false);
                }
                else
                {
                    // Load data
                    txtEmailAnonymous.Text = CurrentSubscription.SubscriptionEmail;

                    radAnonymousSubscription.Checked  = true;
                    radRegisteredSubscription.Checked = false;

                    ProcessDisabling(true);
                }

                chkSendConfirmationEmail.Checked = pnlSendConfirmationEmail.Visible = false;
            }
        }
        else
        {
            radAnonymousSubscription.Checked  = true;
            radRegisteredSubscription.Checked = false;

            ProcessDisabling(true);
        }

        if (QueryHelper.GetBoolean("saved", false))
        {
            // Display info on success if subscription is edited
            ShowChangesSaved();
        }
    }
コード例 #9
0
 private void InitBreadCrumbs()
 {
     // Initialize subscription breadcrumbs
     if (SubscriptionID > 0)
     {
         BoardSubscriptionInfo subscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(SubscriptionID);
         if (subscription != null)
         {
             lblEditSubscriptionBack.Text = breadCrumbsSeparator + HTMLHelper.HTMLEncode(subscription.SubscriptionEmail);
         }
     }
     else
     {
         lblEditSubscriptionBack.Text = breadCrumbsSeparator + GetString("Group_General.Boards.Boards.NewSubscription");
     }
 }
コード例 #10
0
    /// <summary>
    /// Initializes the controls on the page.
    /// </summary>
    private void SetupControl()
    {
        // Get current subscription ID
        mSubscriptionId = QueryHelper.GetInteger("subscriptionid", 0);
        if (mSubscriptionId > 0)
        {
            mCurrentSubscription = BoardSubscriptionInfoProvider.GetBoardSubscriptionInfo(mSubscriptionId);
            EditedObject         = mCurrentSubscription;
        }

        // Get current board ID
        mBoardId = QueryHelper.GetInteger("boardid", 0);

        boardSubscription.IsLiveSite     = false;
        boardSubscription.BoardID        = mBoardId;
        boardSubscription.SubscriptionID = mSubscriptionId;
        boardSubscription.OnSaved       += boardSubscription_OnSaved;

        InitializeBreadcrumbs();
    }