public void reloadCharts(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { ChartMemory.Reload(); MHE(source, client, "Reload completed"); }
public void remChartCols(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); int index = ChartMemory.Instance.Charts.IndexOf(v); if (v.ColumnData.Fields.Where(x => x.Label == additionalArgs[1]).Count() > 0) { ChartColumnField theChartField = v.ColumnData.Fields.Where(x => x.Label == additionalArgs[1]).First(); v.ColumnData.Fields.Remove(theChartField); ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); MHE(source, client, "Column removed"); } else { MHE(source, client, "Column does not exist, nothing to remove"); } } else { MHE(source, client, "No such chart"); } }
public static void Reload() { lock (lck) { a = LoadFromFile(); } }
public WebhookRegistry.HTTPResponseData renderChart(List <string> arguments, string body, string method, NameValueCollection headers) { WebhookRegistry.HTTPResponseData hrd = new WebhookRegistry.HTTPResponseData(); if (ChartMemory.HasChartID(arguments[0])) { hrd.Status = 200; hrd.ReturnContentType = "text/html"; Chart C = ChartMemory.GetChartByID(arguments[0]); string page = "<html><head><title>Chart - " + C.ChartName + "</title></head><body bgcolor='black'>"; // Don't prepend the Table CSS since we need to set colors custom page += "<center><a style='color:white'><h2>" + C.ChartDescription + "</h2></a>"; page += "<table style=\"border:1px inset #00FFFF;border-collapse:separate;border-spacing:0px;padding:6px;\">"; ChartColumn col = C.ColumnData; page += "<thead><th style=\"background:#F0F0F0;border:1px inset #00FFFF;padding:6px\">" + C.ChartName + "</th>"; foreach (ChartColumnField field in col.Fields) { page += "<th style=\"background:" + field.ColorCode + "\";border:1px inset #00FFFF;padding:6px\">" + field.Label + "</th>"; } page += "</thead><tbody>"; int Pos = 0; foreach (ChartRow row in C.RowData) { Pos = 0; page += "<tr><td style=\"border:1px inset #00FFFF;padding:6px;background:#F0F0F0;color:black\">" + row.Label + "</td>"; foreach (ChartColumnField field in col.Fields) { // Begin processing row. Keep index of what position we are at int MaskForPos = col.Pos2Bit(Pos); string ColorCode = "#000000"; if ((row.Mask & MaskForPos) == MaskForPos) { // set the color code to the col code ColorCode = col.Fields[Pos].ColorCode; } page += "<td style=\"border:1px inset #00FFFF;padding:6px;background:" + ColorCode + ";color:white\"> </td>"; Pos++; } page += "</tr>"; } page += "</tbody></table></body>"; page += "<script type='text/javascript'>"; page += "setInterval(function(){window.location.reload(true);}, 30000);"; page += "</script>"; hrd.ReplyString = page; } else { hrd.ReplyString = "Not found"; hrd.Status = 404; hrd.ReturnContentType = "text/plain"; } return(hrd); }
public void setChartCols(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); int index = ChartMemory.Instance.Charts.IndexOf(v); ChartColumn col = v.ColumnData; if (col == null) { col = new ChartColumn(); } if (col.Fields == null) { col.Fields = new List <ChartColumnField>(); } if (col.Fields.Where(x => x.Label == additionalArgs[1]).Count() > 0) { // already has this column MHE(source, client, "That column already exists"); return; } else { ChartColumnField field = new ChartColumnField(); field.ColorCode = additionalArgs[2]; field.Label = additionalArgs[1]; if (additionalArgs.Length == 4) { // insert at index col.Fields.Insert(Convert.ToInt32(additionalArgs[3]), field); } else { col.Fields.Add(field); } } v.ColumnData = col; ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); MHE(source, client, "Column data has been updated"); } else { MHE(source, client, "No such chart"); } }
public void makeNewChart(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { MHE(source, client, "A chart by that name already exists"); return; } ChartMemory.Instance.Charts.Add(new Chart(additionalArgs[0])); ChartMemory.SaveToFile(); MHE(source, client, "New chart created successfully"); }
public void deleteChart(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); ChartMemory.Instance.Charts.Remove(v); ChartMemory.SaveToFile(); MHE(source, client, "Chart deleted"); return; } }
public void renameChart(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); int index = ChartMemory.Instance.Charts.IndexOf(v); v.ChartName = additionalArgs[1]; ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); MHE(source, client, "Chart renamed"); return; } }
public void removeChartRow(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); int index = ChartMemory.Instance.Charts.IndexOf(v); ChartRow row = new ChartRow(); row.Label = ""; void getRowLabel() { row.Label = ""; for (int i = 1; i < additionalArgs.Length; i++) { row.Label += additionalArgs[i] + " "; } if (row.Label.EndsWith(" ")) { row.Label = row.Label.TrimEnd(' '); } } getRowLabel(); if (v.RowData.Where(x => x.Label == row.Label).Count() > 0) { row = v.RowData.Where(x => x.Label == row.Label).First(); v.RowData.Remove(row); ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); } else { MHE(source, client, "No such row in that chart"); return; } MHE(source, client, "Chart row deleted"); return; } }
public void setchartdesc(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { string finalStr = ""; int pos = 0; foreach (string s in additionalArgs) { if (pos == 0) { continue; } else { finalStr += s + " "; } pos++; } if (finalStr.EndsWith(" ")) { finalStr = finalStr.TrimEnd(' '); } if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); pos = ChartMemory.Instance.Charts.IndexOf(v); v.ChartDescription = finalStr; ChartMemory.Instance.Charts[pos] = v; ChartMemory.SaveToFile(); MHE(source, client, "Chart description has been set"); } else { MHE(source, client, "No such chart"); } }
public void addChartRow(UUID client, int level, string[] additionalArgs, Destinations source, UUID agentKey, string agentName) { if (ChartMemory.HasChart(additionalArgs[0])) { Chart v = ChartMemory.GetNamedChart(additionalArgs[0]); int index = ChartMemory.Instance.Charts.IndexOf(v); ChartRow row = new ChartRow(); row.Label = ""; row.Mask = Convert.ToInt32(additionalArgs[1]); int masterIndex; bool hasIndex = int.TryParse(additionalArgs[2], out masterIndex); void getRowLabel() { row.Label = ""; if (hasIndex) { // the label is at 3 and above for (int i = 3; i < additionalArgs.Length; i++) { row.Label += additionalArgs[i] + " "; } if (row.Label.EndsWith(" ")) { row.Label = row.Label.TrimEnd(' '); } } else { // the label is at 2 and above for (int i = 2; i < additionalArgs.Length; i++) { row.Label += additionalArgs[i] + " "; } if (row.Label.EndsWith(" ")) { row.Label = row.Label.TrimEnd(' '); } } } getRowLabel(); if (v.RowData.Where(x => x.Label == row.Label).Count() > 0) { MHE(source, client, "A chart row with that label already exists."); return; } else { // index optional if (hasIndex) { v.RowData.Insert(masterIndex, row); ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); } else { // row label might start at 2 instead, but we only add anyway getRowLabel(); v.RowData.Add(row); ChartMemory.Instance.Charts[index] = v; ChartMemory.SaveToFile(); } } MHE(source, client, "Chart row added"); return; } }