Example #1
0
        public override string Publish2(CmsPage page)
        {
            string html = base.Publish2(page);

            try
            {
                string drillDownUrl  = "";
                string drillDownLink = "";

                ModuleNavigationAction navigationActionDrillDown = this.GetNavigationActionByTagName("{DrillDownLink}");
                if (navigationActionDrillDown != null)
                {
                    drillDownUrl  = navigationActionDrillDown.GetNavigationUrl();
                    drillDownLink = navigationActionDrillDown.CreateNavigationHyperlink("G", refreshItself: true);
                }

                DataGroup group = null;
                if (dataType == "I")
                {
                    //als er op item wordt genavigeerd, parentgroep van item laden
                    //breadcrumb doet namelijk alleen groepen
                    DataItem item = BaseObject.GetById <DataItem>(dataId);
                    if (item != null)
                    {
                        group = item.ParentGroup;
                    }
                }
                else
                {
                    group = BaseObject.GetById <DataGroup>(dataId);
                }

                string itemTemplate = base.GetSubTemplate("{List}");
                string itemsHtml    = "";

                if (group != null)
                {
                    group.TryTranslate(this.LanguageCode);
                    string itemHtml = GetItemHtml(drillDownUrl, drillDownLink, group, itemTemplate);
                    itemsHtml = itemHtml;
                    while (group.ParentGroup != null)
                    {
                        group = group.ParentGroup;
                        group.TryTranslate(this.LanguageCode);
                        itemHtml  = GetItemHtml(drillDownUrl, drillDownLink, group, itemTemplate);
                        itemsHtml = itemHtml + itemsHtml;
                    }
                }

                html = html.Replace("<!--{List}-->" + itemTemplate + "<!--{/List}-->", itemsHtml);
                html = html.Replace("{List}" + itemTemplate + "{/List}", itemsHtml);

                html = html.Replace("{RootLink}", drillDownLink);
                html = html.Replace("{/RootLink}", "</a>");
                // html = html.Replace("{RootUrl}", drillDownUrl);
                html = html.Replace("{DrillDownUrl}", drillDownUrl);
                html = html.Replace("{ID}", Guid.Empty.ToString());
            }
            catch (Exception ex)
            {
                html = base.HandlePublishError(ex);
            }

            return(html);
        }
