mirror of
https://github.com/seriocomedy/ShiftOS-C-.git
synced 2025-01-23 17:32:15 +00:00
84f689b91a
It feels better to know what's responsible for what... Plus I removed some un-needed C# stuff.
111 lines
3.4 KiB
C#
111 lines
3.4 KiB
C#
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
|
|
{
|
|
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");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|