Example #1
0
 /* Board ID Retrieval Response */
 public static int decodeBoardIDGetResponse(byte[] buffer,
                                            int offset,
                                            int length,
                                            BoardID id)
 {
     if (length < BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH)
     {
         return(0);
     }
     if ((buffer[0] == PACKET_START_CHAR) &&
         (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) &&
         (buffer[2] == BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH - 2) &&
         (buffer[3] == MSGID_BOARD_IDENTITY_RESPONSE))
     {
         if (!verifyChecksum(buffer, offset, BOARD_IDENTITY_RESPONSE_CHECKSUM_INDEX))
         {
             return(0);
         }
         id.type         = buffer[BOARD_IDENTITY_BOARDTYPE_VALUE_INDEX];
         id.hw_rev       = buffer[BOARD_IDENTITY_HWREV_VALUE_INDEX];
         id.fw_ver_major = buffer[BOARD_IDENTITY_FW_VER_MAJOR];
         id.fw_ver_minor = buffer[BOARD_IDENTITY_FW_VER_MINOR];
         id.fw_revision  = decodeBinaryUint16(buffer, BOARD_IDENTITY_FW_VER_REVISION_VALUE_INDEX);
         for (int i = 0; i < 12; i++)
         {
             id.unique_id[i] = buffer[BOARD_IDENTITY_UNIQUE_ID_0 + i];
         }
         return(BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH);
     }
     return(0);
 }
Example #2
0
        public override int GetHashCode()
        {
            int hash = GetType().GetHashCode();

            hash = (hash * 397) ^ SessionID.GetHashCode();
            hash = (hash * 397) ^ BoardID.GetHashCode();

            return(hash);
        }
    /// <summary>
    /// Creates where condition reflecting filter settings.
    /// </summary>
    private string GetFilterWhereCondition()
    {
        string where = String.Empty;

        // Sites dropdown list
        if (SelectedSiteID > 0)
        {
            where = SqlHelper.AddWhereCondition(where, "BoardSiteID = " + SelectedSiteID);
        }

        // Approved dropdown list
        switch (IsApproved.ToLowerCSafe())
        {
        case "yes":
            where = SqlHelper.AddWhereCondition(where, "MessageApproved = 1");
            break;

        case "no":
            where = SqlHelper.AddWhereCondition(where, "MessageApproved = 0");
            break;
        }

        // Spam dropdown list
        switch (IsSpam.ToLowerCSafe())
        {
        case "yes":
            where = SqlHelper.AddWhereCondition(where, "MessageIsSpam = 1");
            break;

        case "no":
            where = SqlHelper.AddWhereCondition(where, "MessageIsSpam = 0");
            break;
        }

        if (BoardID > 0)
        {
            where = SqlHelper.AddWhereCondition(where, "MessageBoardID = " + BoardID.ToString());
        }
        else
        {
            // Board dropdown list
            if (SelectedBoardID > 0)
            {
                where = SqlHelper.AddWhereCondition(where, "MessageBoardID = " + SelectedBoardID);
            }
            else if (GroupID > 0)
            {
                where = SqlHelper.AddWhereCondition(where, "BoardGroupID =" + GroupID);
            }
            else
            {
                where = SqlHelper.AddWhereCondition(where, "BoardGroupID IS NULL");
            }
        }

        if (txtUserName.Text.Trim() != "")
        {
            where = SqlHelper.AddWhereCondition(where, "MessageUserName LIKE '%" + txtUserName.Text.Trim().Replace("'", "''") + "%'");
        }

        if (txtMessage.Text.Trim() != "")
        {
            where = SqlHelper.AddWhereCondition(where, "MessageText LIKE '%" + txtMessage.Text.Trim().Replace("'", "''") + "%'");
        }

        return(where);
    }
    /// <summary>
    /// Initializes the controls.
    /// </summary>
    private void SetupControls()
    {
        btnFilter.Text = GetString("general.search");
        btnOk.Text     = GetString("general.ok");

        // Mass actions
        gridElem.GridOptions.ShowSelection = AllowMassActions;
        plcActions.Visible = AllowMassActions;

        lblSiteName.AssociatedControlClientID  = siteSelector.DropDownSingleSelect.ClientID;
        lblBoardName.AssociatedControlClientID = boardSelector.DropDownSingleSelect.ClientID;

        gridElem.IsLiveSite           = IsLiveSite;
        gridElem.OnAction            += gridElem_OnAction;
        gridElem.OnExternalDataBound += gridElem_OnExternalDataBound;
        gridElem.OnBeforeDataReload  += gridElem_OnBeforeDataReload;
        gridElem.ZeroRowsText         = GetString("general.nodatafound");

        btnOk.OnClientClick += "return MassConfirm('" + drpActions.ClientID + "'," + ScriptHelper.GetString(GetString("General.ConfirmGlobalDelete")) + ");";

        ScriptHelper.RegisterDialogScript(Page);

        if (GroupID == 0)
        {
            GroupID = QueryHelper.GetInteger("groupid", 0);
        }

        ReloadFilter();

        if (!RequestHelper.IsPostBack())
        {
            var defaultApproved = "NO";

            if (SelectedBoardID > 0)
            {
                // Check if board is moderated
                var boardInfo = BoardInfoProvider.GetBoardInfo(SelectedBoardID);
                if ((boardInfo != null) && (!boardInfo.BoardModerated))
                {
                    defaultApproved = "";
                }
            }

            // Preselect filter data
            PreselectFilter(String.Format(";;{0};;;{1};;", GroupID, defaultApproved));
        }

        if (GroupID > 0)
        {
            // Hide site selection
            plcSite.Visible = false;
        }

        if (BoardID > 0)
        {
            // Hide board selection
            plcBoard.Visible = false;

            // Hide site selection
            plcSite.Visible = false;

            if ((GroupID > 0) && IsLiveSite)
            {
                InitializeGroupNewMessage();
            }
        }

        siteSelector.UniSelector.OnSelectionChanged += UniSelector_OnSelectionChanged;

        // Reload message list script
        string board        = (BoardID > 0 ? BoardID.ToString() : boardSelector.Value.ToString());
        string group        = GroupID.ToString();
        string user         = HTMLHelper.HTMLEncode(txtUserName.Text);
        string message      = HTMLHelper.HTMLEncode(txtMessage.Text);
        string approved     = drpApproved.SelectedItem.Value;
        string spam         = drpSpam.SelectedItem.Value;
        bool   changemaster = QueryHelper.GetBoolean("changemaster", false);

        // Set site selector
        siteSelector.DropDownSingleSelect.AutoPostBack = true;
        siteSelector.AllowAll   = true;
        siteSelector.IsLiveSite = IsLiveSite;

        boardSelector.IsLiveSite = IsLiveSite;
        boardSelector.GroupID    = GroupID;

        if (!ShowFilter)
        {
            SiteInfo si = SiteInfoProvider.GetSiteInfo(SiteName);
            if (si != null)
            {
                siteId = si.SiteID;
            }
            if (SiteName == TreeProvider.ALL_SITES)
            {
                siteId = -1;
            }
        }
        else
        {
            // Collect values from filter controls
            siteId     = SelectedSiteID;
            IsApproved = drpApproved.SelectedValue.ToLowerCSafe();
            IsSpam     = drpSpam.SelectedValue.ToLowerCSafe();
        }


        if (siteId == 0)
        {
            siteId             = SiteContext.CurrentSiteID;
            siteSelector.Value = siteId;
        }

        SelectedSiteID = siteId;

        string cmdArg = siteId + ";" + board + ";" + group + ";" + user.Replace(";", "#sc#") + ";" +
                        message.Replace(";", "#sc#") + ";" + approved + ";" + spam + ";" + changemaster;

        btnRefreshHdn.CommandArgument = cmdArg;
        mPostBackRefference           = ControlsHelper.GetPostBackEventReference(btnRefreshHdn, null);
        ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "RefreshBoardList", ScriptHelper.GetScript("function RefreshBoardList(){" +
                                                                                                                mPostBackRefference + "}"));

        siteSelector.OnlyRunningSites = IsLiveSite;

        gridElem.WhereCondition = GetWhereCondition();

        if ((!RequestHelper.IsPostBack()) && (!string.IsNullOrEmpty(ItemsPerPage)))
        {
            gridElem.Pager.DefaultPageSize = ValidationHelper.GetInteger(ItemsPerPage, -1);
        }

        if (!String.IsNullOrEmpty(OrderBy))
        {
            gridElem.OrderBy = OrderBy;
        }
    }