Example #2
0
        public string Publish2(CmsPage page, int currentPage, int totalResults, string sort)
        {
            string html = "";

            try
            {
                if (DataCollection != null)
                {
                    base.PrepairTemplate(DataCollection.DataItemFields, DataCollection.DataGroupFields);
                }

                html = base.Publish2(page);
                if (DataCollection == null)
                {
                    return(html);
                }

                //string drillDownUrl = "", drillDownLink = "";

                ModuleNavigationAction navigationActionDrillDown = this.GetNavigationActionByTagName("{DrillDownLink}");
                if (navigationActionDrillDown != null)
                {
                    drillDownUrl  = navigationActionDrillDown.GetNavigationUrl();
                    drillDownLink = navigationActionDrillDown.CreateNavigationHyperlink("I");
                }

                ModuleNavigationAction navigationActionEdit = this.GetNavigationActionByTagName("{EditLink}");
                if (navigationActionEdit != null)
                {
                    editUrl  = navigationActionEdit.GetNavigationUrl();
                    editLink = navigationActionEdit.CreateNavigationHyperlink("I");
                }

                if (html.Contains("{DrillUpLink}"))
                {
                    ModuleNavigationAction navigationActionDrillUp = this.GetNavigationActionByTagName("{DrillUpLink}");
                    if (navigationActionDrillUp != null)
                    {
                        drillUpUrl  = navigationActionDrillUp.GetNavigationUrl();
                        drillUpLink = navigationActionDrillUp.CreateNavigationHyperlink("G");
                    }
                }

                //getDrillDownUrlAndLink(out drillDownUrl, out drillDownLink);
                int pagesize          = getSetting <int>("MaxNumberOfRows");
                int showFromRowNumber = getSetting <int>("ShowFromRowNumber");

                string rowTemplate = base.GetSubTemplate("{List}");
                string rowsHtml    = "";
                System.Data.DataTable itemsTable = getDataTable("DataItem", "I", DataCollection.DataItemFields, currentPage, pagesize, showFromRowNumber, sort);

                foreach (System.Data.DataRow dataRow in itemsTable.Rows)
                {
                    string rowHtml    = rowTemplate;
                    string rewriteUrl = CreateRewriteUrl(page, drillDownUrl, "I", new Guid(dataRow["ID"].ToString()), dataRow["CompletePath"].ToString(), dataRow["Title"].ToString());
                    rowHtml = rowHtml.Replace("{DrillDownLink}", drillDownLink)
                              .Replace("{/DrillDownLink}", "</a>")
                              .Replace("{DrillDownUrl}", rewriteUrl);
                    if ((WebSessionHelper.CurrentSiteUser != null && WebSessionHelper.CurrentSiteUser.ID.ToString() == dataRow["FK_User"].ToString()) ||
                        (dataRow["FK_User"].ToString() == "" && dataRow["FK_BitplateUser"].ToString() == "" && WebSessionHelper.CurrentBitplateUser != null) ||
                        (WebSessionHelper.CurrentBitplateUser != null && WebSessionHelper.CurrentBitplateUser.ID.ToString() == dataRow["FK_BitplateUser"].ToString()))
                    {
                        rowHtml = rowHtml.Replace("{EditLink}", editLink)
                                  .Replace("{/EditLink}", "</a>");
                    }
                    else
                    {
                        rowHtml = Regex.Replace(rowHtml, "{EditLink}(.*?){/EditLink}", "");
                    }

                    foreach (System.Data.DataColumn column in dataRow.Table.Columns)
                    {
                        rowHtml = ReplaceTag(rowHtml, dataRow, column);

                        //rowHtml = rowHtml.Replace("{" + column.ColumnName + "}", dataRow[column.ColumnName].ToString());
                        if (rowHtml.Contains("{FileList1}"))
                        {
                            rowHtml = fillExtraFilesSubTemplate(rowHtml, dataRow["ID"].ToString(), "");
                        }
                        if (rowHtml.Contains("{ImageList1}"))
                        {
                            rowHtml = fillExtraImagesSubTemplate(rowHtml, dataRow["ID"].ToString(), "");
                        }
                    }
                    rowsHtml += rowHtml;
                }

                html = html.Replace("<!--{List}-->" + rowTemplate + "<!--{/List}-->", rowsHtml);
                html = html.Replace("{List}" + rowTemplate + "{/List}", rowsHtml);

                //parent-tags kunnen ook buiten de list-template staan. dus buiten {List} en {/List}
                //dan ook deze tags vervangen, ook als er geen rows zouden zijn. (parent kan er nog wel zijn)
                if (html.Contains("{Parent") || html.Contains("{DrillUp"))
                {
                    //dataId = dataId == Guid.Empty ? Guid.Parse(getSetting<string>("SelectGroupID")) : dataId;
                    System.Data.DataRow parentGroupRow = base.getDataParentGroupRow(dataId);
                    html = ReplaceDrillUpTag(page, html, parentGroupRow["FK_Parent_Group"].ToString());
                    foreach (System.Data.DataColumn column in parentGroupRow.Table.Columns)
                    {
                        html = html.Replace("{" + column.ColumnName + "}", parentGroupRow[column.ColumnName].ToString());
                    }
                }
                if (pagesize > 0 && totalResults == 0)
                {
                    totalResults = getTotalCount("I");
                }
                else if (totalResults == 0)
                {
                    totalResults = itemsTable.Rows.Count;
                }
                html = html.Replace("{Pager}", CreatePager(currentPage, totalResults, pagesize));
                html = html.Replace("{NumberOfResults}", totalResults.ToString());

                foreach (Tag tag in this.GetSortLinksTags(currentPage, pagesize))
                {
                    html = html.Replace(tag.Name, tag.ReplaceValue)
                           .Replace(tag.CloseTag, tag.ReplaceValueCloseTag);
                }

                bool hideWhenNoData = getSetting <bool>("HideWhenNoData");
                if (hideWhenNoData && totalResults == 0)
                {
                    html = getModuleStartDiv() + getModuleEndDiv();
                }
            }
            catch (Exception ex)
            {
                html = base.HandlePublishError(ex);
            }
            return(html);
        }
