protected void Page_Load(object sender, System.EventArgs e)
        {
            string ThreadID = ATC.Tools.URLParam("ThreadId");

            lbThreadTitle.Text = getThreadTitleById();

            string sSQLFirstLevel = string.Empty;
            string sSQL = string.Empty;
            string sSQLFilter = string.Empty;
            sSQLFirstLevel = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + ThreadID + " and IsPublished=1 and ParentID=0";
            sSQL = "SELECT [ID],[ParentID],[Subject],[PostDate],[Message],[PostType],[IsPublished],[UserID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            sSQLFilter = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            System.Data.DataSet dsTreeFirstLevel = ATC.Database.sqlExecuteDataSet(sSQLFirstLevel);
            System.Data.DataSet dsTree = ATC.Database.sqlExecuteDataSet(sSQL);
            if (dsTree.Tables[0].Rows.Count > 0)
            {
                string sKeyValue = ATC.Database.sqlGetFirst(sSQLFilter);

                HierarchicalXMLDataBuilder XmlData = new HierarchicalXMLDataBuilder();
                foreach (DataRow rFirst in dsTreeFirstLevel.Tables[0].Rows)
                {
                    XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", rFirst["ID"].ToString(), true, Request);
                }
                //XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", sKeyValue, ThreadViewPermission);
            }
            //printBtn.Text = Localization.GetString("Print");
            //closeBtn.Text = Localization.GetString("Close");
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            ThreadID = ATC.Tools.URLParam("ThreadId");

            lbThreadTitle.Text = getThreadTitleById();

            string sSQLFirstLevel = string.Empty;
            string sSQL = string.Empty;
            string sSQLFilter = string.Empty;
            sSQLFirstLevel = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + ThreadID + " and IsPublished=1 and ParentID=0";
            sSQL = "SELECT [ID],[ParentID],[Subject],[PostDate],[Message],[PostType],[IsPublished],[UserID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            sSQLFilter = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            System.Data.DataSet dsTreeFirstLevel = ATC.Database.sqlExecuteDataSet(sSQLFirstLevel);
            System.Data.DataSet dsTree = ATC.Database.sqlExecuteDataSet(sSQL);
            if (dsTree.Tables[0].Rows.Count > 0)
            {
                string sKeyValue = ATC.Database.sqlGetFirst(sSQLFilter);

                HierarchicalXMLDataBuilder XmlData = new HierarchicalXMLDataBuilder();
                foreach (DataRow rFirst in dsTreeFirstLevel.Tables[0].Rows)
                {
                    XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", rFirst["ID"].ToString(), true, Request);
                }
                //XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", sKeyValue, ThreadViewPermission);
            }

            string SQLStats = "SELECT COUNT(ID) AS 'Posts', COUNT(Distinct(UserId)) as 'Users' FROM uDebate_Forum_Posts"
                              + " WHERE (ThreadID =" + ThreadID + ")";
            System.Data.DataSet statistics = ATC.Database.sqlExecuteDataSet(SQLStats);

            TotalPosts.Text = statistics.Tables[0].Rows[0]["Posts"].ToString();
            TotalUsers.Text = statistics.Tables[0].Rows[0]["Users"].ToString();

            FetchNotes(ThreadID);
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            ThreadID = ATC.Tools.URLParam("ThreadId");

            lbThreadTitle.Text = getThreadTitleById();

            string sSQLFirstLevel = string.Empty;
            string sSQL           = string.Empty;
            string sSQLFilter     = string.Empty;

            sSQLFirstLevel = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + ThreadID + " and IsPublished=1 and ParentID=0";
            sSQL           = "SELECT [ID],[ParentID],[Subject],[PostDate],[Message],[PostType],[IsPublished],[UserID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            sSQLFilter     = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and ThreadID=" + ThreadID;
            System.Data.DataSet dsTreeFirstLevel = ATC.Database.sqlExecuteDataSet(sSQLFirstLevel);
            System.Data.DataSet dsTree           = ATC.Database.sqlExecuteDataSet(sSQL);
            if (dsTree.Tables[0].Rows.Count > 0)
            {
                string sKeyValue = ATC.Database.sqlGetFirst(sSQLFilter);

                HierarchicalXMLDataBuilder XmlData = new HierarchicalXMLDataBuilder();
                foreach (DataRow rFirst in dsTreeFirstLevel.Tables[0].Rows)
                {
                    XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", rFirst["ID"].ToString(), true, Request);
                }
                //XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", sKeyValue, ThreadViewPermission);
            }

            string SQLStats = "SELECT COUNT(ID) AS 'Posts', COUNT(Distinct(UserId)) as 'Users' FROM uDebate_Forum_Posts"
                              + " WHERE (ThreadID =" + ThreadID + ")";

            System.Data.DataSet statistics = ATC.Database.sqlExecuteDataSet(SQLStats);

            TotalPosts.Text = statistics.Tables[0].Rows[0]["Posts"].ToString();
            TotalUsers.Text = statistics.Tables[0].Rows[0]["Users"].ToString();

            FetchNotes(ThreadID);
        }
        private void LoadData()
        {
            string ThreadLinkCode = "";// ReadData("THREAD_POST_VIEW_THREAD_LINK");

            string PostLinkCode = "home"; // ReadData("THREAD_POST_VIEW_POST_LINK");
            // if (PostLinkCode == String.Empty) PostLinkCode = PageCode;

            try
            {
                string postAction = ATC.Tools.URLParam("PostAction").ToString();
                if (postAction != string.Empty)
                    ChangePostStatus(postAction);

                //btnReply.Visible = true;
                ibxOpenTreePrint.Visible = true;

                if (!Request.IsAuthenticated)
                {
                    ibxStartNewPost.Enabled = false;
                    ibxStartNewPost.Visible = false;
                    lbStartPosting.Visible = true;
                    lbStartPosting.Text = "<div class='dnnFormMessage dnnFormWarning'>" +
                        Localization.GetString("LoggedIn", LocalResourceFile) +
                     "  <a href='/" + System.Threading.Thread.CurrentThread.CurrentCulture.Name +
                     "/loginpage.aspx?returnurl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery) + "'>" +
                     Localization.GetString("Login", LocalResourceFile) + "</div>";
                }

                string msg = Server.UrlDecode(ATC.Tools.URLParam("msg"));
                string msgText = "<div class='dnnFormMessage dnnFormWarning'>" +
                    ATC.Translate.String("WARNING: The Forum is pre-moderated. Your post has been successfully submitted but will appear within a few hours, after approval by the Forum Moderators.", "", "EN") +
                    "</div>";
                //lblConfirm.Text = msg;
                if (msg == "alert")
                {
                    lbStartPosting.Text = msgText;
                    lbStartPosting.Visible = false;
                }
                string action = ATC.Tools.URLParam("Action").ToString();
                if (action == "newpost") PostReply();

                PrintHeadHeadDetails(true);
                #region Security
                string sThread = ATC.Tools.URLParam("Thread");
                string sSQLFirstLevel = string.Empty;
                string sSQL = string.Empty;
                string sSQLFilter = string.Empty;

                string ThreadID = ATC.Tools.URLParam("Thread");
                bool ThreadViewPermission = false;
                if (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByThread()
                    ||
                    (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByTopic())
                    ||
                    (DotNetNuke.Security.PortalSecurity.IsInRoles("Pilot Leaders"))
                   )
                {
                    ThreadViewPermission = true;
                }
                #endregion
                #region DrawPostDetails

                if (!Request.IsAuthenticated || ThreadViewPermission == false)
                {
                    sSQLFirstLevel = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + sThread + " and [IsPublished]=1 and Active=1 and ParentID=0";
                    sSQL = "SELECT [ID],[ParentID],[Subject],[PostDate],[Message],[PostType],[IsPublished],[UserID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1  and Active=1 AND ThreadID=" + sThread;
                    sSQLFilter = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE IsPublished=1 and Active=1 AND ThreadID=" + sThread;
                }
                else
                {
                    sSQLFirstLevel = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + sThread + "  and ParentID=0";
                    sSQL = "SELECT [ID],[ParentID],[Subject],[PostDate],[Message],[PostType],[IsPublished],[UserID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + sThread;
                    sSQLFilter = "SELECT [ID] FROM [uDebate_Forum_Posts] WHERE ThreadID=" + sThread;
                }

                System.Data.DataSet dsTreeFirstLevel = ATC.Database.sqlExecuteDataSet(sSQLFirstLevel);
                System.Data.DataSet dsTree = ATC.Database.sqlExecuteDataSet(sSQL);
                if (dsTree.Tables[0].Rows.Count > 0)
                {
                    string sKeyValue = ATC.Database.sqlGetFirst(sSQLFilter);
                    HierarchicalXMLDataBuilder XmlData = new HierarchicalXMLDataBuilder();

                    foreach (DataRow rFirst in dsTreeFirstLevel.Tables[0].Rows)
                    {
                        XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", rFirst["ID"].ToString(), ThreadViewPermission, PanelStartPosting, tblForums, Request);
                    }
                    //XmlData.BuildMap(TreeView1.Nodes, dsTree, "ID", "ParentID", "62", ThreadViewPermission, PanelStartPosting, tblForums);
                }
                else //Code when starting a thread
                {
                    if (Request.IsAuthenticated)
                    {
                        PanelHolder.Visible = true;
                    }

                    tblForums.Visible = false;
                    if (!Request.IsAuthenticated)
                    {
                        PanelStartPosting.Visible = false;
                        PanelStartPostingButtons.Visible = false;
                    }
                    else
                    {
                        string sThread_Status = ATC.Database.sqlGetFirst("SELECT [STATUS] FROM [uDebate_Forum_Threads] where ID=" + hdThreadId.Value.ToString());
                        if (sThread_Status == "1")//Einai anoixto to thread
                        {
                            PanelStartPosting.Visible = true;
                            PanelStartPostingButtons.Visible = true;
                            postMessageView.Visible = false;
                            lbStartingPostType.Visible = true;
                            fillStartingPostTypesButtons();
                        }
                        else
                        {
                            PanelHolder.Visible = false;
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message + ex.Source);
            }
        }