private string BuildSettingsPage(string user, int userRights, string queryString, string messageBox = null, string messageBoxClass = null) { string pageName = "IdleLightColorsSettings"; PageBuilderAndMenu.clsPageBuilder builder = new PageBuilderAndMenu.clsPageBuilder(pageName); if ((userRights & 2) != 2) { // User is not an admin builder.reset(); builder.AddHeader(hs.GetPageHeader(pageName, "HS-WD200+ Idle Light Colors Settings", "", "", false, true)); builder.AddBody("<p><strong>Access Denied:</strong> You are not an administrative user.</p>"); builder.AddFooter(hs.GetPageFooter()); builder.suppressDefaultFooter = true; return(builder.BuildPage()); } StringBuilder sb = new StringBuilder(); sb.Append( "<p>The active color will be used when an HS-WD200+ dimmer is in normal mode and is on (at any level).<br />The idle color will be used when an HS-WD200+ dimmer is in normal mode and is off.</p>"); sb.Append("<p>Status mode will override these colors, as usual.</p>"); sb.Append(PageBuilderAndMenu.clsPageBuilder.FormStart("ils_config_form", "ils_config_form", "post")); sb.Append("<table width=\"1000px\" cellspacing=\"0\"><tr><td class=\"tableheader\" colspan=\"3\">Settings</td></tr>"); sb.Append("<tr><td class=\"tablecell\" style=\"width:200px\" align=\"left\">Normal Mode Active Color:</td>"); sb.Append("<td class=\"tablecell\">"); clsJQuery.jqDropList dropdown = new clsJQuery.jqDropList("ActiveColor", pageName, true); BuildColorDropdown(pageName, dropdown, onColor); sb.Append(dropdown.Build()); sb.Append("</td></tr>"); sb.Append("<tr><td class=\"tablecell\" style=\"width:200px\" align=\"left\">Normal Mode Idle Color:</td>"); sb.Append("<td class=\"tablecell\">"); dropdown = new clsJQuery.jqDropList("IdleColor", pageName, true); BuildColorDropdown(pageName, dropdown, offColor); sb.Append(dropdown.Build()); sb.Append("</td></tr>"); sb.Append("</table>"); clsJQuery.jqButton doneBtn = new clsJQuery.jqButton("DoneBtn", "Done", pageName, false); doneBtn.url = "/"; sb.Append("<br />"); sb.Append(doneBtn.Build()); sb.Append("<br /><br />"); builder.reset(); builder.AddHeader(hs.GetPageHeader(pageName, "HS-WD200+ Idle Light Colors Settings", "", "", false, true)); builder.AddBody(sb.ToString()); builder.AddFooter(hs.GetPageFooter()); builder.suppressDefaultFooter = true; return(builder.BuildPage()); }
public override string GetPagePlugin(string page, string user, int userRights, string queryString) { HS.WriteLog("Debug", "Requested page name " + page + " by user " + user + " with rights " + userRights); if (page != "WebSocketNotificationConfig") { return("Unknown page " + page); } PageBuilderAndMenu.clsPageBuilder pageBuilder = new PageBuilderAndMenu.clsPageBuilder(page); if ((userRights & 2) != 2) { // User is not an admin pageBuilder.reset(); pageBuilder.AddHeader(HS.GetPageHeader(page, "WebHook Notifications Settings", "", "", false, true)); pageBuilder.AddBody("<p><strong>Access Denied:</strong> You are not an administrative user.</p>"); pageBuilder.AddFooter(HS.GetPageFooter()); pageBuilder.suppressDefaultFooter = true; return(pageBuilder.BuildPage()); } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append( PageBuilderAndMenu.clsPageBuilder.FormStart("wsn_config_form", "wsn_config_form", "post")); stringBuilder.Append( "<table width=\"1000px\" cellspacing=\"0\"><tr><td class=\"tableheader\" colspan=\"3\">Settings</td></tr>"); stringBuilder.Append( "<tr><td class=\"tablecell\" style=\"width:200px\" align=\"left\">WebSocket Port:</td>"); stringBuilder.Append("<td class=\"tablecell\">"); clsJQuery.jqTextBox textBox = new clsJQuery.jqTextBox("WebSocketPort", "text", _port, page, 100, true); stringBuilder.Append(textBox.Build()); stringBuilder.Append("</td></tr>"); stringBuilder.Append("</table>"); clsJQuery.jqButton doneBtn = new clsJQuery.jqButton("DoneBtn", "Done", page, false); doneBtn.url = "/"; stringBuilder.Append("<br />"); stringBuilder.Append(doneBtn.Build()); stringBuilder.Append("<br /><br />"); pageBuilder.reset(); pageBuilder.AddHeader(HS.GetPageHeader(page, "WebSocket Notifications Settings", "", "", false, true)); pageBuilder.AddBody(stringBuilder.ToString()); pageBuilder.AddFooter(HS.GetPageFooter()); pageBuilder.suppressDefaultFooter = true; return(pageBuilder.BuildPage()); }
public override string GetPagePlugin(string pageName, string user, int userRights, string queryString) { Program.WriteLog(LogType.Debug, "Requested page name " + pageName + " by user " + user + " with rights " + userRights); if (pageName != "WebHookNotificationConfig") { return("Unknown page " + pageName); } PageBuilderAndMenu.clsPageBuilder pageBuilder = new PageBuilderAndMenu.clsPageBuilder(pageName); if ((userRights & 2) != 2) { // User is not an admin pageBuilder.reset(); pageBuilder.AddHeader(hs.GetPageHeader(pageName, "WebHook Notifications Settings", "", "", false, true)); pageBuilder.AddBody("<p><strong>Access Denied:</strong> You are not an administrative user.</p>"); pageBuilder.AddFooter(hs.GetPageFooter()); pageBuilder.suppressDefaultFooter = true; return(pageBuilder.BuildPage()); } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append( PageBuilderAndMenu.clsPageBuilder.FormStart("whn_config_form", "whn_config_form", "post")); stringBuilder.Append( "<table width=\"1000px\" cellspacing=\"0\"><tr><td class=\"tableheader\" colspan=\"3\">Settings</td></tr>"); clsJQuery.jqCheckBox checkBox; for (byte i = 1; i <= TOTAL_WEBHOOK_SLOTS; i++) { stringBuilder.Append( "<tr><td class=\"tablecell\" style=\"width:200px\" align=\"left\">WebHook URL " + i + ":</td>"); stringBuilder.Append("<td class=\"tablecell\">"); clsJQuery.jqTextBox textBox = new clsJQuery.jqTextBox("WebHookUrl" + i, "text", webHooks[i - 1]?.ToString(), pageName, 100, true); stringBuilder.Append(textBox.Build()); stringBuilder.Append("</td><td class=\"tablecell\" style=\"width:300px\">"); checkBox = new clsJQuery.jqCheckBox("IgnoreInvalidCertificate" + i, "Ignore invalid HTTPS certificate", pageName, true, true); checkBox.@checked = hs.GetINISetting("IgnoreCertificate", "webhook" + i, "0", IniFilename) == "1"; stringBuilder.Append(checkBox.Build()); stringBuilder.Append("</td></tr>"); } stringBuilder.Append("<tr><td class=\"tablecell\" style=\"width:200px\" align=\"left\"></td>"); stringBuilder.Append("<td class=\"tablecell\" colspan=\"2\">"); checkBox = new clsJQuery.jqCheckBox( "IgnoreTimerEvents", "Suppress WebHooks for HS3 timers", pageName, true, true ); checkBox.@checked = ignoreTimerEvents; stringBuilder.Append(checkBox.Build()); stringBuilder.Append("</td></tr>"); stringBuilder.Append("<tr><td class=\"tablecell\" style=\"width:250px\" align=\"left\"></td>"); stringBuilder.Append("<td class=\"tablecell\" colspan=\"2\">"); checkBox = new clsJQuery.jqCheckBox( "IgnoreUnchangedEvents", "Suppress WebHooks for events in which a device's value did not change (not effective on STRING_CHANGE events)", pageName, true, true ); checkBox.@checked = ignoreUnchangedEvents; stringBuilder.Append(checkBox.Build()); stringBuilder.Append("</td></tr>"); stringBuilder.Append("</table>"); clsJQuery.jqButton doneBtn = new clsJQuery.jqButton("DoneBtn", "Done", pageName, false); doneBtn.url = "/"; stringBuilder.Append("<br />"); stringBuilder.Append(doneBtn.Build()); stringBuilder.Append("<br /><br />"); pageBuilder.reset(); pageBuilder.AddHeader(hs.GetPageHeader(pageName, "WebHook Notifications Settings", "", "", false, true)); pageBuilder.AddBody(stringBuilder.ToString()); pageBuilder.AddFooter(hs.GetPageFooter()); pageBuilder.suppressDefaultFooter = true; return(pageBuilder.BuildPage()); }