Advertisement
Streetboy_xD

File Transfer Server - TekkitLite

May 1st, 2016
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.71 KB | None | 0 0
  1. -- Extras
  2.  
  3. fs.makeDir("Programs")
  4. fs.makeDir("User")
  5. fs.makeDir("Backup")
  6.  
  7. -- Variablen
  8.  
  9. modemPresent = false;
  10. editText = false;
  11.  
  12. bColor = colors.white;
  13. btColor = colors.gray;
  14. htColor = colors.lightGray;
  15. hColor = colors.gray;
  16.  
  17. language = "$GER";
  18.  
  19. password = {}
  20. allowedPC = {}
  21.  
  22. resetPC = 2
  23.  
  24. os.pullEvent = os.pullEventRaw
  25.  
  26. tekkitLite = {
  27. "top",
  28. "bottom",
  29. "left",
  30. "right",
  31. "front",
  32. "back"
  33. }
  34.  
  35. -- Funktionen
  36.  
  37. function bin(program)
  38.  
  39. if fs.exists("Programs/"..program) and program ~= "" then
  40.  
  41. fs.delete("Programs/"..program)
  42. file = fs.open("DateiListe","r")
  43. data = file.readAll()
  44. file.close()
  45.  
  46. firstpart = string.sub(data, 1, string.find(data.."",program) -1)
  47. secondpart = string.sub(data, string.find(data.."",program..";") + string.len(program..";"), -1)
  48.  
  49. file = fs.open("DateiListe","w")
  50. file.write(firstpart..secondpart)
  51. file.close()
  52.  
  53. return translate("$DELETED", language)
  54.  
  55. else
  56.  
  57. return translate("$NOT_EXIST", language)
  58.  
  59. end
  60.  
  61. end
  62.  
  63. function download(program, sender)
  64.  
  65. if fs.exists("Programs/"..program) and program ~= "" then
  66. downloading = fs.open("Programs/"..program,"r")
  67. file = downloading.readAll()
  68. downloading.close()
  69. else
  70. rednet.send(sender,translate("$ERROR_EXIST", language))
  71. end
  72.  
  73. return file
  74.  
  75. end
  76.  
  77. function upload(programname,programcode)
  78.  
  79. if not fs.exists("Programs/"..programname) then
  80.  
  81. uploading = fs.open("Programs/"..programname,"w")
  82. uploading.write(programcode)
  83. uploading.close()
  84.  
  85. backup = fs.open("Backup/"..programname,"w")
  86. backup.write(programcode)
  87. backup.close()
  88.  
  89. ergebnis = programname.." "..translate("$UPLOADED", language)
  90.  
  91. else
  92.  
  93. ergebnis = translate("$ALREADY_EXIST", language)
  94.  
  95. end
  96.  
  97. return ergebnis
  98.  
  99. end
  100.  
  101. function addlist(eintrag)
  102.  
  103. if fs.exists("DateiListe") then
  104. list = fs.open("DateiListe","a")
  105. list.write(eintrag..";")
  106. list.close()
  107. else
  108. list = fs.open("DateiListe","w")
  109. list.write(eintrag..";")
  110. list.close()
  111. end
  112.  
  113. end
  114.  
  115. function readlist()
  116.  
  117. if fs.exists("DateiListe") then
  118. list = fs.open("DateiListe","r")
  119. readedList = list.readAll()
  120. list.close()
  121.  
  122. return readedList
  123. else
  124. return translate("$NO_LIST_YET", language)
  125. end
  126.  
  127. end
  128.  
  129. function savePasswords()
  130.  
  131. file = fs.open("User/passwords","w")
  132. file.write(textutils.serialize(password))
  133. file.close()
  134.  
  135. end
  136.  
  137. function loadPasswords()
  138.  
  139. if fs.exists("User/passwords") then
  140.  
  141. file = fs.open("User/passwords","r")
  142. tempPassword = file.readAll()
  143. password = textutils.unserialize(tempPassword)
  144. file.close()
  145.  
  146. end
  147.  
  148. end
  149.  
  150. function downloadUser(program, user)
  151.  
  152. downloading = fs.open("User/"..user.."/"..program,"r")
  153. file = downloading.readAll()
  154. downloading.close()
  155.  
  156. return file
  157.  
  158. end
  159.  
  160. function uploadUser(programname,programcode,user)
  161.  
  162. if not fs.exists("User/"..user.."/"..programname) then
  163.  
  164. uploading = fs.open("User/"..user.."/"..programname,"w")
  165. uploading.write(programcode)
  166. uploading.close()
  167.  
  168. ergebnis = programname.." "..translate("$DOWNLOADED", language)
  169.  
  170. else
  171.  
  172. ergebnis = translate("$ALREADY_EXIST", language)
  173.  
  174. end
  175.  
  176. return ergebnis
  177.  
  178. end
  179.  
  180. function binUser(program, user)
  181.  
  182. if fs.exists("User/"..user.."/"..program) and program ~= "" then
  183.  
  184. fs.delete("User/"..user.."/"..program)
  185.  
  186. return translate("$DELETED", language)
  187.  
  188. else
  189.  
  190. return translate("$NOT_EXIST", language)
  191.  
  192. end
  193.  
  194. end
  195.  
  196. function readUserList(user)
  197.  
  198. if fs.exists("User/"..user) then
  199.  
  200. local list = fs.list("User/"..user.."/")
  201.  
  202. local newProgs = ""
  203.  
  204. for i,v in pairs(list) do
  205.  
  206. newProgs = newProgs..v..";"
  207.  
  208. end
  209.  
  210. return newProgs
  211.  
  212. end
  213.  
  214. end
  215.  
  216. function getUserFromID(cID)
  217.  
  218. for i,v in pairs(allowedPC) do
  219.  
  220. if tostring(cID) == string.sub(v, 1, string.find(v, ";") - 1) then
  221.  
  222. return string.sub(v, string.find(v, ";") + 1, -1);
  223.  
  224. end
  225.  
  226. end
  227.  
  228. end
  229.  
  230. function checkID(cID)
  231.  
  232. for i,v in pairs(allowedPC) do
  233.  
  234. if tostring(cID) == string.sub(v, 1, string.find(v, ";") - 1) then
  235.  
  236. return true;
  237.  
  238. else
  239.  
  240. return false;
  241.  
  242. end
  243.  
  244. end
  245.  
  246. end
  247.  
  248. function checkUser(pw, user)
  249.  
  250. local check = false
  251.  
  252. for i,v in pairs(password) do
  253.  
  254. if user == string.sub(v, 1, string.find(v, ";") - 1) then
  255.  
  256. if pw == string.sub(v, string.find(v, ";") + 1, - 1) then
  257.  
  258. check = true
  259.  
  260. end
  261.  
  262. end
  263.  
  264. end
  265.  
  266. return check, user
  267.  
  268. end
  269.  
  270. function writeLog(logString)
  271.  
  272. logFile = fs.open("log.txt", "a")
  273. logFile.writeLine(logString)
  274. logFile.close()
  275.  
  276. end
  277.  
  278. function translate(tString, lang)
  279.  
  280. translateGER = {
  281. ["$DELETED"] = "Erfolgreich geloescht!",
  282. ["$NOT_EXIST"] = "Diese Datei existiert nicht!",
  283. ["$ERROR_EXIST"] = "Error: existiert nicht!",
  284. ["$DOWNLOADED"] = "erfolgreich gedownloaded!",
  285. ["$ALREADY_EXIST"] = "Datei existiert bereits!",
  286. ["$NO_LIST_YET"] = "Keine bestehende Liste",
  287. ["$ADD_USER"] = "User hinzufuegen",
  288. ["$DELETE_USER"] = "User loeschen",
  289. ["$LOG_FILE"] = "Log-Datei",
  290. ["$GUEST"] = "Gast",
  291. ["$HAVE"] = "hat",
  292. ["$LOADED"] = "heruntergeladen",
  293. ["$UPLOADED"] = "hochgeladen",
  294. ["$DELETE"] = "geloescht",
  295. ["$GUEST_GET_LIST"] = "hat die Liste abgerufen.",
  296. ["$USER_GET_LIST"] = "hat seine Liste abgerufen.",
  297. ["$GUEST_TRY_LOGIN"] = "hat versucht sich anzumelden.",
  298. ["$USER_TRY_LOGIN"] = "hat sich angemeldet.",
  299. ["$LOGOUT"] = "hat sich abgemeldet.",
  300. ["$USERNAME"] = "Username",
  301. ["$PASSWORD"] = "Passwort",
  302. ["$USER_EXIST"] = "Benutzer besteht bereits",
  303. ["$DELETE_USER_FOLDER"] = " Ordner leeren ",
  304. ["$FOLDER_NAME"] = "Ordner Name",
  305. }
  306.  
  307. translateENG = {
  308. ["$DELETED"] = "Successfully deleted!",
  309. ["$NOT_EXIST"] = "File doesnt exist!",
  310. ["$ERROR_EXIST"] = "Error: doesn't exist!",
  311. ["$DOWNLOADED"] = "successfully downloaded!",
  312. ["$ALREADY_EXIST"] = "File already exists!",
  313. ["$NO_LIST_YET"] = "No list yet",
  314. ["$ADD_USER"] = " Add a User ",
  315. ["$DELETE_USER"] = "Delete a User",
  316. ["$LOG_FILE"] = " Log-File",
  317. ["$GUEST"] = "Guest",
  318. ["$HAVE"] = "has",
  319. ["$LOADED"] = "downloaded",
  320. ["$UPLOADED"] = "uploaded",
  321. ["$DELETE"] = "deleted",
  322. ["$GUEST_GET_LIST"] = "retrieved the list.",
  323. ["$USER_GET_LIST"] = "retrieved his list.",
  324. ["$GUEST_TRY_LOGIN"] = "tried to login.",
  325. ["$USER_TRY_LOGIN"] = "logged in.",
  326. ["$LOGOUT"] = "logged out.",
  327. ["$USERNAME"] = "Username",
  328. ["$PASSWORD"] = "Password",
  329. ["$USER_EXIST"] = "User already exist",
  330. ["$DELETE_USER_FOLDER"] = " Clear Folder ",
  331. ["$FOLDER_NAME"] = "Folder name",
  332. }
  333.  
  334. if lang == "$GER" then
  335.  
  336. return translateGER[tString]
  337.  
  338. elseif lang == "$ENG" then
  339.  
  340. return translateENG[tString]
  341.  
  342. end
  343.  
  344. end
  345.  
  346. function clearScreen()
  347.  
  348. term.setTextColor(btColor);
  349. term.setBackgroundColor(bColor);
  350. term.setCursorPos(1, 1);
  351. term.clear();
  352.  
  353. term.setTextColor(htColor);
  354. term.setBackgroundColor(hColor);
  355. term.write(" ");
  356. term.setCursorPos(1, 1);
  357. term.write("ID: #" .. os.computerID());
  358. term.setCursorPos(37, 1);
  359. term.write("Status: ");
  360. term.setTextColor(colors.red);
  361. term.write("Offline");
  362. term.setTextColor(btColor)
  363. term.setBackgroundColor(bColor)
  364. term.setCursorPos(1,19)
  365. term.write("Filetransfer 3.0 | by CCExpert")
  366. term.setBackgroundColor(colors.lightBlue);
  367. term.setTextColor(btColor);
  368. term.setCursorPos(5,4);
  369. term.write(" ");
  370. term.setCursorPos(4,5);
  371. term.write(" ");
  372. term.setCursorPos(4,6);
  373. term.write(" ".. translate("$ADD_USER", language) .." ");
  374. term.setCursorPos(4,7);
  375. term.write(" ");
  376. term.setCursorPos(5,8);
  377. term.write(" ");
  378. term.setBackgroundColor(colors.red);
  379. term.setTextColor(btColor);
  380. term.setCursorPos(5,11);
  381. term.write(" ");
  382. term.setCursorPos(4,12);
  383. term.write(" ");
  384. term.setCursorPos(4,13);
  385. term.write(" ".. translate("$LOG_FILE", language) .." ");
  386. term.setCursorPos(4,14);
  387. term.write(" ");
  388. term.setCursorPos(5,15);
  389. term.write(" ");
  390. term.setBackgroundColor(colors.yellow);
  391. term.setTextColor(btColor);
  392. term.setCursorPos(32,4);
  393. term.write(" ");
  394. term.setCursorPos(31,5);
  395. term.write(" ");
  396. term.setCursorPos(31,6);
  397. term.write(" ".. translate("$DELETE_USER", language) .." ");
  398. term.setCursorPos(31,7);
  399. term.write(" ");
  400. term.setCursorPos(32,8);
  401. term.write(" ");
  402. term.setBackgroundColor(colors.orange);
  403. term.setTextColor(btColor);
  404. term.setCursorPos(32,11);
  405. term.write(" ");
  406. term.setCursorPos(31,12);
  407. term.write(" ");
  408. term.setCursorPos(31,13);
  409. term.write(" ".. translate("$DELETE_USER_FOLDER", language) .." ");
  410. term.setCursorPos(31,14);
  411. term.write(" ");
  412. term.setCursorPos(32,15);
  413. term.write(" ");
  414.  
  415. end
  416.  
  417. -- Hauptteil
  418.  
  419. function main()
  420.  
  421. loadPasswords()
  422.  
  423. while true do
  424.  
  425. clearScreen()
  426.  
  427. a,b,c = rednet.receive()
  428.  
  429. b = tostring(b)
  430.  
  431. if string.sub(b,1,2) == "D;" then
  432.  
  433. program = string.sub(b,string.find(b.."","D;")+2,string.len(b))
  434.  
  435. if fs.exists("Programs/"..program) then
  436.  
  437. downloadfile = download(program,a)
  438.  
  439. sleep(0.25)
  440.  
  441. rednet.send(a,downloadfile)
  442.  
  443. writeLog(translate("$GUEST", language) .."(\'".. a .."\') ".. translate("$HAVE",language) .." "..program.." ".. translate("$LOADED", language) ..".")
  444.  
  445. else
  446.  
  447. rednet.send(a,translate("$ERROR_EXIST", language))
  448.  
  449. end
  450.  
  451. elseif string.sub(b,1,2) == "V;" then
  452.  
  453. program = string.sub(b,string.find(b.."","V;")+2,string.len(b))
  454.  
  455. if checkID(a) then
  456.  
  457. if fs.exists("User/"..getUserFromID(a).."/"..program) then
  458.  
  459. downloadfile = downloadUser(program, getUserFromID(a))
  460.  
  461. sleep(0.25)
  462.  
  463. rednet.send(a,downloadfile)
  464.  
  465. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$HAVE", language) .." "..program.." ".. translate("$LOADED", language) ..".")
  466.  
  467. else
  468.  
  469. rednet.send(a,translate("$ERROR_EXIST", language))
  470.  
  471. end
  472.  
  473. else
  474.  
  475. rednet.send(a, "Access denied")
  476.  
  477. end
  478.  
  479. elseif string.sub(b,1,2) == "L;" and b ~= "" then
  480.  
  481. ListFile = readlist()
  482. rednet.send(a,ListFile)
  483.  
  484. writeLog(translate("$GUEST", language) .."(\'".. a .."\') ".. translate("$GUEST_GET_LIST", language))
  485.  
  486. elseif string.sub(b,1,2) == "J;" and b ~= "" then
  487.  
  488. if checkID(a) then
  489.  
  490. ListFile = readUserList(getUserFromID(a))
  491. rednet.send(a,ListFile)
  492.  
  493. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$USER_GET_LIST", language))
  494.  
  495. else
  496.  
  497. rednet.send(a, "Access denied")
  498.  
  499. end
  500.  
  501. elseif string.sub(b,1,2) == "P;" and b ~= "" then
  502.  
  503. local correct = false
  504.  
  505. loadPasswords()
  506.  
  507. correct, curUser = checkUser(string.sub(b, 3, string.find(b.."", "$", 1, true) - 1), string.sub(b, string.find(b.."", "$", 1, true) + 1, -1))
  508.  
  509. if not correct then
  510.  
  511. rednet.send(a, "DENIED")
  512. writeLog(translate("$GUEST", language) .."(\'".. a .."\') ".. translate("$GUEST_TRY_LOGIN", language))
  513.  
  514. else
  515.  
  516. table.insert(allowedPC, tostring(a)..";"..curUser)
  517.  
  518. progs = fs.list("User/"..curUser.."/")
  519. local newProgs = ""
  520.  
  521. for i,v in pairs(progs) do
  522.  
  523. newProgs = v..";"
  524.  
  525. end
  526.  
  527. rednet.send(a, newProgs)
  528.  
  529. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$USER_TRY_LOGIN", language))
  530.  
  531. end
  532.  
  533. elseif string.sub(b,1,2) == "B;" and b ~= "" then
  534.  
  535. delete = bin(string.sub(b, 3, -1))
  536. rednet.send(a, delete)
  537.  
  538. writeLog(translate("$GUEST", language) .."(\'".. a .."\') ".. translate("$HAVE", language) .." ".. string.sub(b, 3, -1) .. " ".. translate("$DELETE", language) ..".")
  539.  
  540. elseif string.sub(b,1,2) == "W;" and b ~= "" then
  541.  
  542. if checkID(a) then
  543.  
  544. delete = binUser(string.sub(b, 3, -1), getUserFromID(a))
  545. rednet.send(a, delete)
  546.  
  547. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$HAVE", language) .." ".. string.sub(b, 3, -1) .." ".. translate("$DELETE", language) ..".")
  548.  
  549. else
  550.  
  551. rednet.send(a, "Access denied")
  552.  
  553. end
  554.  
  555. elseif string.sub(b,1,2) == "U;" and b ~= "" then
  556.  
  557. rawprogram = string.sub(b,string.find(b.."","U;")+2,string.len(b))
  558. programname = string.sub(rawprogram,1,string.find(rawprogram.."","$;")-1)
  559. program = string.sub(rawprogram,string.find(rawprogram.."","$;")+2,string.len(b))
  560.  
  561. if fs.exists("Programs/"..programname) then
  562.  
  563. rednet.send(a,translate("$ALREADY_EXIST", language))
  564.  
  565. else
  566.  
  567. print(programname)
  568. addlist(programname)
  569. endergebnis = upload(programname,program)
  570.  
  571. rednet.send(a,endergebnis)
  572.  
  573. writeLog(translate("$GUEST", language) .."(\'".. a .."\') ".. translate("$HAVE", language) .." ".. programname .." ".. translate("$UPLOADED", language) ..".")
  574.  
  575. end
  576.  
  577. elseif string.sub(b,1,2) == "R;" and b ~= "" then
  578.  
  579. if checkID(a) then
  580.  
  581. rawprogram = string.sub(b,string.find(b.."","R;")+2,string.len(b))
  582. programname = string.sub(rawprogram,1,string.find(rawprogram.."","$;")-1)
  583. program = string.sub(rawprogram,string.find(rawprogram.."","$;")+2,string.len(b))
  584.  
  585. if fs.exists("User/"..getUserFromID(a).."/"..programname) then
  586.  
  587. rednet.send(a,translate("$ALREADY_EXIST", language))
  588.  
  589. else
  590.  
  591. print(programname)
  592. endergebnis = uploadUser(programname,program,getUserFromID(a))
  593.  
  594. rednet.send(a,endergebnis)
  595.  
  596. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$HAVE", language) .." ".. programname .." ".. translate("$UPLOADED", language) ..".")
  597.  
  598. end
  599.  
  600. else
  601.  
  602. rednet.send(a, "Access denied")
  603.  
  604. end
  605.  
  606. elseif string.sub(b,1,2) == "I;" and b ~= "" then
  607.  
  608. if checkID(a) then
  609.  
  610. local tempPCList = textutils.serialize(allowedPC)
  611. tempPCList = textutils.unserialize(tempPCList)
  612.  
  613. for i,v in pairs(allowedPC) do
  614.  
  615. if tostring(a) == string.sub(v, 1, string.find(v, ";") - 1) then
  616.  
  617. table.remove(tempPCList, i)
  618.  
  619. end
  620.  
  621. end
  622.  
  623. writeLog(getUserFromID(a).."(\'".. a .."\') ".. translate("$LOGOUT", language))
  624.  
  625. allowedPC = tempPCList
  626.  
  627. else
  628.  
  629. rednet.send(a, "Access denied")
  630.  
  631. end
  632.  
  633. elseif a == resetPC then
  634.  
  635. if b == "$RESET" then
  636.  
  637. allowedPC = {};
  638.  
  639. end
  640.  
  641. elseif b == nil then
  642.  
  643. rednet.send(a,"Error nil!")
  644.  
  645. end
  646.  
  647. end
  648. end
  649.  
  650. function control()
  651.  
  652. while true do
  653.  
  654. event, side, x, y = os.pullEvent("mouse_click")
  655.  
  656. if event ~= "mouse_click" then
  657.  
  658. control()
  659.  
  660. end
  661.  
  662. if x >= 4 and x <= 21 and y >= 4 and y <= 8 then
  663.  
  664. editText = true;
  665.  
  666. term.setBackgroundColor(colors.lightGray);
  667. term.setTextColor(colors.white);
  668. term.setCursorPos(11,7);
  669. term.write(" ");
  670. term.setCursorPos(11,7);
  671. term.write(translate("$ADD_USER", language))
  672. term.setBackgroundColor(colors.gray);
  673. term.setCursorPos(11,8);
  674. term.write(" ");
  675. term.setCursorPos(11,9);
  676. term.write(" ");
  677. term.setCursorPos(11,10);
  678. term.write(" ".. translate("$USERNAME", language) ..": ");
  679. term.setCursorPos(11,11);
  680. term.write(" ".. translate("$PASSWORD", language) ..": ");
  681. term.setCursorPos(11,12);
  682. term.write(" ");
  683. term.setCursorPos(11,13);
  684. term.write(" ");
  685. term.setCursorPos(11,14);
  686. term.write(" ");
  687.  
  688. term.setCursorPos(14 + string.len(translate("$USERNAME", language)), 10)
  689. newUser = read()
  690.  
  691. term.setCursorPos(14 + string.len(translate("$PASSWORD", language)), 11)
  692. newPassword = read()
  693.  
  694. newAcc = newUser..";"..newPassword
  695.  
  696. local alreadyExist = false;
  697.  
  698. for i,v in pairs(password) do
  699.  
  700. if (newAcc == v) then
  701.  
  702. alreadyExist = true;
  703.  
  704. end
  705.  
  706. end
  707.  
  708. if not alreadyExist then
  709.  
  710. table.insert(password, newAcc)
  711.  
  712. fs.makeDir("User/"..newUser)
  713.  
  714. savePasswords()
  715. clearScreen()
  716.  
  717. else
  718.  
  719. term.setBackgroundColor(colors.lightGray)
  720. term.setCursorPos(11,7)
  721. term.write(translate("$USER_EXIST", language))
  722.  
  723. sleep(1)
  724.  
  725. clearScreen()
  726.  
  727. end
  728.  
  729. editText = false;
  730.  
  731. elseif x >= 31 and x <= 48 and y >= 4 and y <= 8 then
  732.  
  733. editText = true;
  734.  
  735. term.setBackgroundColor(colors.lightGray);
  736. term.setTextColor(colors.white);
  737. term.setCursorPos(11,7);
  738. term.write(" ");
  739. term.setCursorPos(11,7);
  740. term.write(translate("$DELETE_USER", language))
  741. term.setBackgroundColor(colors.gray);
  742. term.setCursorPos(11,8);
  743. term.write(" ");
  744. term.setCursorPos(11,9);
  745. term.write(" ");
  746. term.setCursorPos(11,10);
  747. term.write(" ".. translate("$USERNAME", language) ..": ");
  748. term.setCursorPos(11,11);
  749. term.write(" ");
  750. term.setCursorPos(11,12);
  751. term.write(" ");
  752. term.setCursorPos(11,13);
  753. term.write(" ");
  754.  
  755. term.setCursorPos(14 + string.len(translate("$USERNAME", language)), 10)
  756. delUser = read()
  757.  
  758. local tempPassword = {}
  759.  
  760. for i,v in pairs(password) do
  761.  
  762. table.insert(tempPassword, v)
  763.  
  764. end
  765.  
  766. for i,v in pairs(password) do
  767.  
  768. if delUser == string.sub(v, 1, string.find(v.."", ";") - 1) then
  769.  
  770. table.remove(tempPassword, i)
  771.  
  772. end
  773.  
  774. end
  775.  
  776. password = {}
  777.  
  778. for i,v in pairs(tempPassword) do
  779.  
  780. table.insert(password, v)
  781.  
  782. end
  783.  
  784. savePasswords()
  785. clearScreen()
  786.  
  787. editText = false;
  788.  
  789. elseif x >= 31 and x <= 48 and y >= 11 and y <= 15 then
  790.  
  791. editText = true;
  792.  
  793. term.setBackgroundColor(colors.lightGray);
  794. term.setTextColor(colors.white);
  795. term.setCursorPos(11,7);
  796. term.write(" ");
  797. term.setCursorPos(11,7);
  798. term.write(translate("$DELETE_USER_FOLDER", language))
  799. term.setBackgroundColor(colors.gray);
  800. term.setCursorPos(11,8);
  801. term.write(" ");
  802. term.setCursorPos(11,9);
  803. term.write(" ");
  804. term.setCursorPos(11,10);
  805. term.write(" ".. translate("$FOLDER_NAME", language) ..": ");
  806. term.setCursorPos(11,11);
  807. term.write(" Reason: ");
  808. term.setCursorPos(11,12);
  809. term.write(" ");
  810. term.setCursorPos(11,13);
  811. term.write(" ");
  812. term.setCursorPos(11,14);
  813. term.write(" ");
  814.  
  815. term.setCursorPos(14 + string.len(translate("$FOLDER_NAME", language)), 10)
  816. delFolder = read()
  817.  
  818. term.setCursorPos(20,11)
  819. reason = read()
  820.  
  821. if delFolder == "" then
  822. term.setBackgroundColor(colors.lightGray)
  823. term.setCursorPos(11,7)
  824. term.write("Error: No Path")
  825. sleep(2)
  826. else
  827.  
  828. if fs.exists("User/".. delFolder) then
  829.  
  830. progs = fs.list("User/"..delFolder)
  831.  
  832. for i,v in pairs(progs) do
  833.  
  834. fs.delete("User/"..delFolder.."/"..v);
  835.  
  836. end
  837.  
  838. end
  839.  
  840. file = fs.open("User/".. delFolder .."/Folder was cleared","w")
  841. file.write(reason)
  842. file.close()
  843.  
  844. end
  845.  
  846. clearScreen()
  847.  
  848. editText = false;
  849.  
  850. elseif x >= 4 and x <= 21 and y >= 11 and y <= 15 then
  851.  
  852. editText = true;
  853.  
  854. shell.run("edit log.txt")
  855.  
  856. clearScreen();
  857.  
  858. editText = false;
  859.  
  860. end
  861.  
  862. end
  863.  
  864. end
  865.  
  866. function checkStatus()
  867.  
  868. local checkStatus = false;
  869.  
  870. while true do
  871.  
  872. if (not editText) then
  873.  
  874. for i, side in pairs(tekkitLite) do
  875.  
  876. if (peripheral.getType(side) == "modem" and checkStatus == false) then
  877.  
  878. rednet.open(side);
  879. modemPresent = true;
  880. checkStatus = true;
  881.  
  882. end
  883.  
  884. if (peripheral.getType(side) ~= "modem" and checkStatus == false) then
  885.  
  886. modemPresent = false;
  887.  
  888. end
  889.  
  890. end
  891.  
  892. if (modemPresent) then
  893.  
  894. term.setBackgroundColor(hColor);
  895. term.setTextColor(colors.green);
  896. term.setCursorPos(45, 1);
  897. term.write("Online ");
  898.  
  899. else
  900.  
  901. term.setBackgroundColor(hColor);
  902. term.setTextColor(colors.red);
  903. term.setCursorPos(45, 1);
  904. term.write("Offline");
  905.  
  906. end
  907.  
  908. modemPresent = false;
  909. checkStatus = false;
  910.  
  911. end
  912.  
  913. sleep(2);
  914.  
  915. end
  916.  
  917. end
  918.  
  919. parallel.waitForAny(main, control, checkStatus)
  920. main()
  921.  
  922. -- Scripted by Streetboy_xD | CCExpert
  923. -- Please keep this text in the program.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement