Exemple #1
0
        protected void Back_Click(object o, EventArgs e)
        {
            WebBackEnd remoteObj = (WebBackEnd)Session["RemObj"];

            //if (IsPostBack && HttpContext.Current.Session.IsNewSession)
            if (remoteObj == null)
            {
                Output.Text  = enableSessionMsg;
                Back.Visible = Forward.Visible = GlobalSearchCheckBox.Visible = false;
                return;
            }

            if ((remoteObj == null) || !(remoteObj.allowGlobalAccess || isLocalReq()))
            {
                Output.Text        = localReqOnlyMsg;
                Back.Visible       = Forward.Visible = GlobalSearchCheckBox.Visible = false;
                sourceList.Enabled = SearchBox.Enabled = Search.Enabled = false;
                return;
            }

            string sessId = Session.SessionID;

            SearchBox.Text           = (string)Session["SearchString"];
            sourceList.SelectedValue = (string)Session["Source"];

            //if (remoteObj == null)  { Output.Text = NO_RESULTS; return; }

            string response = "";

            try {
                response = convertUrls(remoteObj.doBack(sessId));
            }
            catch (Exception ex)
            {
                response = "Exception in WebBackEnd:doBack method\n";
                Console.WriteLine("WebFrontEnd: Caught Exception in WebBackEnd:doBack()\n" + ex.Message);
            }

            Session["ResultsOnDisplay"] = Output.Text = HeaderMsg + response;

            GlobalSearchCheckBox.Checked = (bool)Session["GlobalCheckBox"];
            Back.Enabled    = (remoteObj != null) && (remoteObj.canBack(sessId));
            Forward.Enabled = (remoteObj != null) && (remoteObj.canForward(sessId));
        }
Exemple #2
0
        protected void Page_Load(Object o, EventArgs e)
        {
            //note: this web-form relies on availability of Session information either through
            //     cookies or modified Url. It won't work if persistent session id is not available.

            string sessId = Session.SessionID;

            Output.Visible = Back.Visible = Forward.Visible = true;

            if (Session["ResultsOnDisplay"] != null &&
                ((string)Session["ResultsOnDisplay"]).StartsWith(HeaderMsg + NO_RESULTS))
            {
                Back.Visible = Forward.Visible = false;
            }

            string actionString         = null;
            bool   queryStringProcessed = false;

            string reqUrl = Request.Url.ToString();
            int    index  = reqUrl.IndexOf(".aspx?");

            if (index > 0)
            {
                actionString = reqUrl.Substring(index + ".aspx?".Length);
            }

            if (!IsPostBack)
            {
                //HTTP GET request
                if (actionString == null)
                {
                    //HTTP Get without any query string
                    if (Session["ResultsOnDisplay"] == null)
                    {
                        //First access
                        Output.Visible = false;
                        Back.Visible   = Forward.Visible = false;

                        int index1 = reqUrl.IndexOf(".aspx");
                        if ((index1 > 0) && (index1 + ".aspx".Length < reqUrl.Length))
                        {
                            Session["InitialReqUrl"] = reqUrl.Substring(0, index1 + ".aspx".Length);
                        }
                        else
                        {
                            Session["InitialReqUrl"] = reqUrl;
                        }

                        Session["SearchString"]  = "";
                        Session["Source"]        = "Anywhere";
                        sourceList.SelectedValue = "Anywhere";

                        if (Session["GlobalCheckBox"] == null)
                        {
                            //GlobalSearchCheckBox.Visible = ((string)Session["Source"]).Equals("Anywhere");
                            //By default, NetBeagleSearch checkbox is checked for local access & unchecked for ext. access
                            GlobalSearchCheckBox.Checked = isLocalReq()? true:false;
                            Session["GlobalCheckBox"]    = GlobalSearchCheckBox.Checked;
                        }
                    }
                    else
                    {
                        //Redirected from Tile-Action invocation, restore Results
                        SearchBox.Text           = (string)Session["SearchString"];
                        sourceList.SelectedValue = (string)Session["Source"];

                        Output.Text = (string)Session["ResultsOnDisplay"];
                        WebBackEnd remoteObj = (WebBackEnd)Session["RemObj"];
                        if (remoteObj != null)
                        {
                            Back.Enabled    = remoteObj.canBack(sessId);
                            Forward.Enabled = remoteObj.canForward(sessId);
                            GlobalSearchCheckBox.Visible = (remoteObj.NetworkBeagleActive) && (sourceList.SelectedValue.Equals("Anywhere"));

                            if (!isLocalReq() && (((string)TitleLabel.Text).IndexOf("host") < 0))
                            {
                                TitleLabel.Text += "  from host: " + remoteObj.HostName;
                            }
                        }
                        GlobalSearchCheckBox.Checked = (bool)Session["GlobalCheckBox"];
                    }
                }
                else               //HTTP-Get request with query string:
                                   //Initial web query initiated via HTTP Get (firefox search bar):

                {
                    string searchString     = null;
                    NameValueCollection nvc = Request.QueryString;

                    if ((nvc != null) && (nvc.Count != 0) &&
                        ((searchString = nvc["text"]) != null))
                    {
                        SearchBox.Text          = searchString;
                        Session["SearchString"] = searchString;

                        string source = null;
                        if ((source = nvc["source"]) != null)
                        {
                            switch (source.ToLower())
                            {
                            case "files":           sourceList.SelectedValue = "Files";
                                break;

                            case "addressbook": sourceList.SelectedValue = "Contact";
                                break;

                            case "mail":               sourceList.SelectedValue = "MailMessage";
                                break;

                            case "web":               sourceList.SelectedValue = "WebHistory";
                                break;

                            case "chats":           sourceList.SelectedValue = "IMLog";
                                break;

                            case "anywhere":
                            default:                        sourceList.SelectedValue = "Anywhere";
                                break;
                            }
                        }
                        else
                        {
                            sourceList.SelectedValue = "Anywhere";
                        }

                        Session["Source"]            = sourceList.SelectedValue;
                        GlobalSearchCheckBox.Visible = ((string)Session["Source"]).Equals("Anywhere");
                        //By default, NetBeagleSearch checkbox is checked for local access & unchecked for ext. access
                        GlobalSearchCheckBox.Checked = isLocalReq()? true:false;
                        Session["GlobalCheckBox"]    = GlobalSearchCheckBox.Checked;

                        if (Session["ResultsOnDisplay"] == null)
                        {
                            int index2 = reqUrl.IndexOf(".aspx");
                            if ((index2 > 0) && (index2 + ".aspx".Length < reqUrl.Length))
                            {
                                Session["InitialReqUrl"] = reqUrl.Substring(0, index2 + ".aspx".Length);
                            }
                            else
                            {
                                Session["InitialReqUrl"] = reqUrl;
                            }
                        }

                        queryStringProcessed = true;

                        Search_Click(o, e);

                        //Redirect client to initial Beagle webaccess URL:
                        Response.Redirect((string)Session["InitialReqUrl"]);
                    }
                }  //end else for if (actionString == null)
            }      //end if (!IsPostBack)

            //Process Tile!Action HTTP-Get request, if user has clicked on one:
            if (actionString != null && !queryStringProcessed)
            {
                WebBackEnd remoteObj = (WebBackEnd)Session["RemObj"];

                if (remoteObj != null)
                {
                    if (isLocalReq())
                    {
                        remoteObj.dispatchAction(sessId, actionString);
                    }
                }
                else
                {
                    Output.Text  = enableSessionMsg;
                    Back.Visible = Forward.Visible = GlobalSearchCheckBox.Visible = false;
                    return;
                }

                //Redirect client to initial Beagle webaccess URL:
                Response.Redirect((string)Session["InitialReqUrl"]);
            }
        }
