Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[function blog()
- shell.run("srv bloggr.com")
- end]]
- function srv()
- modem = peripheral.wrap("top")
- modem.open(21215)
- modem.open(5246)
- while true do
- e,s,fc,rc,msg,dist = os.pullEvent("modem_message")
- if fc == 5246 and rc == 1111 then
- msg = textutils.unserialize(msg)
- if msg[5] then
- if msg[5] == "NPOST" and fs.exists("disk/blogs/"..msg[3]) then
- tle = msg[1]
- pst = msg[2]
- blogName = msg[3]
- bPass = msg[4]
- cPs = fs.open("disk/blogs/"..blogName.."pass","r")
- cPass = cPs.readAll()
- cPs.close()
- if bPass == cPass then
- oB = fs.open("disk/blogs/"..blogName,"r")
- oBlog = oB.readAll()
- oB.close()
- fPosts = fs.open("disk/blogs/"..blogName,"r")
- if fPosts then
- tLines = {}
- sLine = file.readLine()
- while sLine do
- table.insert(tLines,sLine)
- sLine = file.readLine()
- end
- fnpsts = loadstring(tLines[3])
- end
- tPost = nil
- tPost = {lsep(pst)}
- psts = psts +1
- uBP = fs.open("disk/blogs/"..blogName,"w")
- for c = 1, 2 do
- uBP.write(tLines[c].."\n")
- end
- uBP.write("psts = "..psts.."\n")
- uBP.write("title["..psts.."] = \""..tle.."\" \n")
- uBP.write("page["..psts.."] = {}")
- for d = 1, #tPost do
- uBP.write("page["..psts.."]["..d.."] = \""..tPost[d].."\" \n")
- end
- for e = 4, #tLines do
- uBP.write(tLines[e].."\n")
- end
- uBP.close()
- modem.transmit(5246,2222,blogName.." SUCCESS POST")
- else
- modem.transmit(5246, 2222, "Incorrect password.")
- end
- end
- end
- end
- if fc == 21215 then
- --[[log = fs.open("log","a")
- log.write(msg)
- log.close()]]
- msg = textutils.unserialize(msg)
- if msg[1] then
- if msg[1] == "NBLOG " then
- print("RECEIVED NEW BLOG REQUEST")
- bname = msg[2]
- print("BlogName: "..bname)
- if #bname >= 15 then
- modem.transmit(21215,28046,"FAILURE "..bname)
- elseif fs.exists("disk/blogs/"..bname) then
- modem.transmit(21215,28046,"TAKEN "..bname)
- else
- t = fs.open("disk/template","r")
- temp = t.readAll()
- temp = string.gsub(temp,"BLOGNAME",bname)
- t.close()
- print("Read template.")
- b = fs.open("disk/blogs/"..bname,"w")
- b.write(temp)
- b.close()
- bP = fs.open("disk/blogs/"..bname.."pass","w")
- bP.write(msg[3])
- bP.close()
- print("Created blog for "..bname)
- modem.transmit(21215,28046,"SUCCESS "..bname)
- end
- end
- end
- end
- end
- end
- srv()
- --parallel.waitForAny(blog, srv)
Advertisement
Add Comment
Please, Sign In to add comment