summaryrefslogtreecommitdiffstats
path: root/vmail-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'vmail-model.lua')
-rw-r--r--vmail-model.lua43
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