Exemple #3
0
        protected void Search_Click(object o, EventArgs e)
        {
            //if (IsPostBack && Session.IsNewSession)
            if (Session["InitialReqUrl"] == null)
            {
                Output.Text  = enableSessionMsg;
                Back.Visible = Forward.Visible = GlobalSearchCheckBox.Visible = false;
                return;
            }

            if (SearchBox.Text.Trim() == "")
            {
                Output.Text  = HeaderMsg + NO_RESULTS;
                Back.Visible = Forward.Visible = false;

                Session["SearchString"]     = SearchBox.Text;
                Session["ResultsOnDisplay"] = Output.Text;
                Session["GlobalCheckBox"]   = GlobalSearchCheckBox.Checked;
                return;
            }

            string searchSrc = sourceList.SelectedItem.Value;

            if (searchSrc.Equals("Anywhere"))
            {
                searchSrc = null;
            }

            remoteChannel.Register();

            WebBackEnd remoteObj = (WebBackEnd)Session["RemObj"];

            if (remoteObj == null)
            {
                remoteObj = new WebBackEnd();
            }

            if ((remoteObj == null) || !(remoteObj.allowGlobalAccess || isLocalReq()))
            {
                Output.Text        = localReqOnlyMsg;
                Back.Visible       = Forward.Visible = GlobalSearchCheckBox.Visible = false;
                sourceList.Enabled = SearchBox.Enabled = Search.Enabled = false;
                return;
            }

            if (!isLocalReq() && (((string)TitleLabel.Text).IndexOf("host") < 0))
            {
                TitleLabel.Text += "  from host: " + remoteObj.HostName;
            }

            //Show check-box only if we have one or more NetworkedBeagle nodes configured:
            bool showGlobalCheckBox = (remoteObj.NetworkBeagleActive) && (searchSrc == null);

            //Setup arguments for WebBackEnd:doQuery()
            webArgs wargs = new webArgs();

            wargs.sessId       = Session.SessionID;
            wargs.searchString = SearchBox.Text;
            wargs.searchSource = searchSrc;
            wargs.isLocalReq   = isLocalReq();
            wargs.globalSearch = showGlobalCheckBox?GlobalSearchCheckBox.Checked:false;

            string response = "";

            try {
                response = remoteObj.doQuery(wargs);
            }
            catch (Exception ex)
            {
                response = "Exception in WebBackEnd:doQuery method\n";
                Console.WriteLine("WebFrontEnd: Caught Exception in WebBackEnd:doQuery()\n" + ex.Message);
            }

            if (response.StartsWith(NO_RESULTS))
            {
                Output.Text  = HeaderMsg + response;
                Back.Visible = Forward.Visible = false;
            }
            else
            {
                Output.Text     = HeaderMsg + convertUrls(response);
                Back.Enabled    = remoteObj.canBack(Session.SessionID);
                Forward.Enabled = remoteObj.canForward(Session.SessionID);
            }

            GlobalSearchCheckBox.Visible = showGlobalCheckBox;
            Session["GlobalCheckBox"]    = GlobalSearchCheckBox.Checked;
            Session["RemObj"]            = remoteObj;
            Session["ResultsOnDisplay"]  = Output.Text;
            Session["SearchString"]      = SearchBox.Text;
            Session["Source"]            = searchSrc;
        }