Alyssa

Bloggr

Nov 4th, 2014
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.99 KB | None | 0 0
  1. --[[function blog()
  2.   shell.run("srv bloggr.com")
  3. end]]
  4.  
  5. function srv()
  6.   modem = peripheral.wrap("top")
  7.   modem.open(21215)
  8.   modem.open(5246)
  9.   while true do
  10.     e,s,fc,rc,msg,dist = os.pullEvent("modem_message")
  11.     if fc == 5246 and rc == 1111 then
  12.       msg = textutils.unserialize(msg)
  13.       if msg[5] then
  14.         if msg[5] == "NPOST" and fs.exists("disk/blogs/"..msg[3]) then
  15.           tle = msg[1]
  16.           pst = msg[2]
  17.           blogName = msg[3]
  18.           bPass = msg[4]
  19.           cPs = fs.open("disk/blogs/"..blogName.."pass","r")
  20.           cPass = cPs.readAll()
  21.           cPs.close()
  22.           if bPass == cPass then
  23.             oB = fs.open("disk/blogs/"..blogName,"r")
  24.             oBlog = oB.readAll()
  25.             oB.close()
  26.             fPosts = fs.open("disk/blogs/"..blogName,"r")
  27.             if fPosts then
  28.               tLines = {}
  29.               sLine = file.readLine()
  30.               while sLine do
  31.                table.insert(tLines,sLine)
  32.                sLine = file.readLine()
  33.               end
  34.               fnpsts = loadstring(tLines[3])
  35.             end
  36.             tPost = nil
  37.             tPost = {lsep(pst)}
  38.             psts = psts +1
  39.             uBP = fs.open("disk/blogs/"..blogName,"w")
  40.             for c = 1, 2 do
  41.              uBP.write(tLines[c].."\n")
  42.             end
  43.             uBP.write("psts = "..psts.."\n")
  44.             uBP.write("title["..psts.."] = \""..tle.."\" \n")
  45.             uBP.write("page["..psts.."] = {}")
  46.             for d = 1, #tPost do
  47.               uBP.write("page["..psts.."]["..d.."] = \""..tPost[d].."\" \n")
  48.             end
  49.             for e = 4, #tLines do
  50.               uBP.write(tLines[e].."\n")
  51.             end
  52.             uBP.close()
  53.             modem.transmit(5246,2222,blogName.." SUCCESS POST")
  54.           else
  55.             modem.transmit(5246, 2222, "Incorrect password.")
  56.           end
  57.         end
  58.       end
  59.     end
  60.     if fc == 21215 then
  61.       --[[log = fs.open("log","a")
  62.       log.write(msg)
  63.       log.close()]]
  64.       msg = textutils.unserialize(msg)
  65.       if msg[1] then
  66.        if msg[1] == "NBLOG " then
  67.          print("RECEIVED NEW BLOG REQUEST")
  68.          bname = msg[2]
  69.          print("BlogName: "..bname)
  70.          if #bname >= 15 then
  71.            modem.transmit(21215,28046,"FAILURE "..bname)
  72.          elseif fs.exists("disk/blogs/"..bname) then
  73.            modem.transmit(21215,28046,"TAKEN "..bname)
  74.          else
  75.            t = fs.open("disk/template","r")
  76.            temp = t.readAll()
  77.            temp = string.gsub(temp,"BLOGNAME",bname)
  78.            t.close()
  79.            print("Read template.")
  80.            b = fs.open("disk/blogs/"..bname,"w")
  81.            b.write(temp)
  82.            b.close()
  83.            bP = fs.open("disk/blogs/"..bname.."pass","w")
  84.            bP.write(msg[3])
  85.            bP.close()
  86.            print("Created blog for "..bname)
  87.            modem.transmit(21215,28046,"SUCCESS "..bname)
  88.          end
  89.       end
  90.      end
  91.    end
  92.   end
  93. end
  94.  
  95. srv()
  96. --parallel.waitForAny(blog, srv)
Advertisement
Add Comment
Please, Sign In to add comment