2016-04-09 13:16:39 -04:00
|
|
|
|
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;
|
2016-07-19 21:53:26 -04:00
|
|
|
|
using ShiftUI;
|
2016-04-09 13:16:39 -04:00
|
|
|
|
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;
|
2016-07-19 21:53:26 -04:00
|
|
|
|
wbshiftnet.Document.TextContent = WebLayer.VisitSite("shiftnet://main");
|
2016-04-09 13:16:39 -04:00
|
|
|
|
txtaddress.Text = WebLayer.LastUrl;
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-19 21:53:26 -04:00
|
|
|
|
private void LinkInterceptor(object sender, Gecko.Events.GeckoNavigatingEventArgs e)
|
2016-04-09 13:16:39 -04:00
|
|
|
|
{
|
2016-07-19 21:53:26 -04:00
|
|
|
|
|
|
|
|
|
var url = e.Uri.OriginalString;
|
2016-04-09 13:16:39 -04:00
|
|
|
|
if (url != "about:blank")
|
|
|
|
|
{
|
|
|
|
|
var surl = url.Replace("http://", "shiftnet://");
|
2016-07-19 21:53:26 -04:00
|
|
|
|
wbshiftnet.Document.TextContent = WebLayer.VisitSite(surl);
|
2016-04-09 13:16:39 -04:00
|
|
|
|
txtaddress.Text = WebLayer.LastUrl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btngo_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (txtaddress.Text.ToLower().StartsWith("shiftnet://"))
|
|
|
|
|
{
|
2016-07-19 21:53:26 -04:00
|
|
|
|
wbshiftnet.Document.TextContent = WebLayer.VisitSite(txtaddress.Text);
|
2016-04-09 13:16:39 -04:00
|
|
|
|
txtaddress.Text = WebLayer.LastUrl;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2016-07-19 21:53:26 -04:00
|
|
|
|
wbshiftnet.Document.TextContent = WebLayer.VisitSite("shiftnet://not_found");
|
2016-04-09 13:16:39 -04:00
|
|
|
|
txtaddress.Text = WebLayer.LastUrl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnhome_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2016-07-19 21:53:26 -04:00
|
|
|
|
wbshiftnet.Document.TextContent = WebLayer.VisitSite("shiftnet://main");
|
2016-04-09 13:16:39 -04:00
|
|
|
|
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
|
|
|
|
|
{
|
2016-07-22 12:23:28 -04:00
|
|
|
|
string content = wc.DownloadString(url.Replace("shiftnet://", "http://releases.playshiftos.ml/shiftnet/www/"));
|
2016-04-09 13:16:39 -04:00
|
|
|
|
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.");
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-06-24 16:44:42 -04:00
|
|
|
|
catch
|
2016-04-09 13:16:39 -04:00
|
|
|
|
{
|
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|