diff options
Diffstat (limited to 'vmail-model.lua')
-rw-r--r-- | vmail-model.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/vmail-model.lua b/vmail-model.lua index bab4484..e818a7f 100644 --- a/vmail-model.lua +++ b/vmail-model.lua @@ -695,6 +695,49 @@ mymodule.set_delete_user = function(self, deleterequest) return deleterequest end +mymodule.get_bunchsettings = function (self) + local bunch = cfe({ name="list", label="List", type="longtext", descr="Each line will be seen as a new extension. To separate fields make use of colons. Follow the formmat:\n\nExtension:Name:Lastname:Password"}) + + return cfe({ type="group", value={bunch=bunch}, label="Voicemail Users List" }) +end + +mymodule.set_bunchsettings = function (self, clientdata) + local connected = databaseconnect() + local nExts = {} + tFile = assert(io.tmpfile()) + tFile:write(clientdata.value.bunch.value) + tFile:seek("set",0) + + for line in tFile:lines() do + for ext, fname, lname, pass in string.gmatch(line, "(%w+):(%w+):(%w+):(%w+)") do + nExts.username = ext or nil + nExts.firstname = fname or nil + nExts.lastname = lname or nil + nExts.password = pass or nil + + sql = "INSERT INTO voicemail_users VALUES(null, '"..escape(nExts.username).."')" + runsqlcommand(sql) + + sql = "SELECT uid FROM voicemail_users where username ='"..escape(nExts.username).."'"; + uid = getselectresponse(sql) + nExts.uid = uid[1].uid or nil + + sql = "INSERT INTO voicemail_values VALUES('"..uid[1].uid.."', '2', '"..escape(tostring(nExts.firstname)).."')" + runsqlcommand(sql) + + sql = "INSERT INTO voicemail_values VALUES('"..uid[1].uid.."', '3', '"..escape(tostring(nExts.lastname)).."')" + runsqlcommand(sql) + + sql = "INSERT INTO voicemail_prefs (username, domain, password) VALUES ('"..escape(nExts.username).."', '"..config.domain.."', '"..escape(nExts.password).."')" + runsqlcommand(sql) + end + end + + if connected then databasedisconnect() end + + return clientdata +end + mymodule.get_usersettings = function(self, clientdata) local retval = {} local errtxt |