View difference between Paste ID: 5tw17Y8U and akQ2h85p
SHOW: | | - or go back to the newest paste.
1-
local persons = {
1+
-- USER MANAGER 2.1. DATABASE FILE AT C:/database
2-
          ["Alex"] = {rank = "Teacher"; PermLevel = "3"; name = "Alex"};
2+
-- Thanks lots to "danielsv03" for helping me do this stuff.
3-
          ["Paul"] = {rank = "Student"; PermLevel = "0"; name = "Paul"};
3+
4-
}
4+
-- Get database file and contents
5
if fs.exists("database") then
6-
local teachers = {}
6+
local hPeople = fs.open("database", "r")
7-
local student = {}
7+
local persols = hPeople.readAll()
8
hPeople.close()
9
local persons = textutils.unserialize(persols)
10
11-
  table.insert(teachers, k)
11+
-- UserM.list()
12-
  print(k.." = Teacher")
12+
13
for k,v in pairs(persons) do
14-
  table.insert(student, k)
14+
15-
  print(k.." = Student")
15+
print(v.name.." = Teacher")
16
elseif v.rank == "Student" then
17
print(v.name.." = Student")
18
else
19-
function getrank( sArgs )
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