Example #3
0
        public string BuildTree2(CmsPage page)
        {
            int viewMode = 1;//int.Parse(this.ViewModeCheckBoxList.SelectedValue);

            this.treeViewTemplate = base.GetSubTemplate("{TreeView}");
            this.treeNodeTemplate = base.GetSubTemplate("{TreeNode}");

            string tree      = treeViewTemplate;
            string rootNodes = "";
            string select    = "SELECT DataGroup.ID, DataGroup.Name, DataGroup.FK_Parent_Group, DataGroup.CompletePath, ";
            string from      = " FROM DataGroup ";

            if (!DataCollection.HasStaticLanguage && this.LanguageCode != "" && this.LanguageCode != Site.DefaultLanguage)
            {
                DataField titleField = DataField.GetFirst <DataField>("FK_DataCollection = '" + DataCollection.ID + "' AND MappingColumn='Title' AND type='group'");
                if (titleField.IsMultiLanguageField)
                {
                    select += "Lang.Title AS Title ";
                    from   += " JOIN DataGroupLanguage AS Lang ON DataGroup.ID = Lang.FK_DataGroup AND Lang.LanguageCode = '" + this.LanguageCode + "'";
                }
                else
                {
                    select += "DataGroup.Title ";
                }
            }
            else
            {
                select += "DataGroup.Title ";
            }

            string where = String.Format(" WHERE DataGroup.FK_DataCollection = '{0}' ", DataCollection.ID);
            string sort = getSort(DataCollection.DataGroupFields); //" ORDER BY DataGroup.OrderNumber";
            string sql  = select + from + where + sort;

            System.Data.DataTable allGroupsTable = DataBase.Get().GetDataTable(sql);

            string drillDownUrl  = "";
            string drillDownLink = "";
            ModuleNavigationAction navigationActionDrillDown = this.GetNavigationActionByTagName("{DrillDownLink}");

            if (navigationActionDrillDown != null)
            {
                drillDownUrl  = navigationActionDrillDown.GetNavigationUrl();
                drillDownLink = navigationActionDrillDown.CreateNavigationHyperlink("G", false, "BITTREEVIEW.isReloadRequired = false;");
            }


            foreach (System.Data.DataRow dataRow in allGroupsTable.Rows)//.Select("FK_Parent_Group Is Null", sort.Replace("ORDER BY ", "")))
            {
                //DataTable.Select() sorteert de items opnieuw. Dit is niet de bedoeling.
                if (dataRow["FK_Parent_Group"] == DBNull.Value)
                {
                    string rewriteUrl = CreateRewriteUrl(page, drillDownUrl, "G", new Guid(dataRow["ID"].ToString()), dataRow["CompletePath"].ToString(), dataRow["Title"].ToString());

                    string rootNode = this.treeNodeTemplate;
                    string name     = dataRow["Name"].ToString();
                    rootNode = rootNode
                               .Replace("{TreeNode.DrillDownLink}", drillDownLink)
                               .Replace("{TreeNode.Name}", dataRow["Name"].ToString())
                               .Replace("{TreeNode.Title}", dataRow["Title"].ToString())
                               .Replace("{/TreeNode.DrillDownLink}", "</a>")
                               .Replace("{TreeNode.ID}", "TreeNode" + dataRow["ID"].ToString().Replace("-", ""))
                               .Replace("{DrillDownUrl}", rewriteUrl)
                               .Replace("{ID}", dataRow["ID"].ToString())
                               .Replace("{TreeNode.ChildNodes}", this.BuildTreeNode2(page, allGroupsTable, rootNode, dataRow["ID"].ToString(), viewMode, drillDownUrl, drillDownLink));

                    rootNodes += rootNode;
                }
            }


            /* if (viewMode == 2) //groups and items
             * {
             *  foreach (DataItem item in dataCollection.Items)
             *  {
             *      TreeNode itemNode = new TreeNode();
             *      itemNode.Text = itemNode.Text;
             *      itemNode.Value = item.ID.ToString();
             *      DataCollectionTreeView.Nodes.Add(itemNode);
             *  }
             * } */
            tree = Content;
            tree = tree.Replace("<!--{TreeNode}-->" + treeNodeTemplate + "<!--{/TreeNode}-->", rootNodes);
            tree = tree.Replace("{TreeNode}" + treeNodeTemplate + "{/TreeNode}", rootNodes);
            string treeDiv = "<div class=\"bitTree\" data-tree-selected-id=\"TreeNode" + dataId.ToString("N") + "\">";

            tree = tree.Replace("<!--{TreeView}-->", treeDiv);
            tree = tree.Replace("{TreeView}", treeDiv);
            tree = tree.Replace("<!--{/TreeView}-->", "</div>");
            tree = tree.Replace("{/TreeView}", "</div>");

            return(tree);
        }
