-- CraftOS+ Installer
local error = 0

fs.makeDir("code")
fs.makeDir("programs")

if fs.exists("bin/latest") == true then
 file = fs.open("bin/latest", "r")
 text = file.readLine()
 file.close()
 if text == "true" then
  version = "latest"
 end
else
 version = "recommended"
end
rootFolder = "https://raw.github.com/Sirharry0077/ComputerCraft/master/"..version.."/"
		
function download(url, path)
 http.request(url)
 local requesting = true
 while requesting do
  local event, url, sourceText = os.pullEvent()
  if event == "http_success" then
   local respondedText = sourceText.readAll()
   requesting = false
   getFile = http.get(url)
   text = getFile.readAll()
   getFile.close()
   file = fs.open(path, "w")
   file.write(text)
   file.close()
   success = true
  elseif event == "http_failure" then
   requesting = false
   success = false
  end
 end
end

local function openRednet()
 x = 1
 repeat
  if x == 1 then
   side = "right"
  elseif x == 2 then
   side = "left"
  elseif x == 3 then
   side = "top"
  elseif x == 4 then
   side = "bottom"
  elseif x == 5 then
   side = "back"
  end
  if rednet.isOpen(side) == nil then
   rednet.open(side)
  end
  x = x + 1
 until x == 6
end

openRednet()
shell.run("clear")
print("CraftOS+ Updater/Installer")
print("--------------------------")
if version == "latest" then
 print("Latest Version Download Active")
end
print("Press ENTER To Proceed")
read()
x = 1
error = 0
errors = "PLACEHOLDER"
repeat
 if x == 1 then
  program = "Startup"
  location = "startup"
 elseif x == 2 then
  program = "Server"
  location = "server"
 elseif x == 3 then
  program = "Firewolf"
  location = "firewolf"
 elseif x == 4 then
  program = "Help"
  location = "help"
 elseif x == 5 then
  program = "Download"
  location = "code/download"
 elseif x == 6 then
  program = "Stop"
  location = "code/stop"
 elseif x == 7 then
  program = "Test Connection"
  location = "code/testconnection"
 elseif x == 8 then
  program = "Upload"
  location = "code/upload"
 elseif x == 9 then
  program = "Auth"
  location = "programs/auth"
 elseif x == 10 then
  program = "Changelog"
  location = "programs/changelog"
 elseif x == 11 then
  program = "Help1"
  location = "programs/help"
 elseif x == 12 then
  program = "Help2"
  location = "programs/help2"
 elseif x == 13 then
  program = "Server Install"
  location = "programs/serverinstall"
 elseif x == 14 then
  program = "Version"
  location = "programs/version"
 end

 url1 = rootFolder..location
 
 download(url1, location)

 x = x + 1
until x == 15

if error == 0 or error > 1 then
 errors = " Errors."
elseif x == 1 then
 erros = " Error."
end

print("Installation Complete With ", error, errors)
print("If There Was Any Errors, Please Restart The Installer.")
print("Press ENTER To Continue.")
read()