aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/Shiftnet.cs
diff options
context:
space:
mode:
Diffstat (limited to 'source/WindowsFormsApplication1/Shiftnet.cs')
-rw-r--r--source/WindowsFormsApplication1/Shiftnet.cs111
1 files changed, 111 insertions, 0 deletions
diff --git a/source/WindowsFormsApplication1/Shiftnet.cs b/source/WindowsFormsApplication1/Shiftnet.cs
new file mode 100644
index 0000000..cd334a9
--- /dev/null
+++ b/source/WindowsFormsApplication1/Shiftnet.cs
@@ -0,0 +1,111 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Net;
+
+namespace ShiftOS
+{
+ public partial class Shiftnet : Form
+ {
+ public Shiftnet()
+ {
+ InitializeComponent();
+ }
+
+ private void MainForm_Load(object sender, EventArgs e)
+ {
+ InitialSetup();
+ }
+
+ public void InitialSetup()
+ {
+ pnlcontrols.BackColor = API.CurrentSkin.titlebarcolour;
+ wbshiftnet.DocumentText = WebLayer.VisitSite("shiftnet://main");
+ txtaddress.Text = WebLayer.LastUrl;
+ }
+
+ private void LinkInterceptor(object sender, WebBrowserNavigatingEventArgs e)
+ {
+ var url = e.Url.OriginalString;
+ if (url != "about:blank")
+ {
+ var surl = url.Replace("http://", "shiftnet://");
+ wbshiftnet.DocumentText = WebLayer.VisitSite(surl);
+ txtaddress.Text = WebLayer.LastUrl;
+ }
+ }
+
+ private void btngo_Click(object sender, EventArgs e)
+ {
+ if (txtaddress.Text.ToLower().StartsWith("shiftnet://"))
+ {
+ wbshiftnet.DocumentText = WebLayer.VisitSite(txtaddress.Text);
+ txtaddress.Text = WebLayer.LastUrl;
+ }
+ else
+ {
+ wbshiftnet.DocumentText = WebLayer.VisitSite("shiftnet://not_found");
+ txtaddress.Text = WebLayer.LastUrl;
+ }
+ }
+
+ private void btnhome_Click(object sender, EventArgs e)
+ {
+ wbshiftnet.DocumentText = WebLayer.VisitSite("shiftnet://main");
+ txtaddress.Text = WebLayer.LastUrl;
+ }
+ }
+
+ public class WebLayer
+ {
+ private static string HtmlTemplate = "<html><head><title>Shiftnet Page</title><link rel=\"stylesheet\" href=\"http://playshiftos.ml/shiftnet.css\"/></head><body>#BODY#</body></html>";
+ public static string LastUrl = null;
+
+ public static string VisitSite(string url)
+ {
+ var wc = new WebClient();
+ if (url.ToLower().EndsWith(".stml") || url.ToLower().EndsWith(".rnp"))
+ {
+ try
+ {
+ string content = wc.DownloadString(url.Replace("shiftnet://", "http://www.playshiftos.ml/shiftnet/www/"));
+ if (content.StartsWith("<!STML>"))
+ {
+ LastUrl = url;
+ return HtmlTemplate.Replace("#BODY#", content.Replace("<!STML>", ""));
+ }
+ else
+ {
+ LastUrl = "shiftnet:not_found";
+
+ return HtmlTemplate.Replace("#BODY#", "That page was not found.");
+ }
+ }
+ catch (WebException ex)
+ {
+ LastUrl = "shiftnet://not_found";
+ return HtmlTemplate.Replace("#BODY#", "That page was not found.");
+ }
+ }
+ else
+ {
+ if (url.EndsWith("/"))
+ {
+ return VisitSite(url + "home.rnp");
+ }
+ else
+ {
+ return VisitSite(url + "/home.rnp");
+ }
+
+ }
+ }
+ }
+
+}