Example #5
0
 /* Board ID Retrieval Response */
 public static int decodeBoardIDGetResponse(byte[] buffer,
                                             int offset,
                                             int length,
                                             BoardID id)
 {
     if (length < BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH) return 0;
     if ((buffer[0] == PACKET_START_CHAR) &&
          (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) &&
          (buffer[2] == BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH - 2) &&
          (buffer[3] == MSGID_BOARD_IDENTITY_RESPONSE))
     {
         if (!verifyChecksum(buffer, offset, BOARD_IDENTITY_RESPONSE_CHECKSUM_INDEX)) return 0;
         id.type = buffer[BOARD_IDENTITY_BOARDTYPE_VALUE_INDEX];
         id.hw_rev = buffer[BOARD_IDENTITY_HWREV_VALUE_INDEX];
         id.fw_ver_major = buffer[BOARD_IDENTITY_FW_VER_MAJOR];
         id.fw_ver_minor = buffer[BOARD_IDENTITY_FW_VER_MINOR];
         id.fw_revision = decodeBinaryUint16(buffer, BOARD_IDENTITY_FW_VER_REVISION_VALUE_INDEX);
         for (int i = 0; i < 12; i++)
         {
             id.unique_id[i] = buffer[BOARD_IDENTITY_UNIQUE_ID_0 + i];
         }
         return BOARD_IDENTITY_RESPONSE_MESSAGE_LENGTH;
     }
     return 0;
 }
Example #6
0
        public override string ToString()
        {
            var str = FirmwareVersion.ToString();

            return(BoardID.ToString() + " - Firmware Version: " + str.Substring(0, 4) + "-" + str.Substring(4, 2) + "-" + str.Substring(6, 2) + "-" + str.Substring(8, 2));
        }