func Pages.Account(ctx)
{
var name = ctx.QueryParams.TryGetFirst("name");
if(TypeOf(name) != "String") name = "";
var active = DB.LoginButton(ctx,false,name);
var pages = [
{
active = false,
route = "/packages",
text = "Packages"
},
{
active = false,
route = "/upload",
text = "Upload"
},
active
];
var user = DB.GetAccountInfo(name);
var motto_ta = TypeOf(user.motto) == "String" ? user.motto : "";
//var motto=Net.Http.HtmlEncode(motto_ta).Replace("\r","").Replace("\n","
");
var motto = "";
if(!active.active)
{
var builder = "";
func flush()
{
if(builder.Length > 0)
{
if(builder.StartsWith("http://") || builder.StartsWith("https://") || builder.StartsWith("ftp://") || builder.StartsWith("ftps://") || builder.StartsWith("magnet:"))
{
motto += {builder};
}
else if(builder.StartsWith("mailto:"))
{
motto += {builder.Substring(7)};
}
else if(builder.StartsWith("tel:"))
{
motto += {builder.Substring(4)};
}
else
{
motto += Net.Http.HtmlEncode(builder);
}
builder="";
}
}
each(var item : motto_ta)
{
switch(item)
{
case ' ':
flush();
motto += " ";
break;
case '\n':
flush();
motto += "
";
break;
case '\t':
flush();
motto+= "&tab;";
break;
case '\r':
flush();
break;
default:
builder += item;
break;
}
}
flush();
}
var html =