page = "" args = "" responseType = "200 OK" contentType = "text/html" for i in argumentsDict: argumentsDict[i] = urllib.parse.unquote(argumentsDict[i]) if "p" in argumentsDict: path = argumentsDict["p"] content_real = os.path.realpath(script_directory + "/webroot/content") filePath = os.path.realpath(script_directory + "/webroot/content/" + path) if not filePath.startswith(content_real + os.sep) and filePath != content_real: responseType = "403 Forbidden" responsecontent = b"

403 Forbidden

" contentType = "text/html" else: if "v" in argumentsDict and argumentsDict["v"] in ("new", "old"): version = argumentsDict["v"] else: version = "new" if os.path.exists(filePath): if os.path.isdir(filePath): if os.path.exists(filePath + "/" + version + "index.html"): filePath += ("/" + version + "index.html") else: filePath += "/index.html" if version == "new": page = open(script_directory + "/webroot/Templates/index.html").read() header = open(script_directory + "/webroot/Templates/header.html").read() elif version == "old": page = open(script_directory + "/webroot/Templates/oldindex.html").read() header = open(script_directory + "/webroot/Templates/oldheader.html").read() page = page.replace("", header) # Resolve session cookie and build userbar before other replacements, # as the logged-out userbar contains and itself session_token = Cookies.get("session", "") if session_token: session_status, session_user = userManagement.validate_session(session_token) else: session_status = "fail" session_user = "" if session_status == "success": pfp_base = os.path.realpath(script_directory + "/userdata/profileimages") pfp_real_gif = os.path.realpath(script_directory + "/userdata/profileimages/" + session_user + ".gif") pfp_real_jpg = os.path.realpath(script_directory + "/userdata/profileimages/" + session_user + ".jpg") if pfp_real_gif.startswith(pfp_base + os.sep) and os.path.exists(pfp_real_gif): pfp_src = "/usercontent/?p=profileimages/" + html.escape(session_user) + ".gif" elif pfp_real_jpg.startswith(pfp_base + os.sep) and os.path.exists(pfp_real_jpg): pfp_src = "/usercontent/?p=profileimages/" + html.escape(session_user) + ".jpg" else: pfp_src = "/Images/default_pfp.gif" userbar = ( '' '' '' '' '' '' ) else: userbar = ( '' '' '' '' ) page = page.replace("", userbar) content = open(filePath).read() title = content.split("Title: ")[1].split("
\n")[0] icon = content.split("Icon: ")[1].split("
\n")[0] style = content.split("Style: ")[1].split("
\n")[0] description = content.split("Description: ")[1].split("
\n")[0] author = content.split("Author: ")[1].split("
\n")[0] content = content.split("Content: \n")[1] updateddate = get_last_modified(filePath) if version == "old": style = "/styles/oldmain.css" if "theme" in argumentsDict: theme = argumentsDict["theme"] if os.path.exists(script_directory + "/webroot/styles/" + version + theme + ".css"): style = "/styles/" + version + theme + ".css" args += "theme=" + theme + "&" page = page.replace("", " selected") page = re.sub('', '', page, flags=re.DOTALL) head = "" + title + """ """ + ("" if version=="new" else "") +""" """ args += "v=" + version + "&" formargs = "" for i in argumentsDict: formargs += "" errortext = "" if "errortext" in argumentsDict: errortext = "

" + html.escape(argumentsDict["errortext"]) + "

" page = page.replace("", content) page = page.replace("", head) page = page.replace("", urllib.parse.quote(path, safe='')) page = page.replace("", args) page = page.replace("", formargs) page = page.replace("", errortext) page = page.replace("", updateddate) page = page.replace("\n", "") page = page.replace(" ", "") else: responseType = "404 Not Found" fullRequestPath = script_directory + "/webroot/404.html" page = open(fullRequestPath).read() responsecontent = page.encode() else: responseType = "301 Moved Permanently" responseHeaders += "Location: /?p=/\n".encode() page = "Redirecting...

Redirect

" responsecontent = page.encode()