Reinified

UserM

Jun 17th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- USER MANAGER 2.1. DATABASE FILE AT C:/database
  2. -- Thanks lots to "danielsv03" for helping me do this stuff.
  3.  
  4. -- Get database file and contents
  5. if fs.exists("database") then
  6. local hPeople = fs.open("database", "r")
  7. local persols = hPeople.readAll()
  8. hPeople.close()
  9. local persons = textutils.unserialize(persols)
  10.  
  11. -- UserM.list()
  12. function list()
  13. for k,v in pairs(persons) do
  14. if v.rank == "Teacher" then
  15. print(v.name.." = Teacher")
  16. elseif v.rank == "Student" then
  17. print(v.name.." = Student")
  18. else
  19. print(v.name.." = "..v.rank)
  20. end
  21. end
  22. end
  23.  
  24. -- UserM.getRank(<Name>)
  25. function getRank( sArgs )
  26.   if sArgs == nil then
  27.     return nil
  28. else
  29.   for k,v in pairs(persons) do
  30.     if v.name == sArgs then
  31.       return v.rank
  32. end
  33. end
  34. print("Person does not exist.")
  35. end
  36. end
  37.  
  38. -- UserM.getPermLevel(<Name>)
  39. function getPermLevel( sArgs )
  40.   if sArgs == nil then
  41.     return nil
  42. else
  43.   for k,v in pairs(persons) do
  44.     if v.name == sArgs then
  45.     return v.PermLevel
  46. end
  47. end
  48. print("Person does not exist.")
  49. end
  50. end
  51.  
  52. -- UserM.setPermLevel(<Name>, <PermLevel>)
  53. function setPermLevel( sArgs, nArgs )
  54. if sArgs == nil then
  55.     return nil
  56. else
  57.   for k,v in pairs(persons) do
  58.     if v.name == sArgs then
  59.       v.PermLevel = nArgs
  60.       return true
  61. end
  62. end
  63. print("Person does not exist.")
  64. end
  65. end
  66.  
  67. -- UserM.userInfo(<Name>)
  68. function userInfo( sArgs )
  69. if sArgs == nil then
  70.   return nil
  71. else
  72.   for k,v in pairs(persons) do
  73.     if v.name == sArgs then
  74.       return v.name, v.rank, v.PermLevel
  75. end
  76. end
  77. print("Person does not exist.")
  78. end
  79. end
  80.  
  81. -- UserM.setUserName(<OldName>, <NewName>)
  82. function setUserName( sArg, sArgs)
  83. if sArg == nil then
  84.   return nil
  85. else
  86.   for k,v in pairs(persons) do
  87.     if v.name == sArg then
  88.       v.name = sArgs
  89.       return true
  90. end
  91. end
  92. print("Person does not exist.")
  93. end
  94. end
  95.  
  96. -- UserM.setRank(<Name>, <Rank>)
  97. function setRank( sArg, sArgs)
  98. if sArg == nil then
  99.   return nil
  100. else
  101.   for k,v in pairs(persons) do
  102.     if v.name == sArg then
  103.       v.rank = sArgs
  104.       return true
  105. end
  106. end
  107. print("Person does not exist.")
  108. end
  109. end
  110.  
  111. -- UserM.save() (ADDED IN 2.1)
  112. function save()
  113.   local persols = textutils.serialize(persons)
  114.   local hWrite = fs.open("database", "w")
  115.   hWrite.write(persols)
  116.   hWrite.close()
  117.   return true
  118. end
  119. else
  120. shell.run("pastebin get NJHfssa9 database")
  121. print("Downloaded example database file. Feel free to edit it!")
  122. shell.run(shell.getRunningProgram())
  123. end
Advertisement
Add Comment
Please, Sign In to add comment