webmcp
view framework/env/encode/file_path_element.lua @ 2:72860d232f32
Version 1.0.2
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
author | jbe/bsw |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 9fdfb27f8e67 |
children |
line source
1 --[[--
2 encoded_path_element = -- string which can't contain evil stuff like "/"
3 encode.file_path_element(
4 path_element -- string to be encoded
5 )
7 This function is encoding a string in a way that it can be used as a file or directory name, without security risks. See the source for details.
9 --]]--
11 function encode.file_path_element(path_element)
12 return (
13 string.gsub(
14 string.gsub(
15 path_element, "[^0-9A-Za-z_%.-]",
16 function(char)
17 return string.format("%%%02x", string.byte(char))
18 end
19 ), "^%.", string.format("%%%%%02x", string.byte("."))
20 )
21 )
22 end