private static void read_highlights( XmlNodeReader NodeReader, Item_Aggregation HierarchyObject )
        {
            Item_Aggregation_Highlights highlight = new Item_Aggregation_Highlights();

            // Determine if this is a rotating type of highlight or not
            if (NodeReader.HasAttributes)
            {
                if (NodeReader.MoveToAttribute("type"))
                {
                    if (NodeReader.Value == "ROTATING")
                        HierarchyObject.Rotating_Highlights = true;
                }

                // The following three values are for reading legacy XML files.  These
                // data fields have been moved to be attached to the actual banner
                if (NodeReader.MoveToAttribute("bannerSide"))
                {

                    if (NodeReader.Value.Trim().ToUpper() == "RIGHT")
                    {
                        foreach( KeyValuePair<Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary )
                            banners.Value.Banner_Type = Item_Aggregation_Front_Banner.Item_Aggregation_Front_Banner_Type.RIGHT;
                    }
                    else
                    {
                        foreach (KeyValuePair<Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                            banners.Value.Banner_Type = Item_Aggregation_Front_Banner.Item_Aggregation_Front_Banner_Type.LEFT;
                    }
                }
                if (NodeReader.MoveToAttribute("bannerHeight"))
                {
                    foreach (KeyValuePair<Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                        banners.Value.Height = Convert.ToUInt16(NodeReader.Value);
                }
                if (NodeReader.MoveToAttribute("bannerWidth"))
                {
                    foreach (KeyValuePair<Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                        banners.Value.Width = Convert.ToUInt16(NodeReader.Value);
                }
            }

            while (NodeReader.Read())
            {
                // If this is the beginning tag for an element, assign the next values accordingly
                if (NodeReader.NodeType == XmlNodeType.Element)
                {
                    // Get the node name, trimmed and to upper
                    string nodeName = NodeReader.Name.Trim().ToUpper();

                    // switch the rest based on the tag name
                    string languageText;
                    switch (nodeName)
                    {
                        case "HI:SOURCE":
                            NodeReader.Read();
                            highlight.Image = NodeReader.Value.ToLower();
                            break;

                        case "HI:LINK":
                            NodeReader.Read();
                            highlight.Link = NodeReader.Value.ToLower();
                            break;

                        case "HI:TOOLTIP":
                            languageText = String.Empty;
                            if ((NodeReader.HasAttributes) && (NodeReader.MoveToAttribute("lang")))
                                languageText = NodeReader.Value.ToUpper();
                            NodeReader.Read();
                            highlight.Add_Tooltip( Web_Language_Enum_Converter.Code_To_Enum(languageText), NodeReader.Value );
                            break;

                        case "HI:TEXT":
                            languageText = String.Empty;
                            if ((NodeReader.HasAttributes) && (NodeReader.MoveToAttribute("lang")))
                                languageText = NodeReader.Value.ToUpper();
                            NodeReader.Read();
                            highlight.Add_Text(Web_Language_Enum_Converter.Code_To_Enum(languageText), NodeReader.Value);
                            break;
                    }
                }

                if (NodeReader.NodeType == XmlNodeType.EndElement)
                {
                    if (NodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHT" )
                    {
                        HierarchyObject.Highlights.Add(highlight);
                        highlight = new Item_Aggregation_Highlights();
                    }

                    if (NodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHTS")
                    {
                        // Done with all the highlights so return
                        return;
                    }
                }
            }
        }
        private void Highlight_Writer_Helper(TextWriter Output, int HighlightCounter, Item_Aggregation_Highlights Highlight, int Max_Text, int Max_Tooltips)
        {
            // Add the image line
            Output.WriteLine("<tr><td> &nbsp; &nbsp; <label for=\"admin_aggr_image_" + HighlightCounter + "\">Image:</label></td><td colspan=\"2\"><input class=\"admin_aggr_large_input\" name=\"admin_aggr_image_" + HighlightCounter + "\" id=\"admin_aggr_image_" + HighlightCounter + "\" type=\"text\" value=\"" + HttpUtility.HtmlEncode(Highlight.Image) + "\" onfocus=\"javascript:textbox_enter('admin_aggr_image_" + HighlightCounter + "', 'admin_aggr_large_input_focused')\" onblur=\"javascript:textbox_leave('admin_aggr_image_" + HighlightCounter + "', 'admin_aggr_large_input')\" /></td></tr>");

            // Add the link line
            Output.WriteLine("<tr><td> &nbsp; &nbsp; <label for=\"admin_aggr_link_" + HighlightCounter + "\">Link:</label></td><td colspan=\"2\"><input class=\"admin_aggr_large_input\" name=\"admin_aggr_link_" + HighlightCounter + "\" id=\"admin_aggr_image_" + HighlightCounter + "\" type=\"text\" value=\"" + HttpUtility.HtmlEncode(Highlight.Link) + "\" onfocus=\"javascript:textbox_enter('admin_aggr_image_" + HighlightCounter + "', 'admin_aggr_large_input_focused')\" onblur=\"javascript:textbox_leave('admin_aggr_link_" + HighlightCounter + "', 'admin_aggr_large_input')\" /></td></tr>");

            // Add lines for the text
            Output.Write(Max_Text == 1 ? "<tr><td> &nbsp; &nbsp; Text:</td><td>" : "<tr valign=\"top\"><td><br /> &nbsp; &nbsp; Text:</td><td>");
            for (int j = 0; j < Max_Text; j++)
            {
                Web_Language_Enum language = SobekCM_Library_Settings.Default_UI_Language;
                string text = String.Empty;
                if (j < Highlight.Text_Dictionary.Count)
                {
                    language = Highlight.Text_Dictionary.Keys.ElementAt(j);
                    text = Highlight.Text_Dictionary[language];
                }

                // Start the select box
                string id = "admin_aggr_text_lang_" + HighlightCounter + "_" + (j + 1).ToString();
                string id2 = "admin_aggr_text_" + HighlightCounter + "_" + (j + 1).ToString();
                Output.Write("<select class=\"admin_aggr_select2\" name=\"" + id + "\" id=\"" + id + "\">");

                // Add each language in the combo box
                foreach (string possible_language in Web_Language_Enum_Converter.Language_Name_Array)
                {
                    if (language == Web_Language_Enum_Converter.Code_To_Enum(possible_language))
                    {
                        Output.Write("<option value=\"" + possible_language + "\" selected=\"selected\" >" + HttpUtility.HtmlEncode(possible_language) + "</option>");
                    }
                    else
                    {
                        Output.Write("<option value=\"" + possible_language + "\">" + HttpUtility.HtmlEncode(possible_language) + "</option>");
                    }
                }
                Output.WriteLine("</select> &nbsp; &nbsp; ");

                // Add the text to the text box
                Output.Write("<input class=\"admin_aggr_medium_input\" name=\"" + id2 + "\" id=\"" + id2 + "\" type=\"text\" value=\"" + HttpUtility.HtmlEncode(text) + "\" onfocus=\"javascript:textbox_enter('" + id2 + "', 'admin_aggr_medium_input_focused')\" onblur=\"javascript:textbox_leave('" + id2 + "', 'admin_aggr_medium_input')\" /><br />");
            }
            Output.WriteLine("</td></tr>");

            // Add lines for the tooltips
            Output.Write(Max_Tooltips == 1 ? "<tr><td> &nbsp; &nbsp; Tooltip:</td><td>" : "<tr valign=\"top\"><td><br /> &nbsp; &nbsp; Tooltip:</td><td>");
            for (int j = 0; j < Max_Tooltips; j++)
            {
                Web_Language_Enum language = SobekCM_Library_Settings.Default_UI_Language;
                string text = String.Empty;
                if (j < Highlight.Tooltip_Dictionary.Count)
                {
                    language = Highlight.Tooltip_Dictionary.Keys.ElementAt(j);
                    text = Highlight.Tooltip_Dictionary[language];
                }

                // Start the select box
                string id = "admin_aggr_tooltip_lang_" + HighlightCounter + "_" + (j + 1).ToString();
                string id2 = "admin_aggr_tooltip_" + HighlightCounter + "_" + (j + 1).ToString();
                Output.Write("<select class=\"admin_aggr_select2\" name=\"" + id + "\" id=\"" + id + "\">");

                // Add each language in the combo box
                foreach (string possible_language in Web_Language_Enum_Converter.Language_Name_Array)
                {
                    if (language == Web_Language_Enum_Converter.Code_To_Enum(possible_language))
                    {
                        Output.Write("<option value=\"" + possible_language + "\" selected=\"selected\" >" + HttpUtility.HtmlEncode(possible_language) + "</option>");
                    }
                    else
                    {
                        Output.Write("<option value=\"" + possible_language + "\">" + HttpUtility.HtmlEncode(possible_language) + "</option>");
                    }
                }
                Output.WriteLine("</select> &nbsp; &nbsp; ");

                // Add the text to the text box
                Output.Write("<input class=\"admin_aggr_medium_input\" name=\"" + id2 + "\" id=\"" + id2 + "\" type=\"text\" value=\"" + HttpUtility.HtmlEncode(text) + "\" onfocus=\"javascript:textbox_enter('" + id2 + "', 'admin_aggr_medium_input_focused')\" onblur=\"javascript:textbox_leave('" + id2 + "', 'admin_aggr_medium_input')\" /><br />");
            }
            Output.WriteLine("</td></tr>");

            // Add a delete option
            Output.WriteLine("<tr><td colspan=\"2\" align=\"right\"><a href=\"\">DELETE THIS HIGHLIGHT</a></td></tr>");
        }
        private void Add_Page_6(TextWriter Output)
        {
            Output.WriteLine("<table class=\"popup_table\">");

            // Add the highlight type
            Output.Write("<tr><td width=\"120px\">Highlights Type:</td><td><input type=\"radio\" name=\"admin_aggr_highlight_type\" id=\"rotating\" value=\"rotating\"");
            if (itemAggregation.Rotating_Highlights)
                Output.Write(" checked=\"checked\"");
            Output.Write("/><label for=\"rotating\">Rotating</label> &nbsp; <input type=\"radio\" name=\"admin_aggr_highlight_type\" id=\"static\" value=\"static\"");
            if (!itemAggregation.Rotating_Highlights)
                Output.Write(" checked=\"checked\"");
            Output.WriteLine("/><label for=\"static\">Static</label></td></tr>");

            // Determine the maximum number of languages used in tooltips and text
            int max_tooltips = 0;
            int max_text = 0;
            foreach (Item_Aggregation_Highlights thisHighlight in itemAggregation.Highlights)
            {
                max_tooltips = Math.Max(max_tooltips, thisHighlight.Tooltip_Dictionary.Count);
                max_text = Math.Max(max_text, thisHighlight.Text_Dictionary.Count);
            }
            max_tooltips += 1;
            max_text += 1;

            // Add each highlight
            for (int i = 0; i < itemAggregation.Highlights.Count + 5; i++)
            {
                // Add some space and a line
                Output.WriteLine("<tr><td colspan=\"2\">&nbsp;</td></tr>");
                Output.WriteLine("<tr style=\"background:#333333\"><td colspan=\"2\"></td></tr>");
                Output.WriteLine("<tr><td colspan=\"2\">&nbsp;</td></tr>");

                // Either get the highlight, or just make one
                Item_Aggregation_Highlights emptyHighlight = new Item_Aggregation_Highlights();
                if (i < itemAggregation.Highlights.Count)
                    emptyHighlight = itemAggregation.Highlights[i];

                // Now, add it to the form
                Highlight_Writer_Helper(Output, i + 1, emptyHighlight, max_text, max_tooltips);
            }

            Output.WriteLine("</table>");
            Output.WriteLine("<br />");
        }
        private static void read_highlights( XmlNodeReader nodeReader, Item_Aggregation hierarchyObject )
        {
            Item_Aggregation_Highlights highlight = new Item_Aggregation_Highlights();

            // Determine if this is a rotating type of highlight or not
            if (nodeReader.HasAttributes)
            {
                if (nodeReader.MoveToAttribute("type"))
                {
                    if (nodeReader.Value == "ROTATING")
                        hierarchyObject.Rotating_Highlights = true;
                }
                if (nodeReader.MoveToAttribute("bannerSide"))
                {
                    if (nodeReader.Value.Trim().ToUpper() == "RIGHT")
                        hierarchyObject.Front_Banner_Left_Side = false;
                }
                if (nodeReader.MoveToAttribute("bannerHeight"))
                {
                    hierarchyObject.Front_Banner_Height = Convert.ToUInt16(nodeReader.Value);
                }
                if (nodeReader.MoveToAttribute("bannerWidth"))
                {
                    hierarchyObject.Front_Banner_Width = Convert.ToUInt16(nodeReader.Value);
                }
            }

            while (nodeReader.Read())
            {
                // If this is the beginning tag for an element, assign the next values accordingly
                if (nodeReader.NodeType == XmlNodeType.Element)
                {
                    // Get the node name, trimmed and to upper
                    string nodeName = nodeReader.Name.Trim().ToUpper();

                    // switch the rest based on the tag name
                    string languageText;
                    switch (nodeName)
                    {
                        case "HI:SOURCE":
                            nodeReader.Read();
                            highlight.Image = nodeReader.Value.ToLower();
                            break;

                        case "HI:LINK":
                            nodeReader.Read();
                            highlight.Link = nodeReader.Value.ToLower();
                            break;

                        case "HI:TOOLTIP":
                            languageText = String.Empty;
                            if ((nodeReader.HasAttributes) && (nodeReader.MoveToAttribute("lang")))
                                languageText = nodeReader.Value.ToUpper();
                            nodeReader.Read();
                            highlight.Add_Tooltip( Web_Language_Enum_Converter.Code_To_Enum(languageText), nodeReader.Value );
                            break;

                        case "HI:TEXT":
                            languageText = String.Empty;
                            if ((nodeReader.HasAttributes) && (nodeReader.MoveToAttribute("lang")))
                                languageText = nodeReader.Value.ToUpper();
                            nodeReader.Read();
                            highlight.Add_Text(Web_Language_Enum_Converter.Code_To_Enum(languageText), nodeReader.Value);
                            break;
                    }
                }

                if (nodeReader.NodeType == XmlNodeType.EndElement)
                {
                    if (nodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHT" )
                    {
                        hierarchyObject.Highlights.Add(highlight);
                        highlight = new Item_Aggregation_Highlights();
                    }

                    if (nodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHTS")
                    {
                        // Done with all the highlights so return
                        return;
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private static void read_highlights(XmlNodeReader NodeReader, Item_Aggregation HierarchyObject)
        {
            Item_Aggregation_Highlights highlight = new Item_Aggregation_Highlights();


            // Determine if this is a rotating type of highlight or not
            if (NodeReader.HasAttributes)
            {
                if (NodeReader.MoveToAttribute("type"))
                {
                    if (NodeReader.Value == "ROTATING")
                    {
                        HierarchyObject.Rotating_Highlights = true;
                    }
                }

                // The following three values are for reading legacy XML files.  These
                // data fields have been moved to be attached to the actual banner
                if (NodeReader.MoveToAttribute("bannerSide"))
                {
                    if (NodeReader.Value.Trim().ToUpper() == "RIGHT")
                    {
                        foreach (KeyValuePair <Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                        {
                            banners.Value.Banner_Type = Item_Aggregation_Front_Banner.Item_Aggregation_Front_Banner_Type.RIGHT;
                        }
                    }
                    else
                    {
                        foreach (KeyValuePair <Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                        {
                            banners.Value.Banner_Type = Item_Aggregation_Front_Banner.Item_Aggregation_Front_Banner_Type.LEFT;
                        }
                    }
                }
                if (NodeReader.MoveToAttribute("bannerHeight"))
                {
                    foreach (KeyValuePair <Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                    {
                        banners.Value.Height = Convert.ToUInt16(NodeReader.Value);
                    }
                }
                if (NodeReader.MoveToAttribute("bannerWidth"))
                {
                    foreach (KeyValuePair <Web_Language_Enum, Item_Aggregation_Front_Banner> banners in HierarchyObject.Front_Banner_Dictionary)
                    {
                        banners.Value.Width = Convert.ToUInt16(NodeReader.Value);
                    }
                }
            }

            while (NodeReader.Read())
            {
                // If this is the beginning tag for an element, assign the next values accordingly
                if (NodeReader.NodeType == XmlNodeType.Element)
                {
                    // Get the node name, trimmed and to upper
                    string nodeName = NodeReader.Name.Trim().ToUpper();

                    // switch the rest based on the tag name
                    string languageText;
                    switch (nodeName)
                    {
                    case "HI:SOURCE":
                        NodeReader.Read();
                        highlight.Image = NodeReader.Value.ToLower();
                        break;

                    case "HI:LINK":
                        NodeReader.Read();
                        highlight.Link = NodeReader.Value.ToLower();
                        break;

                    case "HI:TOOLTIP":
                        languageText = String.Empty;
                        if ((NodeReader.HasAttributes) && (NodeReader.MoveToAttribute("lang")))
                        {
                            languageText = NodeReader.Value.ToUpper();
                        }
                        NodeReader.Read();
                        highlight.Add_Tooltip(Web_Language_Enum_Converter.Code_To_Enum(languageText), NodeReader.Value);
                        break;

                    case "HI:TEXT":
                        languageText = String.Empty;
                        if ((NodeReader.HasAttributes) && (NodeReader.MoveToAttribute("lang")))
                        {
                            languageText = NodeReader.Value.ToUpper();
                        }
                        NodeReader.Read();
                        highlight.Add_Text(Web_Language_Enum_Converter.Code_To_Enum(languageText), NodeReader.Value);
                        break;
                    }
                }

                if (NodeReader.NodeType == XmlNodeType.EndElement)
                {
                    if (NodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHT")
                    {
                        HierarchyObject.Highlights.Add(highlight);
                        highlight = new Item_Aggregation_Highlights();
                    }

                    if (NodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHTS")
                    {
                        // Done with all the highlights so return
                        return;
                    }
                }
            }
        }
        private static void read_highlights(XmlNodeReader nodeReader, Item_Aggregation hierarchyObject)
        {
            Item_Aggregation_Highlights highlight = new Item_Aggregation_Highlights();


            // Determine if this is a rotating type of highlight or not
            if (nodeReader.HasAttributes)
            {
                if (nodeReader.MoveToAttribute("type"))
                {
                    if (nodeReader.Value == "ROTATING")
                    {
                        hierarchyObject.Rotating_Highlights = true;
                    }
                }
                if (nodeReader.MoveToAttribute("bannerSide"))
                {
                    if (nodeReader.Value.Trim().ToUpper() == "RIGHT")
                    {
                        hierarchyObject.Front_Banner_Left_Side = false;
                    }
                }
                if (nodeReader.MoveToAttribute("bannerHeight"))
                {
                    hierarchyObject.Front_Banner_Height = Convert.ToUInt16(nodeReader.Value);
                }
                if (nodeReader.MoveToAttribute("bannerWidth"))
                {
                    hierarchyObject.Front_Banner_Width = Convert.ToUInt16(nodeReader.Value);
                }
            }

            while (nodeReader.Read())
            {
                // If this is the beginning tag for an element, assign the next values accordingly
                if (nodeReader.NodeType == XmlNodeType.Element)
                {
                    // Get the node name, trimmed and to upper
                    string nodeName = nodeReader.Name.Trim().ToUpper();

                    // switch the rest based on the tag name
                    string languageText;
                    switch (nodeName)
                    {
                    case "HI:SOURCE":
                        nodeReader.Read();
                        highlight.Image = nodeReader.Value.ToLower();
                        break;

                    case "HI:LINK":
                        nodeReader.Read();
                        highlight.Link = nodeReader.Value.ToLower();
                        break;

                    case "HI:TOOLTIP":
                        languageText = String.Empty;
                        if ((nodeReader.HasAttributes) && (nodeReader.MoveToAttribute("lang")))
                        {
                            languageText = nodeReader.Value.ToUpper();
                        }
                        nodeReader.Read();
                        highlight.Add_Tooltip(Web_Language_Enum_Converter.Code_To_Enum(languageText), nodeReader.Value);
                        break;

                    case "HI:TEXT":
                        languageText = String.Empty;
                        if ((nodeReader.HasAttributes) && (nodeReader.MoveToAttribute("lang")))
                        {
                            languageText = nodeReader.Value.ToUpper();
                        }
                        nodeReader.Read();
                        highlight.Add_Text(Web_Language_Enum_Converter.Code_To_Enum(languageText), nodeReader.Value);
                        break;
                    }
                }

                if (nodeReader.NodeType == XmlNodeType.EndElement)
                {
                    if (nodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHT")
                    {
                        hierarchyObject.Highlights.Add(highlight);
                        highlight = new Item_Aggregation_Highlights();
                    }

                    if (nodeReader.Name.Trim().ToUpper() == "HI:HIGHLIGHTS")
                    {
                        // Done with all the highlights so return
                        return;
                    }
                }
            }
        }