private static void General(HtmlTagWriter container) { using (var table = container.Tag("table")) { Action <string, string> Line = (name, value) => { using (var tr = table.Tag("tr")) { tr.EchoTag("td", name, new { @class = "e" }); tr.EchoTag("td", value, new { @class = "v" }); } }; Line("System", $"{GetOsName()} {System.Environment.MachineName} {RuntimeInformation.OSDescription} {RuntimeInformation.OSArchitecture}"); Line("Architecture", RuntimeInformation.ProcessArchitecture.ToString()); Line("Debug build", #if DEBUG true #else false #endif ? "yes" : "no"); Line("IPv6 Support", System.Net.Sockets.Socket.OSSupportsIPv6 ? "yes" : "no"); Line("Registered PHP Streams", string.Join(", ", Streams.StreamWrapper.SystemStreamWrappers.Keys)); Line("Registered Stream Filters", string.Join(", ", Streams.PhpFilter.GetFilterNames())); } }
private void WriteTableDataForOwningGroupCondition(AclExpansionAccessConditions conditions) { Assertion.IsFalse(conditions.GroupHierarchyCondition == GroupHierarchyCondition.Undefined && conditions.OwningGroup != null); HtmlTagWriter.Tags.td(); HtmlTagWriter.Value(""); // To force <td></td> instead of <td /> var owningGroup = conditions.OwningGroup; if (owningGroup != null) { HtmlTagWriter.Value(owningGroup.DisplayName); } var groupHierarchyCondition = conditions.GroupHierarchyCondition; // Bitwise operation is OK (alas marking GroupHierarchyCondition with [Flags] is not supported). if ((groupHierarchyCondition & GroupHierarchyCondition.Parent) != 0) { HtmlTagWriter.Tags.br(); HtmlTagWriter.Value(AclToolsExpansion.OrItsParents); // or its parents } // Bitwise operation is OK (alas marking GroupHierarchyCondition with [Flags] is not supported). if ((groupHierarchyCondition & GroupHierarchyCondition.Children) != 0) { HtmlTagWriter.Tags.br(); HtmlTagWriter.Value(AclToolsExpansion.OrItsChildren); // or its children } HtmlTagWriter.Tags.tdEnd(); }
public void EchoTag(string tag, string text, object attributes = null) { using (HtmlTagWriter w = new HtmlTagWriter(this.m_ctx, tag, attributes)) { w.EchoEscaped(text); } }
public void WriteTableDataBodyForSingleState(AclExpansionEntry aclExpansionEntry) { if (aclExpansionEntry.AccessControlList is StatelessAccessControlList) { HtmlTagWriter.Value(StatelessAclStateHtmlText); } else { IOrderedEnumerable <StateDefinition> stateDefinitions = GetAllStatesForAclExpansionEntry(aclExpansionEntry); if (!stateDefinitions.Any()) { HtmlTagWriter.Value(AclWithNoAssociatedStatesHtmlText); } else { bool firstElement = true; foreach (StateDefinition stateDefiniton in stateDefinitions) { if (!firstElement) { HtmlTagWriter.Value(", "); } string stateName = _settings.ShortenNames ? stateDefiniton.ShortName() : stateDefiniton.DisplayName; HtmlTagWriter.Value(stateName); firstElement = false; } } } }
private void WriteRowspanAttribute(int rowCount) { if (rowCount > 0) { HtmlTagWriter.Attribute("rowspan", Convert.ToString(rowCount)); } }
private void WriteTableDataAddendum(object addendum) { if (addendum != null) { HtmlTagWriter.Value(" ("); HtmlTagWriter.Value(addendum); HtmlTagWriter.Value(") "); } }
public virtual void WriteTableDataWithRowCount(string value, int rowCount) { WriteTableRowBeginIfNotInTableRow(); HtmlTagWriter.Tags.td(); WriteRowspanAttribute(rowCount); HtmlTagWriter.Value(value); if (_settings.OutputRowCount) { WriteTableDataAddendum(rowCount); } HtmlTagWriter.Tags.tdEnd(); }
public void WriteTableDataForRole(Role role, int rowCount) { WriteTableRowBeginIfNotInTableRow(); HtmlTagWriter.Tags.td(); WriteRowspanAttribute(rowCount); HtmlTagWriter.Value(role.Group.DisplayName); HtmlTagWriter.Value(", "); HtmlTagWriter.Value(role.Position.DisplayName); if (_settings.OutputRowCount) { WriteTableDataAddendum(rowCount); } HtmlTagWriter.Tags.tdEnd(); }
private static void PageTitle(HtmlTagWriter container) { using (var table = container.Tag("table")) using (var tr = table.Tag("tr", new { @class = "h" })) using (var td = tr.Tag("td")) { using (var a = td.Tag("a", new { href = Resources.InfoResources.LogoHref, target = "_blank" })) { a.EchoTagSelf("img", new { border = "0", src = Resources.InfoResources.LogoSrc, alt = Resources.InfoResources.LogoAlt }); } using (var title = td.Tag("h1", new { @class = "p" })) { title.EchoEscaped("Peachpie Version " + Core.Utilities.ContextExtensions.GetRuntimeInformationalVersion()); } } }
private static void PageTitle(HtmlTagWriter container) { using (var table = container.Tag("table")) using (var tr = table.Tag("tr", new { @class = "h" })) using (var td = tr.Tag("td")) { using (var a = td.Tag("a", new { href = Resources.InfoResources.LogoHref, target = "_blank" })) { a.EchoTagSelf("img", new { border = "0", src = Resources.InfoResources.LogoSrc, alt = Resources.InfoResources.LogoAlt }); } using (var title = td.Tag("h1", new { @class = "p" })) { title.EchoEscaped("Peachpie Version " + typeof(Context).GetTypeInfo().Assembly.GetName().Version.ToString(3)); // TODO: suffix (-preview...) } } }
private static void Configuration(HtmlTagWriter container, Context ctx) { container.EchoTag("h1", "Configuration"); var extensions = Context.GetLoadedExtensions(); foreach (string ext in extensions) { container.EchoTag("h2", ext); } // TODO: extensions configuration var options = StandardPhpOptions.DumpOptions(ctx, null); foreach (var extensionopt in options.GroupBy(opt => opt.ExtensionName)) { } }
private static void Variables(HtmlTagWriter container) { container.EchoTag("h2", "PHP Variables"); using (var table = container.Tag("table")) { using (var tr = table.Tag("tr", new { @class = "h" })) { tr.EchoTag("th", "Variable"); tr.EchoTag("th", "Value"); } Action <string, string> Line = (name, value) => { using (var tr = table.Tag("tr", new { @class = "h" })) { tr.EchoTag("td", name, new { @class = "e" }); using (var td = tr.Tag("td", new { @class = "v" })) { if (string.IsNullOrEmpty(value)) { td.EchoRaw(" "); } else { td.EchoEscaped(value); } } } }; Action <PhpArray, string> DumpArray = (arr, name) => { foreach (var entry in arr.Keys) { Line($"{name}[{entry}]", arr[entry].ToStringOrNull()); } }; DumpArray(container.Context.Cookie, "_COOKIE"); DumpArray(container.Context.Server, "_SERVER"); } }
public void WriteTableDataForAccessTypes(AccessTypeDefinition[] accessTypeDefinitions) { var accessTypeDefinitionsSorted = from atd in accessTypeDefinitions orderby atd.DisplayName select atd; HtmlTagWriter.Tags.td(); bool firstElement = true; foreach (AccessTypeDefinition accessTypeDefinition in accessTypeDefinitionsSorted) { if (!firstElement) { HtmlTagWriter.Value(", "); } HtmlTagWriter.Value(accessTypeDefinition.DisplayName); firstElement = false; } HtmlTagWriter.Tags.tdEnd(); }
private static void Env(HtmlTagWriter container) { container.EchoTag("h2", "Environment"); using (var table = container.Tag("table")) { using (var tr = table.Tag("tr", new { @class = "h" })) { tr.EchoTag("th", "Variable"); tr.EchoTag("th", "Value"); } Action <string, string> Line = (name, value) => { using (var tr = table.Tag("tr", new { @class = "h" })) { tr.EchoTag("td", name, new { @class = "e" }); using (var td = tr.Tag("td", new { @class = "v" })) { if (string.IsNullOrEmpty(value)) { td.EchoRaw(" "); } else { td.EchoEscaped(value); } } } }; foreach (var entry in container.Context.Env.Keys) { Line(entry.ToString(), container.Context.Env[entry].ToStringOrNull()); } } }
private static void Credits(HtmlTagWriter container) { container.EchoTag("h1", "Credits"); // TODO: creditz, can we pull it from git? }
public void WriteTableDataForBooleanCondition(bool required) { HtmlTagWriter.Tags.td(); HtmlTagWriter.Value(required ? "X" : ""); HtmlTagWriter.Tags.tdEnd(); }
public void WriteTableDataForAbstractRoleCondition(AclExpansionAccessConditions accessConditions) { HtmlTagWriter.Tags.td(); HtmlTagWriter.Value(accessConditions.IsAbstractRoleRequired ? accessConditions.AbstractRole.DisplayName : ""); HtmlTagWriter.Tags.tdEnd(); }
private static HtmlTagWriter Tag(this HtmlTagWriter tagWriter, string tag, object attributes = null) { return(new HtmlTagWriter(tagWriter.Context, tag, attributes)); }