diff options
-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 |