From adaa45a7db431c4fbad524957ecd9eb3d509000d Mon Sep 17 00:00:00 2001 From: Ale32bit Date: Sat, 30 Jul 2016 19:23:40 +0200 Subject: [PATCH] Delete sPhone --- src/sPhone | 851 ----------------------------------------------------- 1 file changed, 851 deletions(-) delete mode 100644 src/sPhone diff --git a/src/sPhone b/src/sPhone deleted file mode 100644 index 315433c..0000000 --- a/src/sPhone +++ /dev/null @@ -1,851 +0,0 @@ -local function kernel() - _G.sPhone = { - version = "Alpha 2.13.8", - user = "Guest", - devMode = false, - mainTerm = term.current() - } - - sPhone.theme = { --Default colors - ["header"] = colors.blue, - ["headerText"] = colors.white, - ["text"] = colors.black, - ["background"] = "", - ["backgroundColor"] = colors.white, - ["window.background"] = colors.lightBlue, - ["window.side"] = colors.blue, - ["window.button"] = colors.lightBlue, - ["window.text"] = colors.white, - } - - sPhone.defaultTheme = sPhone.theme - - if not fs.exists("/.sPhone/config/newPassword") and fs.exists("/.sPhone/.password") then - fs.move("/.sPhone/.password","/.sPhone/config/.password") - f = fs.open("/.sPhone/config/newPassword","w") - f.write("Ignore Me. I just check if the password is moved to the config folder") - f.close() - end - - if not fs.exists("/.sPhone/apis") then - fs.makeDir("/.sPhone/apis") - end - - for k, v in pairs(fs.list("/.sPhone/apis")) do - if not fs.isDir("/.sPhone/apis/"..v) then - os.loadAPI("/.sPhone/apis/"..v) - end - end - - local sPath = shell.path() - sPath = sPath..":/bin" - shell.setPath(sPath) - - if not fs.exists("/.sPhone/autorun") then - fs.makeDir("/.sPhone/autorun") - end - - term.setBackgroundColor(colors.white) - term.clear() - term.setCursorPos(1,1) - for k, v in pairs(fs.list("/.sPhone/autorun")) do - term.setTextColor(colors.black) - if not fs.isDir("/.sPhone/autorun/"..v) then - if not safemode then - local f = fs.open("/.sPhone/autorun/"..v,"r") - local script = f.readAll() - f.close() - print("Loading script "..v) - sleep(0) - local ok, err = pcall(function() setfenv(loadstring(script),getfenv())() end) - if not ok then - term.setTextColor(colors.red) - print("Script error: "..v..": "..err) - fs.move("/.sPhone/autorun/"..v, "/.sPhone/autorun/disabled/"..v) - term.setTextColor(colors.blue) - print(v.." disabled to prevent errors") - sleep(0.5) - end - else - print("Script "..v.." not loaded because Safe Mode") - sleep(0) - end - end - end - - if safemode then - _G.safemode = nil - end - - if runningOnStartup then - fs.open("/startup","r") - end - - if fs.exists("/.sPhone/config/username") then - local u = fs.open("/.sPhone/config/username","r") - sPhone.user = u.readLine() - u.close() - end - - if not fs.exists("/.sPhone/config/sPhone") then - config.write("/.sPhone/config/sPhone","devMode",false) - end - - sPhone.devMode = config.read("/.sPhone/config/sPhone","devMode") - - if sPhone.devMode then - sPhone.crash = crash - end - - _G.crash = nil - - function os.version() - return "sPhone "..sPhone.version - end - - function sPhone.getSize() - return term.getSize() - end - - local fileTheme = "/.sPhone/config/theme" - if fs.exists(fileTheme) then - sPhone.theme["header"] = config.read(fileTheme, "header") - sPhone.theme["headerText"] = config.read(fileTheme, "headerText") - sPhone.theme["text"] = config.read(fileTheme, "text") - sPhone.theme["background"] = config.read(fileTheme, "background") - sPhone.theme["backgroundColor"] = config.read(fileTheme, "backgroundColor") - sPhone.theme["window.background"] = config.read(fileTheme, "window.background") - sPhone.theme["window.side"] = config.read(fileTheme, "window.side") - sPhone.theme["window.button"] = config.read(fileTheme, "window.button") - sPhone.theme["window.text"] = config.read(fileTheme, "window.text") - else - for k, v in pairs(sPhone.theme) do - config.write(fileTheme, k, v) - end - end - - function sPhone.applyTheme(id, value) - if not value or not id then - error("bad arguement: double expected, got nil",2) - end - sPhone.theme[id] = value - config.write(fileTheme, id, value) - end - - function sPhone.getTheme(id) - if not id then - error("bad arguement: double expected, got nil",2) - end - local n = config.read(fileTheme, id) - return n - end - - local function clear() - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - end - - sPhone.forceShutdown = os.shutdown - sPhone.forceReboot = os.reboot - - function os.shutdown() - sPhone.inHome = false - os.pullEvent = os.pullEventRaw - while true do - if sPhone.doneShutdown then - clear() - w, h = term.getSize() - term.setCursorPos( (w/2)- 7, h/2) - write("Shutdown Aborted.") - sPhone.winOk("Error","Can not shutdown",colors.lightBlue,colors.red, colors.white, colors.lightBlue) - return - end - sPhone.doneShutdown = true - clear() - w, h = term.getSize() - term.setCursorPos( (w / 2) - 1, h / 2) - write(" ") - for i = 1,3 do - sleep(0.3) - write(".") - end - sleep(0.2) - sPhone.forceShutdown() - end - end - - function os.reboot() - sPhone.inHome = false - os.pullEvent = os.pullEventRaw - while true do - if sPhone.doneShutdown then - clear() - w, h = term.getSize() - term.setCursorPos( (w/2)- 7, h/2) - write("Reboot Aborted.") - sPhone.winOk("Error","Can not reboot",colors.lightBlue,colors.red, colors.white, colors.lightBlue) - return - end - sPhone.doneShutdown = true - clear() - w, h = term.getSize() - term.setCursorPos( (w / 2) - 1, h / 2) - write(" ") - for i = 1,3 do - sleep(0.3) - write(".") - end - sleep(0.2) - sPhone.forceReboot() - end - end - - function sPhone.header(title, butt) - - if not title then - title = "sPhone" - end - - local w, h = term.getSize() - paintutils.drawLine(1,1,w,1, sPhone.theme["header"]) - term.setTextColor(sPhone.theme["headerText"]) - term.setCursorPos(1,1) - write(" "..title) - term.setCursorPos(w,1) - if butt then - write(butt) - end - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - term.setCursorPos(1,3) - end - - function sPhone.menu(items, title, closeButton) - local function cprint(text) - if type(text) ~= 'table' then - text = {text} - end - - local w, h = term.getSize() - - for i=1,#text do - local x, y = term.getCursorPos() - term.setCursorPos(math.floor(w/2)-math.floor(text[i]:len()/2), y) - print(text[i]) - end - end - local function clear() - term.clear() - term.setCursorPos(1, 1) - end - - local termWidth, termHeight = term.getSize() - local drawSize = termHeight - 6 - - local function maxPages() - local itemCount = #items - local pageCount = 0 - while itemCount > 0 do - itemCount = itemCount - drawSize - pageCount = pageCount + 1 - end - return pageCount - end - - local function iif(cond, trueval, falseval) - if cond then - return trueval - else - return falseval - end - end - - local function pagedItems() - local ret = {} - for i = 1, maxPages() do - local tmp = {} - local nElements = 0 - for j = drawSize*(i-1)+1, iif(drawSize*(i+1) > #items, #items, drawSize*(i+1)) do - if nElements < drawSize then - table.insert(tmp, items[j]) - nElements = nElements + 1 - end - end - table.insert(ret, tmp) - end - return ret - end - - local selected = 1 - if start then - selected = start - end - local page = 1 - - local function redraw() - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - term.clear() - term.setCursorPos(1,1) - sPhone.header("",closeButton) - term.setCursorPos(1,3) - if not title then - title = " sPhone" - end - cprint(" "..title) - if moreTitle then - head = moreTitle - else - head = {"\n",} - if not allowNil or allowNil == true then - --head[3] = 'Terminate to cancel.' - end - end - for i=1,#head do - print(head[i]) - end - if maxPages() > 1 then - pages = "<- (page "..page.." of "..maxPages()..") ->" - print(pages) - end - for i = 1, #pagedItems()[page] do - if selected == drawSize*(page-1)+i then - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - else - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - end - term.clearLine() - cprint(iif(selected == drawSize*(page-1)+i,"","").." "..pagedItems()[page][i]) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - end - end - - local function changePage(pW) - if pW == 1 and page < maxPages() then - page = page + 1 - if selected + drawSize > #items then - selected = #items - else - selected = selected + drawSize - end - elseif pW == -1 and page > 1 then - page = page - 1 - if selected - drawSize < 1 then - selected = 1 - else - selected = selected - drawSize - end - end - end - - while true do - redraw() - local eventData = {os.pullEventRaw()} - if eventData[1] == 'mouse_click' then - if eventData[4] == 1 and eventData[3] == termWidth then - return false, 0 - elseif eventData[4] > 3 then - clear() - selected = (eventData[4]-6+((page-1)*drawSize))+1 - if selected then - return items[selected], selected - end - end - end - end -end - - function sPhone.yesNo(title, desc, hideUser) - term.setCursorBlink(false) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - local w, h = term.getSize() - paintutils.drawLine(1,1,w,1, sPhone.theme["header"]) - term.setTextColor(sPhone.theme["headerText"]) - term.setCursorPos(1,1) - if not hideUser then - if not sPhone.user then - write(" sPhone") - else - write(" "..sPhone.user) - end - end - term.setCursorPos(1,3) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - visum.align("center", " "..title, false, 3) - if desc then - visum.align("center", " "..desc,false,6) - end - paintutils.drawFilledBox(3, 16, 9, 18, colors.green) - paintutils.drawFilledBox(18, 16, 24, 18, colors.red) - term.setTextColor(colors.white) - term.setCursorPos(5,17) - term.setBackgroundColor(colors.green) - write("Yes") - term.setCursorPos(20,17) - term.setBackgroundColor(colors.red) - write("No") - while true do - local _,_,x,y = os.pullEvent("mouse_click") - if (x > 2 and y > 15) and (x < 10 and y < 19) then - return true - elseif (x > 17 and y > 15) and (x < 25 and y < 19) then - return false - end - end - end - - function sPhone.winOk(fmessage, smessage, bg, side, text, button) - if not fmessage then - fmessage = "" - end - if not smessage then - smessage = "" - end - if not bg then - bg = sPhone.theme["window.background"] - end - if not text then - text = sPhone.theme["window.text"] - end - if not button then - button = sPhone.theme["window.button"] - end - if not side then - side = sPhone.theme["window.side"] - end - term.setCursorBlink(false) - if #fmessage >= #smessage then - local w, h = term.getSize - term.setBackgroundColor(side) - paintutils.drawBox(12 - math.ceil(#fmessage / 2), 5, 15 + math.ceil(#fmessage / 2), 10, side) - term.setBackgroundColor(bg) - paintutils.drawFilledBox(13 - math.ceil(#fmessage / 2), 6, 14 + math.ceil(#fmessage / 2), 9, bg) - term.setCursorPos(14 - math.ceil(#fmessage / 2), 7) - term.setTextColor(text) - write(fmessage) - term.setCursorPos(14 - math.ceil(#smessage / 2), 8) - write(smessage) - else - local w, h = term.getSize - term.setBackgroundColor(side) - paintutils.drawBox(12 - math.ceil(#smessage / 2), 5, 15 + math.ceil(#smessage / 2), 10, side) - term.setBackgroundColor(bg) - paintutils.drawFilledBox(13 - math.ceil(#smessage / 2), 6, 14 + math.ceil(#smessage / 2), 9, bg) - term.setCursorPos(14 - math.ceil(#fmessage / 2), 7) - term.setTextColor(text) - write(fmessage) - term.setCursorPos(14 - math.ceil(#smessage / 2), 8) - write(smessage) - end - term.setCursorPos(13,10) - term.setBackgroundColor(button) - write("Ok") - while true do - local e, k, x,y = os.pullEvent() - if e == "mouse_click" then - if y == 10 then - if x == 13 or x == 14 then - return - end - end - elseif e == "key" then - if k == 28 then - return - end - end - end - end - - function sPhone.colorPicker(message, old) -- From Impulse - local current = math.log(old) / math.log(2) - -- first line is already code wizardry - local function redraw() - term.setBackgroundColour(sPhone.theme["backgroundColor"]) - term.clear() - sPhone.header(message) - term.setCursorPos(2,5) - term.setTextColor(colors.white) - term.setBackgroundColor(colors.lime) - write(" Ok ") - term.setCursorPos(7,5) - term.setTextColor(colors.white) - term.setBackgroundColor(colors.red) - write(" Cancel ") - term.setTextColor(colors.black) - term.setCursorPos(2, 3) - for i = 0, 15 do - term.setBackgroundColour(2^i) - term.write(i == current and "#" or ":") - end - end - while true do - redraw() - local ev = {os.pullEvent()} - if ev[1] == "key" and ev[2] == keys.enter then - return 2^current - elseif ev[1] == "mouse_click" then - if ev[4] == 3 and ev[3] >= 2 and ev[3] <= 17 then - current = ev[3] - 2 % 16 - elseif ev[4] == 5 and ev[3] >= 2 and ev[3] <= 6 then - return 2^current - elseif ev[4] == 5 and ev[3] >= 7 and ev[3] <= 14 then - return old - end - end - end - end - - sPhone.colourPicker = sPhone.colorPicker -- For UK - - function sPhone.run(rApp, ...) - if not fs.exists(rApp) or fs.isDir(rApp) then - sPhone.winOk("App not found") - return false - end - if sPhone.inHome then - local sPhoneWasInHome = true - sPhone.inHome = false - end - os.pullEvent = os.oldPullEvent - local ok, err = pcall(function(...) setfenv(loadfile(rApp),getfenv())(...) end, ...) - if not ok then - os.pullEvent = os.pullEventRaw - term.setBackgroundColor(colors.white) - term.setTextColor(colors.black) - term.clear() - term.setCursorPos(1,2) - visum.align("center"," "..fs.getName(rApp).." crashed",false,2) - term.setCursorPos(1,4) - print(err) - print("") - visum.align("center"," Press Any Key") - os.pullEvent("key") - end - os.pullEvent = os.pullEventRaw - if sPhoneWasInHome then - sPhone.inHome = true - end - end - - local function lChat() - clear() - sPhone.header("RedNet Chat") - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.setTextColor(sPhone.theme["text"]) - term.setCursorPos(2, 5) - if not peripheral.isPresent("back") or not peripheral.getType("back") == "modem" then - print("Modem not found") - print(" Press any key") - os.pullEvent("key") - return - end - write("Host: ") - local h = read() - term.setCursorPos(2,6) - shell.run("/rom/programs/rednet/chat", "join", h, sPhone.user) - sleep(1) - end - - local function home() - - sPhone.inHome = true - - local buttonsInHome = { - {"sPhone.header",23,1,25,1,sPhone.theme["header"],sPhone.theme["headerText"],"vvv"}, - {"sPhone.appsButton",12,20,14,20,sPhone.theme["backgroundColor"],sPhone.theme["header"],"==="}, - {"sPhone.shell",2,3,8,5,colors.black,colors.yellow," Shell",2}, - {"sPhone.lock",19,3,24,5,colors.lightGray,colors.black," Lock",2}, - {"sPhone.chat",11,3,16,5,colors.black,colors.white," Chat",2}, - {"sPhone.kst",2,7,8,9,colors.green,colors.white," Krist",2}, - {"sPhone.gps",11,7,15,9,colors.red,colors.black," GPS",2}, - {"sPhone.info",18,7,23,9,colors.lightGray,colors.black," Info",2}, - {"sPhone.store",2,11,8,13,colors.orange,colors.white," Store",2}, - } - - - local appsOnHome = { - ["sPhone.shell"] = "/.sPhone/apps/shell", - ["sPhone.sID"] = "/.sPhone/apps/system/sID", - ["sPhone.buddies"] = "/.sPhone/apps/buddies", - ["sPhone.SMS"] = "/.sPhone/apps/sms", - ["sPhone.gps"] = "/.sPhone/apps/gps", - ["sPhone.kst"] = "/.sPhone/apps/kstwallet", - ["sPhone.info"] = "/.sPhone/apps/system/info", - ["sPhone.store"] = "/.sPhone/apps/store", - ["sPhone.appsButton"] = "/.sPhone/apps/appList", - } - - if not sPhone.locked then - sPhone.lock() - if sPhone.newUpdate then - sPhone.winOk("New Update!") - end - end - if fs.exists("/.sPhone/config/resetDBNews") then - fs.delete("/.sPhone/config/resetDBNews") - end - local function drawHome() - local function box(x,y,text,bg,colorText,page) - graphics.box(x,y,x+1+#text,y+2,bg) - term.setCursorPos(x+1,y+1) - term.setTextColor(colorText) - write(text) - end - clear() - - - visum.buttons(buttonsInHome,true) - - local w, h = term.getSize() - paintutils.drawLine(1,1,w,1, sPhone.theme["header"]) - term.setTextColor(sPhone.theme["headerText"]) - visum.align("right","vvv ",false,1) - end - local function footerMenu() - sPhone.isFooterMenuOpen = true - function redraw() - drawHome() - local w, h = term.getSize() - graphics.box(1,2,w,4,sPhone.theme["header"]) - term.setTextColor(sPhone.theme["headerText"]) - term.setBackgroundColor(sPhone.theme["header"]) - visum.align("right","^^^ ",false,1) - visum.align("right", "Reboot ",false,3) - term.setCursorPos(11,3) - write("Settings") - term.setCursorPos(2,3) - write("Shutdown") - end - while true do - term.redirect(sPhone.mainTerm) - drawHome() - redraw() - local _,_,x,y = os.pullEvent("mouse_click") - if y == 3 then - if x > 1 and x < 10 then - os.shutdown() - sPhone.inHome = true - elseif x > 19 and x < 26 then - os.reboot() - sPhone.inHome = true - elseif x > 10 and x < 19 then - sPhone.inHome = false - sPhone.run("/.sPhone/apps/system/settings") - sPhone.inHome = true - drawHome() - end - elseif y == 1 then - if x < 26 and x > 22 then - sPhone.isFooterMenuOpen = false - return - end - end - end - end - local function buttonHomeLoop() - while true do - drawHome() - term.setCursorBlink(false) - local autoLockTimer = os.startTimer(10) - local id = visum.buttons(buttonsInHome) - - if id == "sPhone.header" then - footerMenu() - elseif id == "sPhone.lock" then - sPhone.inHome = false - login() - sPhone.inHome = true - elseif id == "sPhone.chat" then - sPhone.inHome = false - lChat() - sPhone.inHome = true - elseif appsOnHome[id] then - sPhone.inHome = false - sPhone.run(appsOnHome[id]) - sPhone.inHome = true - end - end - - sPhone.inHome = false - - end - - local function updateClock() - while true do - if sPhone.inHome then - term.setCursorPos(1,1) - term.setBackgroundColor(sPhone.theme["header"]) - term.setTextColor(sPhone.theme["headerText"]) - term.setCursorPos(1,1) - write(" ") - term.setCursorPos(1,1) - write(" "..textutils.formatTime(os.time(),true)) - end - sleep(0) - end - end - - parallel.waitForAll(buttonHomeLoop, updateClock) - - sPhone.inHome = false - - end - - function login() - sPhone.locked = true - if fs.exists("/.sPhone/config/.password") then - while true do - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - sPhone.header(sPhone.user) - paintutils.drawBox(7,9,20,11,sPhone.theme["window.background"]) - if sPhone.wrongPassword then - term.setTextColor(colors.red) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - visum.align("center"," Wrong Password",false,13) - end - term.setTextColor(sPhone.theme["text"]) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - visum.align("center"," Insert Password",false,7) - local loginTerm = window.create(term.native(), 8,10,12,1, true) - term.redirect(loginTerm) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - local passwordLogin = read("*") - term.redirect(sPhone.mainTerm) - local fpw = fs.open("/.sPhone/config/.password","r") - if sha256.sha256(passwordLogin) == fpw.readLine() then - sPhone.wrongPassword = false - return - else - sPhone.wrongPassword = true - end - end - else - local name - local pw - local pwr - local rServer - sPhone.firstBoot = true - while true do - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - sPhone.header("Setup") - paintutils.drawBox(7,9,20,11,sPhone.theme["window.background"]) - if sPhone.wrongPassword then - term.setTextColor(colors.red) - visum.align("center"," Wrong Password",false,13) - end - term.setTextColor(sPhone.theme["text"]) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - visum.align("center"," Insert Password",false,7) - local loginTerm = window.create(term.native(), 8,10,12,1, true) - term.redirect(loginTerm) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - local password1 = read("*") - term.redirect(sPhone.mainTerm) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - sPhone.header("Setup") - paintutils.drawBox(7,9,20,11,sPhone.theme["window.background"]) - term.setTextColor(sPhone.theme["text"]) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - visum.align("center"," Repeat",false,7) - local loginTerm = window.create(term.native(), 8,10,12,1, true) - term.redirect(loginTerm) - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - local password2 = read("*") - term.redirect(sPhone.mainTerm) - if password1 == password2 then - local f = fs.open("/.sPhone/config/.password", "w") - f.write(sha256.sha256(password1)) - f.close() - term.setTextColor(colors.lime) - visum.align("center"," Password set!",false,13) - sleep(2) - break - else - sPhone.wrongPassword = true - end - end - - local name - - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - sPhone.header("Setup") - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - term.setCursorPos(2,3) - visum.align("center","Username",false,3) - term.setCursorPos(2,5) - local newUsername = read() - local f = fs.open("/.sPhone/config/username","w") - f.write(newUsername) - f.close() - - if fs.exists("/.sPhone/config/username") then - local f = fs.open("/.sPhone/config/username","r") - name = f.readLine() - f.close() - else - name = "Guest" - end - term.setBackgroundColor(sPhone.theme["backgroundColor"]) - term.clear() - sPhone.header("Setup") - term.setCursorPos(1,1) - term.setTextColor(sPhone.theme["text"]) - sPhone.user = name - local toLabel = sPhone.user.."'s &9sPhone" - toLabel = toLabel:gsub("&", string.char(0xc2)..string.char(0xa7)) - os.setComputerLabel(toLabel) - visum.align("center"," All Set!",false,3) - visum.align("center"," Have fun with sPhone",false,5) - sleep(2) - sPhone.locked = false - sPhone.inHome = true - sPhone.firstBoot = false - return - end - end - - sPhone.lock = login - sPhone.login = login - - local newVersion = http.get("https://raw.githubusercontent.com/BeaconNet/sPhone/master/src/version").readLine() - - if newVersion ~= sPhone.version then - sPhone.newUpdate = true - else - sPhone.newUpdate = false - end - - home() - -end -if not sPhone then - kernel(...) -else - print("sPhone already started") -end \ No newline at end of file