Example #4
0
        //public string ConvertHeaderFooterTags(string html)
        //{
        //    //{Parent.Naam}
        //    string header = Regex.Match(html, "<HeaderTemplate>(.*?)</HeaderTemplate>", RegexOptions.Singleline).ToString();
        //    html = ConvertHtml(html, header);
        //    string footer = Regex.Match(html, "<FooterTemplate>(.*?)</FooterTemplate>", RegexOptions.Singleline).ToString();
        //    html = ConvertHtml(html, footer);
        //    return html;
        //}

        //public string ConvertHtml(string html, string source)
        //{
        //    if (source != null)
        //    {
        //        string convertedHeader = source;
        //        MatchCollection tags = Regex.Matches(source, "{Parent(.*?)}");
        //        foreach (Match tagMatch in tags)
        //        {
        //            string field = tagMatch.ToString().Replace("{Parent.", "").Replace("}", "");
        //            Tag tag = this._tags.Where(c => c.Name == "{Parent." + field + "}").FirstOrDefault();
        //            if (tag != null)
        //            {
        //                string mappingColumn = tag.ReplaceValue.Replace("<%#DataBinder.Eval(Container.DataItem,\"", "").Replace("\")%>", "");
        //                convertedHeader = convertedHeader.Replace(tagMatch.ToString(), "<%# " + mappingColumn + " %>");
        //            }
        //        }
        //        html = html.Replace(source, convertedHeader);
        //    }
        //    return html;
        //}

        public override string Publish2(CmsPage page)
        {
            string html = "";

            try
            {
                if (DataCollection != null)
                {
                    PrepairTemplate(DataCollection.DataGroupFields, DataCollection.DataGroupFields);
                }
                html = base.Publish2(page);
                if (DataCollection == null)
                {
                    return(html);
                }


                ModuleNavigationAction navigationActionDrillDown = this.GetNavigationActionByTagName("{DrillDownLink}");
                if (navigationActionDrillDown != null)
                {
                    drillDownUrl  = navigationActionDrillDown.GetNavigationUrl();
                    drillDownLink = navigationActionDrillDown.CreateNavigationHyperlink("G");
                }

                if (html.Contains("{DrillUpLink}"))
                {
                    ModuleNavigationAction navigationActionDrillUp = this.GetNavigationActionByTagName("{DrillUpLink}");
                    if (navigationActionDrillUp != null)
                    {
                        drillUpUrl  = navigationActionDrillUp.GetNavigationUrl();
                        drillUpLink = navigationActionDrillUp.CreateNavigationHyperlink("G");
                    }
                }
                //getDrillDownUrlAndLink(out drillDownUrl, out drillDownLink);
                ShowDataEnum          showdataBy  = getSetting <ShowDataEnum>("ShowDataBy");
                System.Data.DataTable groupsTable = new System.Data.DataTable();
                if (showdataBy == ShowDataEnum.UserSelectNoDefaultData)
                {
                    if (this.dataId != Guid.Empty && this.dataId != null)
                    {
                        groupsTable = getDataTable("DataGroup", "G", DataCollection.DataGroupFields);
                    }
                }
                else
                {
                    groupsTable = getDataTable("DataGroup", "G", DataCollection.DataGroupFields);
                }

                string rowTemplate = base.GetSubTemplate("{List}");
                string rowsHtml    = "";
                foreach (System.Data.DataRow dataRow in groupsTable.Rows)
                {
                    string rowHtml             = rowTemplate;
                    string rewriteUrlDrillDown = CreateRewriteUrl(page, drillDownUrl, "G", new Guid(dataRow["ID"].ToString()), dataRow["CompletePath"].ToString(), dataRow["Title"].ToString());
                    rowHtml = rowHtml.Replace("{DrillDownLink}", drillDownLink);
                    rowHtml = rowHtml.Replace("{/DrillDownLink}", "</a>");
                    rowHtml = rowHtml.Replace("{DrillDownUrl}", rewriteUrlDrillDown);
                    foreach (System.Data.DataColumn column in dataRow.Table.Columns)
                    {
                        rowHtml = ReplaceTag(rowHtml, dataRow, column);
                        //rowHtml = rowHtml.Replace("{" + column.ColumnName + "}", dataRow[column.ColumnName].ToString());
                        if (rowHtml.Contains("{FileList1}"))
                        {
                            rowHtml = fillExtraFilesSubTemplate(rowHtml, "", dataRow["ID"].ToString());
                        }
                        if (html.Contains("{ImageList1}"))
                        {
                            rowHtml = fillExtraImagesSubTemplate(rowHtml, "", dataRow["ID"].ToString());
                        }
                    }

                    rowsHtml += rowHtml;
                }
                html = html.Replace("<!--{List}-->" + rowTemplate + "<!--{/List}-->", rowsHtml);
                html = html.Replace("{List}" + rowTemplate + "{/List}", rowsHtml);

                //parent-tags kunnen ook buiten de list-template staan. dus buiten {List} en {/List}
                //dan ook deze tags vervangen, ook als er geen rows zouden zijn. (parent kan er nog wel zijn)
                if (html.Contains("{Parent") || html.Contains("{DrillUp"))
                {
                    //dataId = dataId == Guid.Empty ? Guid.Parse(getSetting<string>("SelectGroupID")) : dataId;
                    System.Data.DataRow parentGroupRow = base.getDataParentGroupRow(dataId);
                    html = ReplaceDrillUpTag(page, html, parentGroupRow["FK_Parent_Group"].ToString());
                    foreach (System.Data.DataColumn column in parentGroupRow.Table.Columns)
                    {
                        html = html.Replace("{" + column.ColumnName + "}", parentGroupRow[column.ColumnName].ToString());
                    }
                }

                bool hideWhenNoData = getSetting <bool>("HideWhenNoData");
                if (hideWhenNoData && groupsTable.Rows.Count == 0)
                {
                    html = getModuleStartDiv() + getModuleEndDiv();
                }
            }
            catch (Exception ex)
            {
                html = base.HandlePublishError(ex);
            }
            return(html);
        }