diff options
author | Mika Havela <mika.havela@gmail.com> | 2009-07-09 12:16:06 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2009-07-09 12:16:06 +0000 |
commit | 480a45eaeb0c58ef05a2ea8f43f9d55c9cb95c31 (patch) | |
tree | 17ae45ba83e71ca7579941740c6e3fc0a80ffa0b | |
parent | 2df04e390768d4bb94764dd7a4db805605011624 (diff) | |
download | acf-rrdtool-480a45eaeb0c58ef05a2ea8f43f9d55c9cb95c31.tar.bz2 acf-rrdtool-480a45eaeb0c58ef05a2ea8f43f9d55c9cb95c31.tar.xz |
Prevent the user to enter a invalid filename for the graph-conffile
-rw-r--r-- | rrdtool-model.lua | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/rrdtool-model.lua b/rrdtool-model.lua index 98bd807..3feb6ba 100644 --- a/rrdtool-model.lua +++ b/rrdtool-model.lua @@ -250,14 +250,19 @@ value=--start now-3600s --end now --width 680 --height 400 --step 300 DEF... end function set_filedetails (self, filedetails, userid) - if not (string.match(filedetails.value.filename.value, "^" .. graphpath)) then - filedetails.value.filename.value = graphpath .. "/" .. string.gsub(filedetails.value.filename.value,"^.*/", "") - end - if not (string.match(filedetails.value.filename.value, "\.graph$")) then - filedetails.value.filename.value = filedetails.value.filename.value .. ".graph" - end + if filedetails.value.filename.value and (#filedetails.value.filename.value > 0) and not (string.match(filedetails.value.filename.value, ".*/$")) then + if not (string.match(filedetails.value.filename.value, "^" .. graphpath)) then + filedetails.value.filename.value = graphpath .. "/" .. string.gsub(filedetails.value.filename.value,"^.*/", "") + end + if not (string.match(filedetails.value.filename.value, "\.graph$")) then + filedetails.value.filename.value = filedetails.value.filename.value .. ".graph" + end - filedetails = modelfunctions.setfiledetails(filedetails, getgraphlist) + filedetails = modelfunctions.setfiledetails(filedetails, getgraphlist) + else + filedetails.errtxt = "Failed to set file" + filedetails.value.filename.errtxt = "You need to specify a valid filename!" + end filedetails.value.filesize = nil filedetails.value.mtime = nil return filedetails |